


<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>DBO Forums - Depends how ammo is normally calculated</title>
<link>https://destiny.bungie.org/forum/</link>
<description>Bungie.Org talks Destiny</description>
<language>en</language>
<item>
<title>Depends how ammo is normally calculated (reply)</title>
<content:encoded><![CDATA[<p>If ammo count is modified while dead (e.g. Changing to an LMG changes from 2 rockets to 60 bullets (or 2 rockets to 1 in a different launcher) BEFORE respawn) this might work.</p>
<p>If that count isn't modified until spawn (seems likely, considering the bug is a respawn-related issue, and the fact synths don't work while dead) then we get 2 problems:<br />
1) Saving numbers wouldnt work, because of the rocket/bullet conversion<br />
2) Conventional (0-100) Percentages wouldn't work because you could game the system - Die with 4/4 Hunger of Crota rockets = 100%. then equip heavy ammo boots, and 100% is now 6. You could GAIN ammo.</p>
<p>ZackDark's way sounds good though.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54364</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54364</guid>
<pubDate>Wed, 28 Jan 2015 21:47:25 +0000</pubDate>
<category>Destiny</category><dc:creator>someotherguy</dc:creator>
</item>
<item>
<title>You&#039;re assuming the bug is a single-frame thing (reply)</title>
<content:encoded><![CDATA[<p>Well that and just about everybody's assumptions seem centered on this bug as if Destiny was solely a single player game when it isn't. I'm not entire sure that the concept of a host player still exists in Destiny but I've seen bad connections and sync issues cause all sorts of weirdness. Players' positions can jump around. Enemy AI units will sometimes blip backwards in time and repeat an action like jumping down from a ledge, firing from around an obstacle, or even dying multiple times over. I'm fairly certain I've even seen lag affect things like ammo counts where you can fire a whole magazine from your point of view but a moment later have a few bullets left.</p>
<p>Now take the heavy ammo bug with all the potential causes and imperfect solutions people have identified and try to keep things sane and in sync with two, five, or eleven other players! If an enemy's position or alive vs dead state can drift out of sync and be reset to what the various clients think is canonical then so can the amount of heavy ammo, or which sets of armor you have equipped, or which weapon you've swapped to. What happens to Cody's overly cute solution of &quot;just write down the correct number and restore it exactly when it is appropriate&quot; when a bit of lag pushes your game state back half a second? Or the other clients tell yours that you actually fired off another rocket that you didn't think you did?</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54330</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54330</guid>
<pubDate>Wed, 28 Jan 2015 20:42:17 +0000</pubDate>
<category>Destiny</category><dc:creator>Ragashingo</dc:creator>
</item>
<item>
<title>You&#039;re assuming the bug is a single-frame thing (reply)</title>
<content:encoded><![CDATA[<p>If you're right, then I don't really see any problems with your solution. However, if it takes longer than a single frame/timestep (whatever the refresh rate for user interaction is), there is a possibility of gaming the system. And, by now, we all know how they feel about gaming their game.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54316</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54316</guid>
<pubDate>Wed, 28 Jan 2015 19:42:48 +0000</pubDate>
<category>Destiny</category><dc:creator>ZackDark</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<blockquote><p>You are not understanding. </p>
</blockquote><p>I was not understanding the assumptions you were making. I was making or allowing for a greater number of scenarios.</p>
<blockquote><p>You save the value THE INSTANT BEFORE THE CHARACTER REBUILD HAPPENS. The glitch happens when the character is rebuilt on spawn. So you determine how much ammo you have the nanosecond before spawn, then restore it after spawn.</p>
</blockquote><p>You assume two things:<br />
1. That the nanosecond before spawn that the ammo count is still available. It may get wiped on death, and rebuilt on life.<br />
2. That there is no scenario where the player does not have time to change the capacity. If the capacity is no longer available after death, and doesn't get instantiated again until life, than you have anywhere between 3 seconds and an infinite time between next spawn. </p>
<blockquote><p><br />
Also, if you remove the armor in your example while you are alive, the same thing would happen. There is no problem at all with the scenario. If you have 7 ammo, and remove armor pieces that let you have that 7, or course your ammo is going to go down.</p>
</blockquote><p>That was not my example. My example was having 3 rockets with a capacity of 6. Removing armor while alive that drops your capacity to 4 should have no effect on the 3 rockets you have. If you simply use a percentage total capacity, and there exists time for the player to adjust that capacity between when the current value is no longer accessible and when the value is instantiated again, you will have a problem</p>
<p>That said, ZackDark came up with a solution based on percentage weapon capacity instead of total capacity that I can't find a way to break yet. It might involve changing the variable type (which isn't always an easy task) but functionally I don't see an issue with yet.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54312</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54312</guid>
<pubDate>Wed, 28 Jan 2015 19:33:05 +0000</pubDate>
<category>Destiny</category><dc:creator>Earendil</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<blockquote><p>If I save off &quot;50%&quot; ammo, and in death remove two armor pieces that increase my max ammo by 2, than when &quot;50%&quot; is applied upon respawn I will have 1 less rocket than expected. More concisely, I would go from 3 of 6 to 2 of 4, even though my original ammo count was within the bounds of the maximum count.</p>
</blockquote><p>You are not understanding. You save the value THE INSTANT BEFORE THE CHARACTER REBUILD HAPPENS. The glitch happens when the character is rebuilt on spawn. So you determine how much ammo you have the nanosecond before spawn, then restore it after spawn.</p>
<p>Also, if you remove the armor in your example while you are alive, the same thing would happen. There is no problem at all with the scenario. If you have 7 ammo, and remove armor pieces that let you have that 7, or course your ammo is going to go down.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54306</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54306</guid>
<pubDate>Wed, 28 Jan 2015 19:12:58 +0000</pubDate>
<category>Destiny</category><dc:creator>Cody Miller</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<blockquote><p>That way, it is stored, for example, you have 120% heavy ammo of current gun with a 150%-capable armor. You switch back to a 110%-capable armor. Since it blows the cap, your ammo is reduced to 110%. Now, I can't see anymore problems with it than this expected ammo-depletion (which is fair, imho), but I'd be glad to hear any criticism from you guys.</p>
</blockquote><p>&amp; easily done with a float.  1.0 = 100%, 1.2 120%... etc.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54301</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54301</guid>
<pubDate>Wed, 28 Jan 2015 19:00:58 +0000</pubDate>
<category>Destiny</category><dc:creator>dogcow</dc:creator>
</item>
<item>
<title>That, sir... (reply)</title>
<content:encoded><![CDATA[<p>...would work. At least I can't think of a way to break it. I'll keep sitting on it though :)</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54277</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54277</guid>
<pubDate>Wed, 28 Jan 2015 18:11:51 +0000</pubDate>
<category>Destiny</category><dc:creator>Earendil</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<p>What if they keep percentages separate from actual armor capabilities? I.e. have percentages go over 100% and have max possible percentage also stored as a separate value.</p>
<p>That way, it is stored, for example, you have 120% heavy ammo of current gun with a 150%-capable armor. You switch back to a 110%-capable armor. Since it blows the cap, your ammo is reduced to 110%. Now, I can't see anymore problems with it than this expected ammo-depletion (which is fair, imho), but I'd be glad to hear any criticism from you guys.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54265</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54265</guid>
<pubDate>Wed, 28 Jan 2015 17:55:23 +0000</pubDate>
<category>Destiny</category><dc:creator>ZackDark</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<blockquote><blockquote><p>What happens if I die, and before resurrecting I swap either my heavy weapon OR my armor?</p>
</blockquote></blockquote><blockquote><p><br />
I don't see the problem. If you are dead, and you swap armor, then the game would adjust the value as if you were alive. There would be literally no difference.</p>
</blockquote><p>I'll write it out a little bit longer.</p>
<blockquote><blockquote><p>If you simply save off a number, swapping weapons will be very broken.</p>
</blockquote></blockquote><p>If I save off the number &quot;7&quot;, then swap to a machine gun, I would expect to have more than 7 bullets. Very broken, and in a worse way than it currently is.</p>
<blockquote><blockquote><p>If you simply save a percentage, swapping armor will be very broken.</p>
</blockquote></blockquote><p>If I save off &quot;50%&quot; ammo, and in death remove two armor pieces that increase my max ammo by 2, than when &quot;50%&quot; is applied upon respawn I will have 1 less rocket than expected. More concisely, I would go from 3 of 6 to 2 of 4, even though my original ammo count was within the bounds of the maximum count.</p>
<p>We also don't know what methods are being used to save or configure this information. Good development is finding an operation that is done in multiple locations and using a single method/function for it. It could be that &quot;save ammo&quot; is used in dozens of different situations, and this bug only shows up in 3 of them. Obviously the method wasn't as multi purpose as they hoped, but they can't simply rewrite the method without breaking the 9 cases where it DOES work.</p>
<p>It really is sort of hard to understand, but it's very much like any sort of architecture. Beautiful, simple, fast architecture is also some of the most interdependent and hardest to &quot;move a wall&quot; or &quot;move a beam&quot; without having to modify lots of other pieces. It really can be like Janga, which is when a developer looks into a bug and instead of it being a one line fix they start swearing and banging their head into the desk.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54236</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54236</guid>
<pubDate>Wed, 28 Jan 2015 17:24:26 +0000</pubDate>
<category>Destiny</category><dc:creator>Earendil</dc:creator>
</item>
<item>
<title>They must be dead in some way (reply)</title>
<content:encoded><![CDATA[<p>Or in Purgatory, because ammo synths don't get applied during &quot;waiting for respawn&quot; the way they would during life. There is some state there that is different, has different parameters, and different information that makes it over to &quot;life&quot;.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54233</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54233</guid>
<pubDate>Wed, 28 Jan 2015 17:13:52 +0000</pubDate>
<category>Destiny</category><dc:creator>Earendil</dc:creator>
</item>
<item>
<title>A wise post. (reply)</title>
<content:encoded><![CDATA[- No text -]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54225</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54225</guid>
<pubDate>Wed, 28 Jan 2015 17:06:31 +0000</pubDate>
<category>Destiny</category><dc:creator>Kermit</dc:creator>
</item>
<item>
<title>+1 Yep. (reply)</title>
<content:encoded><![CDATA[- No text -]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54219</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54219</guid>
<pubDate>Wed, 28 Jan 2015 16:44:54 +0000</pubDate>
<category>Destiny</category><dc:creator>BeardFade</dc:creator>
</item>
<item>
<title>Good attempt. (reply)</title>
<content:encoded><![CDATA[<p>I have the same problem with my Hunter and using Lucky Raspberry. For some reason, and I read it on the Bungie Forum, taking my heavy ammo synths, vaulting them and then taking them back, fixed the issue for me. It was a shitty thing to discover while up against Atheon.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54218</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54218</guid>
<pubDate>Wed, 28 Jan 2015 16:43:35 +0000</pubDate>
<category>Destiny</category><dc:creator>BeardFade</dc:creator>
</item>
<item>
<title>Good attempt. (reply)</title>
<content:encoded><![CDATA[<blockquote><p>Logically, your argument is sound-ish. As previously pointed out: if (y != x) { y = x} is a functional nightmare, but I get where your going with it. Basically you're saying we need to save some parameters on death and be able to pass them into your next life. Not a crazy idea. It does suggest that the problem has to do with memory and Guardian instantiation which, frankly, is probably a pretty complex process. I think we all should have faith in Bungie that if the problem actually was simple enough to fix with something like this, then it would have been patched.</p>
<p>I would like to point out another problem with your function I'm not sure anyone has seen yet. When would this function be called? If you happened to use a heavy ammo synth while this variable is stored but before the function was called (very possible, since you would cache as much as you could to save system resources) you'd get yourself a situation where the variable saved would be 0, does not match the new variable of 100% heavy ammo, the variable would be set to the previous ammo number per your function, and then upon life you would have 0 ammo, despite taking a synth.</p>
<p>Thoughts?</p>
</blockquote><p>This already happens, actually. (If I use a heavy ammo synth when I'm dead, in the middle of a battle, it's gone when I actually respawn.)</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54202</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54202</guid>
<pubDate>Wed, 28 Jan 2015 14:56:49 +0000</pubDate>
<category>Destiny</category><dc:creator>Claude Errera</dc:creator>
</item>
<item>
<title>As a programmer, seems like a pain... (reply)</title>
<content:encoded><![CDATA[<blockquote><p>Although a part of me is curious about this because the Sunsinger can resurrect, so there can't be an immediate destroy method call on the Guardian object.</p>
</blockquote><p>As long as you're waiting for a revive you're not really gone yet - that's true for all characters, not just sunsingers. The character object's probably not destroyed/unloaded until actual death occurs, i.e. the downed player hits the respawn button (when available) or the team wipes/goes to orbit (or, oddly, enters a cutscene).</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54175</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54175</guid>
<pubDate>Wed, 28 Jan 2015 06:49:20 +0000</pubDate>
<category>Destiny</category><dc:creator>stabbim</dc:creator>
</item>
<item>
<title>Good attempt. (reply)</title>
<content:encoded><![CDATA[<p>Logically, your argument is sound-ish. As previously pointed out: if (y != x) { y = x} is a functional nightmare, but I get where your going with it. Basically you're saying we need to save some parameters on death and be able to pass them into your next life. Not a crazy idea. It does suggest that the problem has to do with memory and Guardian instantiation which, frankly, is probably a pretty complex process. I think we all should have faith in Bungie that if the problem actually was simple enough to fix with something like this, then it would have been patched.</p>
<p>I would like to point out another problem with your function I'm not sure anyone has seen yet. When would this function be called? If you happened to use a heavy ammo synth while this variable is stored but before the function was called (very possible, since you would cache as much as you could to save system resources) you'd get yourself a situation where the variable saved would be 0, does not match the new variable of 100% heavy ammo, the variable would be set to the previous ammo number per your function, and then upon life you would have 0 ammo, despite taking a synth.</p>
<p>Thoughts?</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54173</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54173</guid>
<pubDate>Wed, 28 Jan 2015 06:29:46 +0000</pubDate>
<category>Destiny</category><dc:creator>BeardFade</dc:creator>
</item>
<item>
<title>As a programmer, seems like a pain... (reply)</title>
<content:encoded><![CDATA[<p>Well surely nothing is destroyed right away anyway because most times you can be revived either by your fireteam or by random players in patrol areas.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54172</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54172</guid>
<pubDate>Wed, 28 Jan 2015 06:22:25 +0000</pubDate>
<category>Destiny</category><dc:creator>Ragashingo</dc:creator>
</item>
<item>
<title>As a programmer, seems like a pain... (reply)</title>
<content:encoded><![CDATA[<p>This sounds correct. Probably have a Guardian object or model and for whatever reason they can't store the ammo params and pass it into the new object. I wonder why they chose to destroy the Guardian on death (eliminate the current Guardian object) rather than having an `alive` param set to true or false. Although a part of me is curious about this because the Sunsinger can resurrect, so there can't be an immediate destroy method call on the Guardian object.</p>
<p>I've never coded a video game, but as a programmer, I have first hand knowledge of unexpected bugs manifesting themselves in complex systems. I <em>also</em> know that I often have to prioritize new features in our upcoming apps over fixing bugs in our apps on prod. If this is the same mode of thinking at Bungie, then I understand why this isn't fixed yet. Since this affects two of my characters, I'd like to see it fixed, but I'm not holding my breath.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54170</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54170</guid>
<pubDate>Wed, 28 Jan 2015 06:15:01 +0000</pubDate>
<category>Destiny</category><dc:creator>BeardFade</dc:creator>
</item>
<item>
<title>So, what happens if (reply)</title>
<content:encoded><![CDATA[<p>Because it'll reapply the values over it from that little temp file you said it should store. Maybe it wouldn't do that, maybe it would; it depends on how it's all set up.</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54153</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54153</guid>
<pubDate>Wed, 28 Jan 2015 02:13:55 +0000</pubDate>
<category>Destiny</category><dc:creator>RaichuKFM</dc:creator>
</item>
<item>
<title>Better Yet... (reply)</title>
<content:encoded><![CDATA[<p>&quot;Don't lose heavy ammo on death.&quot;</p>
<p>I would give all of the coins for that.</p>
<p>-Disciple</p>
]]></content:encoded>
<link>https://destiny.bungie.org/forum/index.php?id=54152</link>
<guid>https://destiny.bungie.org/forum/index.php?id=54152</guid>
<pubDate>Wed, 28 Jan 2015 02:02:58 +0000</pubDate>
<category>Destiny</category><dc:creator>DiscipleN2k</dc:creator>
</item>
</channel>
</rss>
