"Badass" Bug Infects and Kills Borderlands 2 Characters
An anonymous reader writes "BBC News claims that a feature in Borderlands 2 that can only be activated in modded XBox 360s has a bug that can cause characters to be permanently deleted when they die- even if they weren't the ones who activated the feature. 'The hidden option within the game, known as "badass" or "hardcore", is turned off by default but can be enabled by those that have modified or hacked their console. [..] When a player with an unmodded console joins a Borderlands 2 multiplayer game in which there is a character running in badass mode it too gets kicked into that mode. [..] Gamers who play alongside people who have modded their console "contract" the bug which deletes their character if they die during play.'"
Or as most people call them, bugs.
A âoefeatureâ that is not really a feature turns out to be âoebuggyâ! WOW!
News at 11, 10 Easternâ¦
If you want news from today, you have to come back tomorrow.
quick! deploy a small update to fix that!
Oh wait. there is no quick.. or small. when it comes to xbox updates.
But on the pc even the pirate version of borderlands is upto update #6 now. lol
tell us again how consoles are better... i always liked that joke. :D
It hits anyone who is in a game with anyone who has ever been exposed to it. So if player A enables it, plays with player B, and player B plays with player C, and I play with player C, I'm infected, and anyone that plays with me is also infected and a carrier.
Wasn't South Park's WoW episode like this?
My gut feeling is that the 'badass' code is probably either legacy settings they intended to include but decided not to for whatever reason, or it is a feature that they were going to unlock at some point in the future. I doubt that they included that setting specifically for moders, it's likely that moders just happened to be the ones who discovered it.
In a bit of shameless internet panhandling, I accept Litecoin Donations at Lbd2oH9QsthD1GfuUXPyka12YxvWJYnBVf
How to avoid the bug, from the Gearbox forums:
We also advise that before ceasing play, users always select "Save and Quit" from within the pause menu while their character is alive. If after the death of their character players find themselves at the main menu of Borderlands 2 instead of respawning in-game, be sure to immediately select "Continue" to resume playing as that character.
The bug only affects the Xbox version, not PS3 or PC.
Right. Which is exactly the sort of thing that engenders ill-will towards modders. "What? My character died permanently? And this could have been avoided if the modder were in jail instead of playing Borderlands? I'm going to write my Congressman!"
GP was suggesting that Microsoft is trying to generate this kind of social friction against the 1337h4x modding community.
The story is that the developers of Borderlands 2 have decided that players who mod/hack their console are a market segment worth developing for.
Talk about misguided claims. The "badass mode" discussed here is just the same as "hardcore mode" in any other game, including Diablo II and III and so on. The developers simply didn't remove all the code relating to the hardcore mode, they just didn't include it in the menus for the game. The hack involves manually toggling the hc mode on via config files, nothing else. It has absolutely nothing at all to do with developing for modded consoles.
I can think of a couple of possibilities. One, is mistaken exchange of AND/OR in an expression. I've done that one, it's hilarious and depending on the likelihood of various components of the expression, hard to find in testing (though code review might catch it -- people, have other people look at your code!) Two, some mixup in the way that a property is queried or set, so that the property is accidentally merged into the different player objects. For instance you meant to write SetForPlayerObject() but instead you wrote SetForCurrentPlayerSet() which might do something subtly different, but again, hard to find in test, especially if the bug only involves some obscure feature that's intended to be disabled (lesson #2, do not disable code, yank that shit out of there)
I'm assuming that this happens because the server is trusting client stored data. That's approximately the same as not validating ones inputs in a fill-out-form. Why in this millennium would anyone ever trust data stored on a client without validating it first? Isn't this 2012? Or is there some other way this could happen?
Some drink at the fountain of knowledge. Others just gargle.
They didn't include it.
Game programming involves a lot of seperation of policy and mechanism. Policy is the rules behind the game, things like leveling up, binding items, calculating damage, UI layout, etc. Mechanism is the tech that holds it together, things like 3d rendering, database transactions, network layer, physics simulation, particle simulation, font rendering, etc.
Generally speaking game programmers work on the mechanism side of the spectrum and game designers work on the policy side, but where they meet is determined by the individual team, generally speaking there will be a core engine handled by specialist engine programmers on the very mechanism extremity, some core systems handled by game programmers built on top of that, with policy written in a scripting language that interfaces with those. Mechanism is hard to implement and moves slowly, good game programmers will focus on making the interface for this very clean and flexable to allow policy to change rapidly while leaving the mechanism clean and undamaged. This allows the best play experience to be developed with the minimum expense of programmers (who are the only game developers who regularly get 6 figure salaries, so the fewer the better).
Programmers almost never remove mechanism, since the policies controlling them get turned on and off on an almost daily basis and a seasoned programmer will never fully trust a designer who confidently says "oh, we won't need that anymore". It is the norm to be told "hey, you know that thing we got rid of 6 months ago because testers hated it? We want it again!", so programmers just tend to leave everything in there in the assumption it will come back.
Anyway, games are shipped with maybe 1/3rd of the the functionality turned off by scripts and config as a general rule, unless you have a programmer dominated studio where the attitude is "I wrote it, it's going in". What you're seeing here, as with Hot Coffee and every time you see hidden content/functionality coming back through fan mods is just a product of standard operating practice, there is a lot of vestigial functionality lying around since code and resources in modern games are just too big for any individual to keep track of. You turn something off, make it unable to turn on and it's not there. If some idiots want to mod their consoles and screw with the game, turning stuff on and off like a trained monkey at a switchboard, well, that's pretty much what most game designers do for a living and designers still get their name on the credits, so I don't see why we can't give credit to the Hot Coffee modders for "creating" that feature from nothing.
As for this bug, I'd be more critical because it's implemented wrongly. If a modder could have turned it on, then a game designer could have switched it on, seemingly at random before shipping, since he "is an expert in game theory, emergent narritive and human machine interface, why won't anyone take me seriously as a professional?" The golden rule for programmers is to never throw sharp toys into the playpen.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem
Right. Which is exactly the sort of thing that engenders ill-will towards modders. "What? My character died permanently? And this could have been avoided if the modder were in jail instead of playing Borderlands? I'm going to write my Congressman!"
Only by people who are really, really stupid.
I see your point.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?