Thank you very much, and I apologise for replying to a 4 year old comemnt haha. I'll make sure to forward this to them!!
No worries! I hope your friend is able to get fixed up!
Thank you very much, and I apologise for replying to a 4 year old comemnt haha. I'll make sure to forward this to them!!
No worries! I hope your friend is able to get fixed up!
Hi there, I know this is an extremely old comment but I'm wondering if this has been fixed yet. A friend of mine always gets error code Bird on their warlock but no other characters. Is there any known workaround?
Phew, yeah it was a long time ago! I unfortunately don't know. Several years ago I moved over to working on AI Systems, and I don't have much visibility into that side of things anymore.
If you can convince them to do so, see if you can get your friend to hit up the BungieHelp twitter and have him PM them with the details of what happened when the error first started and a link to their profile, as well as which platform they are playing on. Hopefully they can provide some assistance!
"But hopefully once the initial couple of months go by, life will be back to a manageable pace :)"
Yeah.....our first was deceptively easy. #2 though. I havent slept a straight 8 hours in 8 years. Mwahaha.
Oy! now I'm scared! :D ha!
Hey Edgar,
Is it ok if you still drop in every once and awhile here in the subreddit?
We all really appreciate your responses, openness, and technical knowledge. You do not have to have answers to the questions people ask - we just really enjoy your contribution to our community.
Same to your former and current team members - we really really enjoy the fruits of your labors and the teams contributions.
Thanks, I've always enjoyed talking with you all as well! I'll try to do so when I can! Admittedly life's gotten a little busy too, which is part of why I haven't been around much. I'm having a kid, oy! She's almost here, another couple of weeks! But hopefully once the initial couple of months go by, life will be back to a manageable pace :)
/u/EdgarVerona any chance you could share details on how the performance improvement was achieved from a technical perspective?
Oh, I'm not on the API team anymore actually! Been working on gameplay engineering for the past few months! I'm hitting someone up to see if they can jump in on the thread and answer questions, as I would hate to give inaccurate answers (now that I'm a bit more removed from the on-the-ground situations there)
Can you pass along to the API team that we would like to be able to query boss damage per encounter via the API? This would be amazing for raid.report and dungeon.report
I don't even care if it wouldn't be retroactive, but just to be able to see it going fotward would be amazing
I'll let them know - I know that historically that's been something we haven't been able to store, but I'll pass it on!
Awesome dude! Haven't seen ya around for a bit, figured I would do a shout out to you. Glad all is well and with the new team too, always know you'll do great work.
Thank the old lead then if you can, much appreciated to them for this!
Thanks, will do! :D
I dunno if Edgar was part of this team, but since he's the only one I know of, thanks u/EdgarVerona for the API work.
Oh, I actually moved over to the gameplay engineering team a couple of months ago! The API lives on! I don't know if he has a Reddit account but my old lead worked on this fix!
Whilst we don't see you as much as the CMs, it's always great to see a comment from you as it's almost always insightful and interesting.
Thanks for taking the time to interact with us here
<3 I'm glad to be of help! Yeah, the last year or so I've been knee-deep in non-API related work, so I've been less useful out here! But glad to chat when I can :D
Appreciate the insight as always!
No prob, glad to be of help when I can be! <3 (and I always enjoy talking about the strange case of magazine size ;) )
Thanks!
If I recall correctly, API data is not always one-to-one with the game's data (though they do a great job of keeping it super accurate in my opinion).. Might just be a mistake on the API side because yes none of the perks have a magazine size reduction, just increases.
Maybe /u/EdgarVerona knows.
Yeah, there's a lot of history here, particularly with magazine size. I tried to document it for API users here:
Ultimately, in D1 when we discovered this inconsistency, we almost removed it from the API entirely: but API users wanted it retained, because it at least gave them a number they could use for general comparison. We left it in, but it does continue to be a misleading number. I don't know if it still happens in D2, but in D1 you could even ...
Read moreWhoa, super neat! I dig it!
Fix looks good. I see the change today and it appears to be ok so far. Both consoles appear for D1 as well as my cross save D2 data. I've moved a few pieces of gear just to test and it's looking good. Thanks for you and your teams hard work on this! Stay safe!
Glad it worked! You as well!
This is very intriguing. Thank you for the deeper dive into the systems underpinning this facet of the game.
No problem! Glad it is interesting, and hopefully it's helpful!
So are you treating the static elements like templates and then saving the full item's properties into a database to cut down on references, or are you linking all the base values into the instance through reference and only storing deltas in the hash?
Both approaches have their advantages and disadvantages, mainly in how affecting individual instances of items takes place. Very curious to know if you've taken an approach of de-normalization here as I have an analogous case at work that is under live development.
Oh yes, it is more like deltas - though not strictly. The two have very different schemas, and not everything in the definition has the potential to have a live data override: and many live data properties are more "derivative" than a direct overriding of a definition property. For instance, the definition has properties pertaining to how sockets are first initialized, but all that content strictly exists for initialization purposes and then ends up as a different set of data once initialized.
As far as referencing them at runtime, the game side can locate definitions quickly because on their side these definitions are in sequential arrays and referred to by index which allows for very quick retrieval of that static data on demand. The live data for a character will store instance IDs for an item, and also it essentially stores the index of that item in the definitions, at least by the time the characters inventory is pulled into memory. (There are additional complexitie...
Read moreSo we never released it, and it got fixed in the famous April update after TTK, but for a while you used to be able to do those things by loading up Destiny on both Xbox 360 and Xbox One (and I would assume ps3/4). Because everything was server side, you could sit in orbit on one system and swap gear and your in-game character on the other system would instantly do the same thing through the servers.
You could do the old Halo style guardian glitch and kill friendly players in PvE and obviously use it to instant swap exotics around in crucible etc. Oddly enough, crucible seemed to calculate “unknown origin” bullets for very little damage, so you couldn’t actually betray people unless you sat there unloading a couple of shotgun magazines into someone afk. But we just used it to troll people in patrol and raids.
Ha, I never knew about that one! That is clever!
Could you talk a little about how the actual weapon hash translates into an item? Do you dereference a static item and then perform adjustments to it based on the instance’s details?
I’m trying to understand some of the design choices made about your architecture at scale. I didn’t used to REALLY care about such things, but as I have started to work on larger projects in my professional scope, these kinds of things have mattered more to me.
Sure thing! So it depends on the situation. Some properties of an item, for instance the plugs that are initially inserted into the sockets or the "level" of the item that ends up determining things like the base power stat of a weapon etc... pull together info from the definition and sometimes random values assigned by the server when an instance of that item is created in the world, and then that resulting value gets saved off.
Other times, the truth about some property of the item lives in the definition because it doesn't change for any given instance, or requires both information from the definition and information from the live data to come up with a true value for an item. (We try to hide some of that complexity in the API because that can become excessively complicated, but for better or worse parts of the game systems are built so flexibly that if we try to hide it, a future design change could render our abstraction incorrect in a way that requires u...
Read more[deleted]
Thank you! I am glad that it has been useful to folks!
Greetings! Yes, unfortunately we have encountered issues with the D1 API with Stadia.
We're tracking it here if you would like to watch this Issue in Github! Over there, you can follow on the progress and know when the fix makes it out there. We ran into additional difficulties that are delaying the fix (the fix itself caused a different and more serious bug that has delayed us from resolving the issue), but it is on the docket:
Read moreSeriously thank you! Now I just need the time to actually do something with it. I swear every time I try to sit down and get started on something, something else comes up which needs a lot more of my time.
Thank you, again!
I totally understand how that goes! Have fun if you end up finding the time to, but no stress: it'll be here when the free time comes around!