Code Monkey home page Code Monkey logo

fabled's Introduction

Fabled - Destiny 2 Glory Tracker

This is the source code for the "Fabled - Destiny Glory Tracker" (the 2 wouldn't fit) app in the App Store.

Feedback / Support

If you've come to report a bug or otherwise provide feedback, you can do that here (requires a GitHub account).

Privacy Policy

Here you go (Spoiler: we don't do anything with your Destiny data but show it to you).

About

Fabled provides insights into a Destiny 2 player's Competitive PvP Glory Rank progress not available through the game itself. Specifically, the app focuses on tracking a player's progress to Fabled rank, which has been historically tied to seasonal pinnacle rewards within the game.

Fabled fetches the Glory history for an entered player from the Bungie.net API and displays values such as current Glory progress Rank. It also performs calculations on the data to output contextual information such as the number of games played during the current weekly reset period, the player's current win streak, the number of wins required to rank up, and the number of wins remaining to reach Fabled rank.

The motivation for the app was not simply to display information, however. I also hope that the insights inspire confidence to continue to pursue a milestone that, for many Destiny players, can often feel hopelessly distant. The "Glory at next reset" and "Wins to Fabled" insights can show a player that they're never too far away, and that small steps can help.

Early Release

Due to upcoming changes detailed in the next section, my work on this app hereto was in danger of being lost. I had completed all of the data retrieval, modeling, calculation, and testing work, leaving only UI to implement. But because of the game changes coming October 1, that was all going to go out the window.

So, rather than let that effort go to waste, I decided to release early in the hopes that Destiny players may get some value out of it before the work becomes obsolete. This required that I compromise on the UI and my UI code. Which I'm not happy about. But I think it was the right trade-off to make.

Re: Shadowkeep

Bungie recently announced that changes will be made to Glory Ranks and the way that players earn and lose Glory. We do not yet know all of the details, but the information shared thus far indicates that this app will not provide accurate information after the changes go live with the release of Shadowkeep on October 1.

As soon as the community has the specifics on the changes, I will update the app to reflect, assuming the app's purpose is still relevant. I have no idea when this will be, however, and it may take until after October 1. You can follow the open issue for progress updates.

Future Updates

I've released updates to the UI since launch that I'm much happier with, so for the moment the focus is going to be on seeing if it's possible to update for the Shadowkeep changes mentioned in the prior section.

Open Source

It was my intention from the beginning to post the source for the app, but I thought it wouldn't be until I was totally happy with it. Still, I'm not totally unhappy with it. Could be worse.

My motivation for making in public was a mix of having some real, recent code on my GitHub, since I can't open source any of my paid work, and also just because I like the spirit of open source. I think there should be more cases where people can download apps and then also go and find the code for it, even if only as a curiosity.

So I don't expect nor am I necessarily seeking anyone to contribute to Fabled. But maybe someone will find the code helpful or interesting.

Bindable Views

This project didn't start as the app. It started as me working on my Bindable Views code, just for fun. Then the app idea became an excuse to continue to build out Bindable Views in the context of a "real app". Then the app became the thing to release and Bindable Views had to take a back seat.

I never actually intended to release Bindable Views as a library for others to depend on. Similar to State, it was and still is a toy project. I would never use either in a client project. I was simply inspired by SwiftUI and started playing around with a UIKit implementation and whoops here we are.

Because of my desire to get Fabled out the door as quickly as possible, Bindable Views took some hits on coherence and responsibility -- it's due for some nerfing and rebalancing. But it has been really fun to work on and to use. And once I clean it up a bit more, I'll post it to its own repo proper.

fabled's People

Contributors

nathanhosselton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fabled's Issues

Core functionality will break October 1

This is discussed in the README, but I'm opening this issue for ongoing tracking.

Bungie released some more details about how ranks and Glory rewards/losses will work in this week's update, but it's still not enough to begin preparing for the changes in any meaningful way.

Here's the bullet points that will specifically affect this app:

  • Ranks through Fabled [just major ranks or also minor?] will act as floors, preventing down-ranks due to losses
  • Losses will not erase win streaks, simply reduce them by 1
  • Players will have "expected" ranks based on their fluid, hidden skill rating which will determine the amount of Glory they earn and lose each match

Added up, this means that our current functions for calculating Glory earned and lost at a player's current rank and win streak will need to be entirely rewritten. And those functions affect all displayed information in the app aside from raw values from the API like current Glory and rank.

Unfortunately, these functions can't begin updates until I know what the new ones are. As earned and lost Glory will now be a function not only of current rank and win streak, but also current expected rank, which itself will update regularly (if not match-to-match).

If the Bungie.net API is not updated to provide a player's current "expected" rank, I'm afraid this app may have no hope, as there will unlikely be any way for me to calculate that myself. I'll probably open a ticket at the Github repo for the API to inquire about this.

Reported "Glory at next reset" amount is incorrect at some ranks

I have been hardcoding a weekly bonus Glory value of 120 not realizing that this amount actually varies by rank (e.g. Guardian and Brave actually receive 160).

This has already been fixed in a local commit and will be pushed to the App Store ASAP. Opening this ticket purely for historical purposes.

This is separate from the issue of "Bonus Glory" being reportedly earned at ranks Mythic and higher, which after this fix is purely a UI inconsistency and will also be addressed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.