"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
Bugger.
Sounds like being forced to play Russian roulette...
-Myke
"When you die in the game, you die for real" LOL
but it's hitting unmoded boxes due to users joining others in a online game and getting a flag set on there character that is tied to unused / leftover code
Or Borderlands Transmitted Disease, i've been wary not to go screwing around with the public, shit's rough nowadays.
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.
This is so similar to The Ring, it's not even funny (the movie, not the Xbox hardware failure)
But I wouldn't be surprised if this was an attempt to go after people with modded consoles that went terribly awry.
Wasn't South Park's WoW episode like this?
Or it's for use in a later patch/expansion.
Your hair look like poop, Bob! - Wanker.
Die in the game - take a taser blast to the butt from XBox. Wonder how many "hard core" gamers would prefer that over character deletion?
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
Uhm. No. Developers usually develop stuff halfway, then some higher-up decides that it needs to be cut. So they leave in the code, but remove every way of getting to it.
They couldn't get hardcore mode working properly so they disabled it for everyone, and didn't realise that modded X-Box consoles could re-enable it.
...what? Are you serious?
The developers didn't intentionally leave in that code as a perk to console modders. Why would they reward console modders by letting them force permadeath on other people?
It's a bug, and it's one that can ruin people's fun, so they should be made aware of it. That's it.
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.
This "badass" feature sounds trivial to implement, its a take on Hardcore mode from old RPGs like Diablo. They probably put the code in then said "Wait, this is Borderlands, you will die dozens of times before you get the first skill point." so then they disabled it without actually removing it. Probably much of the same process that went into removing "Hot Coffee" section from GTA then people unlocked it with a PAR or GameShark.
This however, doesn't explain why the host can set that. You'd think it would be set up to not let a regular character into a hardcore game, but then they took it out so they probably didn't get that far.
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.
Truly badass players don't die anyway.
A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
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)
But I wouldn't be surprised if this was an attempt to go after people with modded consoles that went terribly awry.
No. It's a partially completed feature, a Hardcore mode that either wasn't finished or left to be padded out as DLC. There's some code left in the game for it, including a check to see if anyone has the mode enabled, but since it wasn't finished it just enables it.
Bit of faulty logic, easily fixed, although apparently the game outright deletes your character data upon death with the mode enabled, so if you have already been nailed by it, too bad.
The bigger question is how Microsoft let multiplayer play on hacked Xbox360s
It's generally considered that Microsoft scans the Xbox when it connects to Live, and since the Xbox can't run unsigned code, it's trusted.
With this, connecting a modded Xbox to Live is generally a good way to get console banned on your account because Microsoft detects the mods. Especially since Microsoft pushed an update recently.
Now, it could be possible to hack your savegame though and make the necessary mods to your character, causing the dormant code to be "woken up". In this case, you're running signed game code (though untested, obsolete game paths), so your Xbox is completely original, you just hacked your save game. In which case it's a developer problem...
I would guess the process was thus: feature was developed, at some point in the development cycle it was decided not to include said feature; it is far easier to just disable the portion of the software that controls the enabling or disabling of the feature than it is to actually go and remove all the code related to the feature - partly because a lot of the time someone will reverse the decision in n month's time anyway. This doesn't just apply to games, it applies to pretty much any form of software; I've had to do it countless times.
Yeah, I had a sig once; I got bored of it.
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.
As an Xbox 360 owner I have to ask, how is your Skyrim DLC going? ;-)
- "Scientia non habet inimicum nisp ignorantem"
Nethack mode?
- "Scientia non habet inimicum nisp ignorantem"
When you die, you don't get uploaded, 'cause the stupid humans have taken out the ressurection ship.
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
Like everything else in the world, Microsoft's detection isn't perfect.
Probably a feature that got cut because it sounded better on the drawing board than it did once it was tested. Game developers these days seem to be missing the point behind having player selected permanent saves and auto-saves as separate entities.
Reminds me of the bad ol' days of PSO.
At least it's a merciful death, rather than a NOL'ing.
Its like AIDS.
Once only rumored in the modded community, it can now be transmitted unknowingly by both modded and non-modded users alike.
It will result in permanent death, and currently has no known cure.
I am great-full for your insight, because I thought companies always left code in that hackers, cracker and moders could find and get those people to buy their hardware or software and that THAT was the real reason Windows made it so big and not Linux (and BSD even less).
Don't fight for your country, if your country does not fight for you.
undocumented
I really don't post here that often, but cmon guys.
Think of any other hardcore mode e.g Diablo -- hardcore players only play with hardcore players. The problem here is since it was never implemented, you don't filter out hardcore games, and can join them. When you join somoene's "hardcore" game, you too, are hardcore.
Don't play with those damn Smurfs
"watch out we got a badass here"
Best written description of software development I've seen here yet. Kudos.
so programmers just tend to leave everything in there in the assumption it will come back.
That's what source control is for. You should always pull unused code out of the codebase; you can get it back easily enough.
If it's easy to activate this mode on xbox, it's probably easier to do it on PC?
Sounds like this should have been implemented at the start. A hardcore mode would have been fun.
more of a unfound bug as hardware interlocks where in the Previous models and the software was designed so that it was realistically impossible to test it in a clean automated way.
The system noticed that something was wrong and halted the X-ray beam, but merely displayed the word "MALFUNCTION" followed by a number from 1 to 64. The user manual did not explain or even address the error codes, so the operator pressed the P key to override the warning and proceed anyway.
The older models had hardware interlocks that masked their software defects. Those hardware safeties had no way of reporting that they had been triggered, so there was no indication of the existence of faulty software commands.
Some of us have wired connections that aren't 100% reliable. For the most part, my cable modem (time warner) does fine, but due to the technology involved, it could go bad at any time for reasons outside my control. I actually lost a character when I was playing in a perma-death guild thanks to my cable-modem dropping at an inopportune time.
Your post is interesting and informative, aside from your utter dismissal of game designers as an integral part of the development process.
I am praising you with faint damnation. I think you could have written this without sounding like a smug toolbag. B+, and only because of the generalized ad hominem stuff.
People on here talk big about being able to do what they want with the system's they by, how it's no one else's business what they do once they own it and companies shouldn't try to lock things down.
Congratulations, now you're seeing why this attitude of, "I'll do what I want because it doesn't hurt anyone else" is false. Your modding your equipment has now caused others to be affected. Regardless of the fact that this is only a game, your actions are now rippling down to others (the only time trickle down works).
Getting hung by your own petard isn't much fun, is it?
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
Except Borderlands 2 doesn't use a dedicated server. One client is used as a host, the other clients connect to them. That's true for both the console and PC versions. So my unsubstantiated guess would be that for the 'infection' to be passed on, the game host has to be 'infected'. So essentially the clients getting infected are being told by the server it's a hardcore game, and to set the hardcore flag.
In all likelihood its the reason the feature was never released. It's too easy to pass it on to others who just don't understand what's happening to them when they agree to join that game.
Whether deliberate or not, this is a perfect example of a virus gene flip that results in no person being immune.
While those are both reasonable possibilities, Occam's Razor suggests that the developers simply never got around to implementing the "non-hardcore players cannot join hardcore instances" code - the way 'hardcore' is generally done in these sorts of games is that each instance is hardcore or non-hardcore, and the setting of each instance is determined by the setting of the player that instantiated it.
The bug doesn't infect you just because you played with somebody who had the bug. They have to be hosting the game, I'm almost positive. Then for you to share it with somebody else, you'd have to host the game, etc. If you don't know you have the bug, then I could see this happening.
Still, they don't even mention if the bug is "saved". I don't think it is, there's lots of local server variables you can modify on the PC by editing RAM address values (like with Cheat Engine) and you can modify all kinds of things like making the game temporarily harder and increasing the drop rate. These values are not saved to the character. That said, badass *could* be something that is saved, but the article isn't clear. Has anybody tested? I think we're jumping the gun here, assuming the worst.
GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
"Why are y'all looking at us? We would never create a bug that casts XBox 360 modders in a bad light. No sire-ee. Not us."
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".
I've worked on 5 titles so far: two yearly sports titles iterations, one novel "xtreme" sports game, one exercise title, and one FPS. Every team (excepting the two yearly sports titles ones) has been run quite differently, but I've never seen anywhere near 1/3 of the functionality of a game being "turned off" by scripts or config files. Of course there's old, inactive code sitting around; that happens on any project. That doesn't mean the code actually does anything, or is anything more than a stub, and certainly all of that code doesn't translate to anywhere near "1/3" of the game's "functionality" (never mind the portion of it that's actually accessible by script-side).
That doesn't explain why joining a hardcore game persistently sets the player's hardcore flag. Wouldn't that flag be set because the player chooses to set it, not because they joined a game that has that flag set? I really really doubt this behavior was intentional.
Oh fabulous. The days when your children cry about their games blowing up in their face and you're not allowed to cuff them and make them shut the fuck up. Bring back the ruler beatings in our schools!
Sadly, a Libertarian cannot force his views on another, and freedom cannot spread as does the cancer known as religion.
This sounds more like a virus than a bug.
So that leads me to wonder if/when the game maker will patch it to prevent further spread. After all: Some players may not want to lose their characters permanently.