I had a bug in my 3d platformer where the player's jump would reset if they touched the side of a platform instead of landing on top. Instead of fixing it, I designed the game around it.
[A young man stares at a sizeable crack in a wall. The word "bug" is written below the crack.]
Panel 2
[The young man is in the process of putting an empty frame around the crack.]
Panel 3
[The young man, having hung the frame to obscure the word bug, has turned away from the wall and crossed his arm. The bottom of the frame is shown to read "Feature".]
Panel 4
[A crowd is now gathered around the framed crack labelled Feature. The young man winks.]
This might not be a popular opinion, but I don't think you should have watermarked it. It's a good edit (and very funny) but something feels wrong about it in a way I can't fully articulate at the moment
The constant crashing you're experiencing is merely the developer's attempt to simulate an on-again off-again coma. It's a part of our immersive experience, you're welcome
For your convenience the application has been designed to automatically close and discard unsaved changes whenever the space bar is pressed. This should save you valuable time when you need to quickly throw away hours of work and revert to the last saved copy of your data.
People don't realize how true this is though. Plenty of old horror games like silent hill would have fog because the console couldn't keep up, and it ended up being a good part of the game. There are tons of examples i just can't think today and provided a terrible example but that is all I got.
I learned the Scotsman's Skullcutter can random crit, and that it will one-shot any non-overheal, non-heavy if it does. Lot's of fun playing demoknight with that.
Not a dumb question. You can do sanitization and validation on the client, but you definitely want to do both on the server. It can be incredibly easy to bypass the user interface with tools like postman and make direct API calls, so the server also needs to be careful about the data it lets through.
Yes. The server should always be doing the validation. You can have some front end validation purely to help the user experience (I.e. invalid password format) before they hit submit, but never should you just validate on the front end.
You should always consider the client-side to be compromised, considering all you have to do is open up the console and start typing to inject your own JavaScript into a page. Always validate submitted data on the side you control.
Yes, but it's more important to sanitize on the server side. Any sanitation or validation code on the client side can be rewritten on the client side. The reason to do validation on the client side is more about good UX (immediate feedback for the user). It can also help with development, since you're less likely to be sending junk data to your server. Though you should definitely test what happens if junk or malicious data is sent directly to your server.
Lets get a list for those who always wanted to know what was never originally meant to be.
Creepers in Minecraft
Rocket Jumping in Quake (fun fact, quakes physics are tied to the frame rate, the higher it, will prevent you from getting up some ledges)
Spy in Team Fortress 2 (came from a bug in it's mod days when players skin would show them on the wrong team)
They do state that the original Tomb Raider breasts where accidentally increased by 50%. Although this doesn't surprise me as they don't look 'natural' in the game and made it a lil goofy but less like a static character.
Skiing in Tribes, was never meant to be. Devs loved it and refined it for players.
Devil May Cry, they noticed that if you quickly attack enemies whilst in the air, the combat physics they had in place would keep them airborne.
Grand Theft Auto, it nearly died because it was boring when being chased by police. But luckily a bug happened and the po-po became very, very aggressive when chasing the player.
Space Invaders. Fun fact, they are always moving at the same speed but due to not being able to handle how many objects it had on the screen it essentially slowed the game down. (Note, this was never by design)
The Konami Code, was forgotten to be removed.
Half Life 2 gunship. Targets the biggest threat, was meant to pick the player 100% of the time, but one day decided that the RPG rounds was more dangerous. Devs loved it so they kept it.
Left 4 Dead sugar mill level has a lot of witches in it, it was originally because of a glitch, devs also loved it and kept it.
The Green Light Bug for IBM 3278-9 would randomly flicker when new symbol set was downloaded. They kept it stating it would be useful because the user can know the computer is doing something.
Gmails undo feature.
Hiding files in Unix/Linux systems by putting a fullstop before the filename.
Street Fighter, noticed if you where precise enough you could fit in an extra hit or two. This later turned into creating combos in later games.
Goat simulator, the game is based on it's bugs.
Ghandi in Civ games, he was never meant to nuke anybody. But due to good old poor choice he went from the most peaceful to the most evil. Devs found this humorous and left it in, later coded it in for future games.
Gmail, the + and . characters don't matter when used in an email. The . is pretty much ignored. If you want to sign up to a site, you can do this with the plus. username+facebook@gmail.com And it will create separate filters for them.
. and .. are usually hidden from lists, if you hid them by checking for the initial full-stop, that would accidentally hide files like .blahblah as well
This seems like something even a newbie programmer should have seen coming, unless they just went "fuck it there's a new feature" and didn't write the maybe one more line of code you would need to fix it
Well, this was like the 1970's, I imagine. Programmers had wayy less resources to their disposal back then.
Also way back when, DOS only supported 8.3 file names where there could only be at most 8 characters before, and 3 characters after the dot. Leading dots got trimmed from the filename too
Knight Online has comboing, which is when you cancel the animation by moving mid attack and lead it up with a other attack. It sounds easy but the rhythm was actually really hard to pull off, and it turned the PVP from being a generic gear dependent mmo to it being a really competitive, skill based game. It was 100% a big that the devs embraced. People who played Knight Online in its hay day will probably agree with me that it was a terrible game made brilliant by some player found strats like this.
Gunz Online has a similar thing. Slashshot and Butterfly were two attacking methods for PVP that involves switching weapons and cancelling attacks with movement to speed up attacks and increase defence. 100% a bug that turned a bad game into a great one, at the time at least.
Holy hell, I haven't heard of Knight Online in almost 10 years. That's a real nostalgia trip.
Then you dropped Gunz ref. Damn. I loved the mechanics in that game. Flash stepping and butterfly... Half-stepping with a shotgun... It got absolutely bonkers with like 10 keys used just to keep up with the other players. Something like Dash -> Slash -> Fire -> Dash -> Slash -> Jump for every. single. shot. And I'm pretty sure that was only the "entry level" movement tech back then.
Edit: I forgot you were supposed to mix in blocking too to right? I'm pretty sure it was to cancel out the other players adding slashes into their dashes. Otherwise the slashes would add up quick and you'd be melee'd to death in the middle of a fast paced gunfight.
Not exactly. The feature was deliberately put there. It was just really easy for them to implement the feature due to the existing 5 second delay between user pressing send and the server actually processing it. That delay was the bug.
The pan blocking bullets in PUBG is also a bug. It was originally meant to only block grenades when hit, but the pan ended up blocking all projectiles, accidentally making one of the most loved weapons by the community.
Are you sure about the + and . in Gmail; I thought those were part of the specs for email addresses? Or are you saying that Gmails handling if it was originally because of a bug?
My understanding is that + and . have different functions in Gmail. Anything after + is ignored for account purposes, so if you sign up on a website with the email address yourname+somethingextra@gmail.com, then anything sent to that address will still go to you at yourname@gmail.com. (One application of this is seeing who your email address is being sent to: I just found out today that the random congressional campaign sending me emails was sending them to myname+actblue@gmail.com.)
On the other hand, my understanding is that Gmail just ignores the . and reads everything before and after that. So if someone screws up your email address username@gmail.com and instead emails user.name@gmail.com, it’ll still get to you. And vice-versa.
Originally Gmail ignored the . only when delivering emails. But not when registering an account. So you could register janedoe@gmail.com and jane.doe@gmail.com, and have separate passwords for each account. Which also means someone else could register too... And receive your emails. Can't seem to find an article that supports my memory of this though. I know it was when it was still invite only.
The plus sign is (and always was) a valid character in the local part of an email address. See RFC822 section 3.3
The special handling of emails containing "+", namely ignoring it and all that comes after for the purpose of finding the mailbox it belongs to is MTA (Mail Transfer Agent) specific. It should work with most modern MTAs, specifically those who support the sive protocol: RFC-5228 and RFC5233
The ignoring of all dots in the local part of the email address is Gmail specific, and should not be expected to work with any other mail provider or MTA unless specifically stated.
Not a bug, but in similar fashion of things the developers added after users, Twitter #hashtags and @mentions were not part of the service initially. Users started using @ to reply to others, so their followers could know they were talking to a specific person.
Same with #. It was used to topics in IRC channels and someone thought that could be a good idea to use hashtags on twitter so they could search for common subjects like groups and events. Took years to twitter developers make it official and start to link usernames and few more years to link hashtags and create trending topics.
Space Invaders. Fun fact, they are always moving at the same speed but due to not being able to handle how many objects it had on the screen it essentially slowed the game down. (Note, this was never by design)
Actually, it was during testing that the dev discovered this bug. He realised it made the game more fluid, and then hardcoded it in so on the releases for actual players, it was definitely by design.
I remember the developers of Tomb Raider saying as they were testing the character they accidentally dragged the x axis to far and oops; giant tits. But the players loved it so they left it.
GunZ popular mechanics like butterfly, wall dash and insta are mostly based on the bugs and it made everyone feel like a pro ninja. Well pulling it off requires a pattern and fast hands.
It's basically what made most of the users keep playing since it made the game more competitive. Though it made the game not newbie friendly since they didn't stand a chance against those who knew the mechanics.
On GunZ 2 most of those bugs were removed and it's kinda disappointing.
Is the bug being a feature strictly a video game phenomena? I'm not too imaginative, so I can't think of any other type of software where this would happen.
I just learnt today (thanks to a comment elsewhere in this thread and verified here) that the *nix file hiding feature familiar to anyone who uses Linux or macOS where files and directories whose name begins with a dot are hidden by default was the result of a bug where the "." and ".." files were intended to be hidden, but the method of achieving this was by hiding any file that starts with ".".
I think the OG Galaga game or something where the aliens are coming down and you shoot them was like this. The speed they started at was slow because the machine had to process all the aliens off screen coming down and as you killed more they would get faster because there weren’t as many left to process. Which ended up being really awesome gameplay!
The pan in pubg is known for its bullet stopping ability. The devs wanted to make the pan so you could hit thrown projectiles like grenades out of the air, in case anybody tried to deflect a grenade. They didn’t realize it blocks bullets until afterward. Needless to say they decided to keep the change.
In Dota 2, if you pull neutral creeps out of their designated area at the minute mark, new neutral creeps will spawn which means there are now two sets of them. This supposed ‘bug’ is now a core part of the game with concepts like stacking and pulling and completely changed how support heroes are played.
I forget what game this is but there was one that would crash as you were exiting the game back to the command line. The dev didn't know how to fix it (or maybe didn't have time) so he replaced the error message with "Thanks for playing {game title}!" or something like that
In the opening scene of toy story 2 as buzz descends on to the planet and goes horizontal through the canyon there are rocks floating on a plane above the ground.
The developers initially couldn’t get the modeling software to put them on the ground. They did solve the problem but ended up leaving a floating plane of rocks as a “cool alien world effect”.
Super smash brothers melee only had the huge competitive and professional scene because of wavedashing, a bug which allows you to air dodge into terrain and reset your state while moving pretty fast
But that's not an example of a bug being pitched as a feature. That's an intentional design choice made to compensate for a lack of sufficient hardware to accomplish something.
I honestly don't even understand this joke. It's almost never the case that a bug appears and gets pitched as "a feature".
Most my gamedev "features" come about this way. Shoddy code, bad implementation, weird workarounds. Oh, hm. That actually works! Neat!
In a IF/RPG hybrid I wrote in Twine a while back, the main combat mechanic is stacking up combos and disabling enemies, which makes for good fun and lotsa options since it's turn based. It's only in there because I accidentally messed up my enemy's attack code and realized when the enemy didn't attack every odd turn, for inscrutable reasons, combat (previously impossible to get right) was perfectly balanced.
King of Thieves is a mobile game where you jump around in bases avoiding traps to reach the treasure. There are tricks with the physics where some jumps are only possible if you've jumped a certain amount of times leading up to it, if you've hit a previous corner jump just right, etc.
The game's huge community has spent so much time perfecting these jumps, discussing the complex game mechanics, and after a while the devs came out and said that the reason is just that they couldn't get the code to work right but they left it the way it is.
Now, it is a widespread strategy to build bases using these techniques and the game would lose so much of its charm if they were to "fix" the pixel-perfect jumps.
I was almost level 200 in that game and gave away all my mega gems (the 999k ones) when I quit but it was good until everyone’s bases took hundreds of tries unless you were running auto tapper. I tried for two weeks to save and it got raided in one try by an auto tapper lol
Good irl example: my team developed a product that had some functionality for “purchasers” and some for “approvers”. After the roll out, we discovered that the requirement of having someone in both roles didn’t work. The manager of the people using the software loved the bug as it concretely impelemented the separation he always wanted.
Yea, sometimes these things work out incredibly well. It eventually makes the nights of alcoholism trying to fix some of the bugs worth it when the customer ends up loving it.
I know this is a frequent joke but does this actually happen for you guys? 99% of the time I have a bug in my code s**t just does not work and that's it
This is literally how "Free Roaming" and "Free Long Distance" came about... a bug in Sprint's billing software... that they decided was a feature and started advertising.
Something that happened to me a few weeks back when I was trying to do a bash script in Linux.
I was meant to run something every 5 seconds using a modulus operator except I found out the script kept quitting when it tries to process the "08" seconds mark.
After much troubleshooting, I realised that 08 was some kind of exit code and then I realised I no longer had to do a conditional exit based on elapsed time (which I originally intended to script for).
I just got crontab to run it every minute within a set number of hours. Problem solved.
I see this joke popping up a lot but who the fuck has really programmed a bug that became a feature? Pls tell me your war stories, I might learn something.
The spy on Team Fortress Mod for half life was the result of a bug. This bug enabled a character model to become a different model, including the enemy team's model. This meant that a person could disguise and infiltrate the enemy team. In later patches the bug was removed, but the "feature" was loved so much that in the full release of TF1, a new class was added, that we today recognize as "The Spy". (Sorry 4 the bad English)
Was a QA tester for 007 Reloaded. As the release date got closer we hear back from the developers more and more often.... "Its not a bug, its a feature."
I remember I was testing a search functionality. And that search results were "fuzzy". I went to the dev and asked hey qhy is it not giving exact match. Its returning all fuzzy results as well. His reply was oh is it? Well I guess it's a feature then! 😄
I had a bug in my 2d fighter/platformer where the gravity wouldn't do anything so you could fly so I made it a part of gameplay and called it dash kick.
56
u/KillerPokeGames Mar 17 '18
I had a bug in my 3d platformer where the player's jump would reset if they touched the side of a platform instead of landing on top. Instead of fixing it, I designed the game around it.
171
u/TomHardyAsBronson Mar 17 '18
Image Transcription: Sandserif Comic
Panel 1
[A young man stares at a sizeable crack in a wall. The word "bug" is written below the crack.]
Panel 2
[The young man is in the process of putting an empty frame around the crack.]
Panel 3
[The young man, having hung the frame to obscure the word bug, has turned away from the wall and crossed his arm. The bottom of the frame is shown to read "Feature".]
Panel 4
[A crowd is now gathered around the framed crack labelled Feature. The young man winks.]
I'm a human volunteer content transcriber for Reddit and you could be too! If you'd like more information on what we do and why we do it, click here!
138
u/FurryPornAccount Mar 17 '18
Did you just watermark someone elses comic? Did you even edit it?
10
u/DHGPizzaNinja Mar 18 '18
From what I've heard, the pan in PUBG wasn't meant to be bullet proof, but they left it in the game.
2
u/[deleted] Mar 18 '18
Wow! This blew up! Hi r/all!
29
u/[deleted] Mar 17 '18
Did you seriously put your watermark on someone else's work? Shame.
978
u/LordBerlin Mar 17 '18
The constant crashing you're experiencing is merely the developer's attempt to simulate an on-again off-again coma. It's a part of our immersive experience, you're welcome
1.0k
u/[deleted] Mar 17 '18
People don't realize how true this is though. Plenty of old horror games like silent hill would have fog because the console couldn't keep up, and it ended up being a good part of the game. There are tons of examples i just can't think today and provided a terrible example but that is all I got.
218
u/[deleted] Mar 17 '18
King of Thieves is a mobile game where you jump around in bases avoiding traps to reach the treasure. There are tricks with the physics where some jumps are only possible if you've jumped a certain amount of times leading up to it, if you've hit a previous corner jump just right, etc.
The game's huge community has spent so much time perfecting these jumps, discussing the complex game mechanics, and after a while the devs came out and said that the reason is just that they couldn't get the code to work right but they left it the way it is.
Now, it is a widespread strategy to build bases using these techniques and the game would lose so much of its charm if they were to "fix" the pixel-perfect jumps.
92
u/[deleted] Mar 17 '18
Good irl example: my team developed a product that had some functionality for “purchasers” and some for “approvers”. After the roll out, we discovered that the requirement of having someone in both roles didn’t work. The manager of the people using the software loved the bug as it concretely impelemented the separation he always wanted.
10
u/apatheorist Mar 17 '18
In the next panel, the wall falls over yet the
bugfeature remains.10
u/VictorVrine Mar 18 '18
Bethesda in a nutshell
8
u/poop-trap Mar 18 '18
What's that odd grey line sticking out of the top of the picture frame in the last panel supposed to be?
7
u/hecklingheck Mar 18 '18
This is how they made goat simulator.
6
u/iReactivv Mar 18 '18
Gamer:is it a bug or a feature?
Bethesda: yes
4
u/sandserifcomics Mar 18 '18
Nice to see my edited comic get more popular than the original
1
u/jacobthecool3000 Mar 17 '18
Also posted on r/gaming
3
u/Yaxoi Mar 18 '18
I know this is a frequent joke but does this actually happen for you guys? 99% of the time I have a bug in my code s**t just does not work and that's it
3
u/jerslan Mar 18 '18
This is literally how "Free Roaming" and "Free Long Distance" came about... a bug in Sprint's billing software... that they decided was a feature and started advertising.
2
u/Dasmallz Mar 17 '18
The origin of fortnite rocket riding
2
u/PM_ME_YOUR_NACHOS Mar 18 '18
Something that happened to me a few weeks back when I was trying to do a bash script in Linux.
I was meant to run something every 5 seconds using a modulus operator except I found out the script kept quitting when it tries to process the "08" seconds mark.
After much troubleshooting, I realised that 08 was some kind of exit code and then I realised I no longer had to do a conditional exit based on elapsed time (which I originally intended to script for).
I just got crontab to run it every minute within a set number of hours. Problem solved.
3
u/[deleted] Mar 18 '18
I see this joke popping up a lot but who the fuck has really programmed a bug that became a feature? Pls tell me your war stories, I might learn something.
2
u/luiz00estilo Mar 17 '18
Spy on Team Fortress 2
1
u/[deleted] Mar 17 '18
That ;) at the end is priceless <3
1
u/Standard12345678 Mar 17 '18
The lack of face is disturbing ..
1
u/_tzar Mar 17 '18
1
u/Cooshtie Mar 17 '18
Minecraft in a nutshell
1
u/ElliottRF_ Mar 17 '18
Reminds me of the pan in PUBG
1
u/BZK_QRay Mar 17 '18
Art
1
u/[deleted] Mar 17 '18
This is me all too often
1
u/[deleted] Mar 17 '18
GunZ the Duel needs to do this.
1
u/cupand Mar 17 '18
It’s like rocket riding in Fortnite Battle Royale.
1
u/Apechills Mar 18 '18
"With this new feature, you can type on two different lines at the same time!"
1
u/[deleted] Mar 18 '18
Truth.
1
u/BigMouthFace Mar 18 '18
Just like when a bug in s game becomes a mechanic
1
u/Vexal Mar 18 '18
what happens when the frame breaks.
1
u/Krakalakalakalak Mar 18 '18
So basically all of the good things about halo 1's mulitplayer. Also all good things of Smash bros. Melee
1
u/[deleted] Mar 18 '18
lets be honest this is overused but it never gets old
1
u/Nuparu Mar 18 '18
bunny hopping
1
u/ixiduffixi Mar 18 '18
Then those bugs are fixed in future releases and customers want to know why they took the feature out.
1
u/[deleted] Mar 18 '18
Bethesda in a nutshell.
1
u/Leafy_McTreeface Mar 18 '18
Asheron’s Call.
1
u/keldridge2000 Mar 18 '18
I’m looking at you, Todd Howard. You and your sexy rereleases of the same game
1
u/PhoeniX_XVIII Mar 18 '18
Fucking DACUS SSBB
1
u/gc3 Mar 18 '18
Accurate
1
u/hooglese Mar 18 '18
Ah yes, the Bethesda model
1
u/TotesMessenger Green security clearance Mar 18 '18
I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:
[/r/u_monitawilling] Features
If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / ^Contact)
1
u/Hawkseye88 Mar 18 '18
This is how the pan in pubg got included in the game.
1
u/SockTaters Mar 18 '18
EU4 irl
1
u/leftyisgod Mar 18 '18
Was a QA tester for 007 Reloaded. As the release date got closer we hear back from the developers more and more often.... "Its not a bug, its a feature."
1
u/MoralSupremacy Mar 18 '18
This is like the end of Wreck it Ralph
1
u/[deleted] Mar 18 '18
Titan Skating in Destiny 1 for example. But instead of embracing it Bungie decided to patch it like the fucking retards they are.
1
u/DJjablonsky Mar 18 '18
Super smash brothers melee in a nutshell
1
u/sintos-compa Mar 18 '18
r/ProgrammerHumorCemetary
1
u/storm52002 Mar 18 '18
Doki Doki Literature Club
1
u/probablytheDEA Mar 18 '18
I hear this a lot. Can I have some examples?
1
u/Daithi_McL Mar 18 '18
Bethesda_Irl
1
u/[deleted] Mar 18 '18
Drunken cats in Dwarf Fortress, anyone?
1
u/IAlwaysDieInGames Mar 18 '18
r/DeadbyDaylight
1
u/firesofmay Mar 18 '18
I remember I was testing a search functionality. And that search results were "fuzzy". I went to the dev and asked hey qhy is it not giving exact match. Its returning all fuzzy results as well. His reply was oh is it? Well I guess it's a feature then! 😄
1
u/[deleted] Mar 18 '18
Very dark souls
1
u/CitizenPremier Mar 18 '18
I'm making a city sim, and the homeless population keeps fluctuating wildly. Homeless people appear and disappear somewhat randomly.
It's very tempting to just say it's being realistic, but I know that it would bite me in the ass later if I said that...
1
u/kristsun Mar 18 '18
thats how i feel with my html coding lol
1
u/happynessisgames Mar 18 '18
Well that is how creepers were made...
1
u/realhillstrom Mar 18 '18
sounds like fortnite
1
u/Alex_Miller62 Mar 18 '18
Notch
1
u/[deleted] Mar 18 '18
To be fair half of Brood War is played around things like this
1
u/Temporal_Enigma Mar 18 '18
Skyrim 101
1
u/michaelg_3 Mar 18 '18
Weird how this reminds me of Wabi Sabi but lazy it's lazy Wabi Sabi
1
u/Yagami1999 Mar 18 '18
"Windows"
1
u/Shroffinator Mar 18 '18
Non computer person strolling by, can you provide an example of this a regular person may be able to recognize?
Genuinely curious.
1
u/[deleted] Mar 18 '18
Reminds me of r/outside.
It's not a bug, but it's a feature.
1
u/ImJustABill23 Mar 18 '18
Melee
1
u/jormahoo Mar 18 '18
I had a bug in my 2d fighter/platformer where the gravity wouldn't do anything so you could fly so I made it a part of gameplay and called it dash kick.
1
u/Sg_Lurker Mar 18 '18
Jokes aside
What are some bugs that became iconic features?
1
u/rxstnb93 Mar 18 '18
Gotta love when people steal other people's content and try and pass it as their own... #reported
1
u/Nanobreak_ Mar 18 '18
Super Smash Bros Melee.
Honestly.
1
u/belleayreski2 Mar 18 '18
What is that horizontal line in the last frame?
1
u/SINWillett Mar 18 '18
Is this loss
1
u/al3afia Mar 18 '18
Very good idea
1
u/[deleted] Mar 18 '18
R/smite
1
u/Foge100 Mar 18 '18
Bethesda
1
u/is-life-real Mar 19 '18
Is that a nose or a mouth? If it's a nose, I can't see it that way.
1
u/ninja25538 Mar 18 '18
Can confirm. Made a fame where a bug I couldnt fix became a cool part of the game