• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.
  • We have made minor adjustments to how the search bar works on ResetEra. You can read about the changes here.

Captain of Outer Space

Come Sale Away With Me
Member
Oct 28, 2017
11,328
To be clear, these are weird dev hacks and mistakes they made while working on their games.



Steve Gaynor: "please share your most embarrassing game dev crimes. Mine: all the scripting in Gone Home is contained in 2 gigantic uScript graphs, bc I didn't know about interlinking many smaller graphs at the time. It's only 2 bc the first one started running too slow to navigate. Your turn.

I apologize to everyone who's had to work on a port of that game lol "

Some gems I saw:



Eric Holmes: "My first game (Earthworm Jim 3D) had no scripting language. So I made conditional logic using invisible washing machine objects in the sky that travelled animated paths on timers and could set triggers as they arrived at nodes. Debug was a nightmare. Shipped that way, I think?"



Mark Darrah: "Baldur's Gate 1 shipped in debug mode because it crashed in any other compile target (uninitialized memory) "



Dan Niel: "During dev on a game in the 90s, as a security measure the game would not launch if the current date was more than a week after it was compiled. We totally forgot about this system, and only thru total luck an engineer caught and removed it on the day of sending gold for pressing"

Check out the comments and share some of your faves.
 

ILikeFeet

DF Deet Master
Banned
Oct 25, 2017
61,987

A level I worked on ended with a soccer match. I figured if you ran into the match area the game should remove all active enemies. I commited I had missed that the ball itself was tagged as an enemy and now removed. Making the level unbeatable. The fix came in the day 1 patch
imagine this in a world before patching
 
OP
OP
Captain of Outer Space

Captain of Outer Space

Come Sale Away With Me
Member
Oct 28, 2017
11,328
Rami/Vlambeer joins the fun:



"In an early Vlambeer game, positioning a boss unit on a roof of a (awfully coded) generated building was done by dropping it from above the roof at a random position, and teleporting it back up if it fell below the roof. If you went fast & got lucky, you could catch it falling.

Also, JW loves hit stop frames, which our engine used to support via a now-deprecated function called sleep(). Deprecation killed his flow & maintenance on our titles, so I just quickly wrote a timed empty while-loop to recreate sleep(), which means our titles hang as hit stop."
 

ILikeFeet

DF Deet Master
Banned
Oct 25, 2017
61,987

The scene for the entire house in Gone Home is called Frontporch.unity because I started out thinking the house would be multiple scenes but nope


We built a VR CES booth. Halfway through the chair you sat in needed to tip back. Never had time to write the motor controller to tilt the chair, even though it was plugged in. Booth went to CES and we had to sneak in and tip the chair back at the right time. Every. Single. Time.


The dog in fable 2 can't turn on the spot (lacked the animations for it), so sometimes the AI get stuck running in a small circle trying to get to a goal it can't ever reach. We gave up trying to fix it because 'dogs do that'. No one in QA ever filed a bug for it.
 
OP
OP
Captain of Outer Space

Captain of Outer Space

Come Sale Away With Me
Member
Oct 28, 2017
11,328


"A little bit of Scribblenauts was translated by me and a programmer to five? seven? languages with google translate only like two days before cert. "



"There are ~1k lines in the Bioshock 2 Player Controller. Actually wait sorry, that was ONLY THE VARIABLE DECLARATIONS. "



"the final scene for the final TTG Sam & Max game can never be changed, because I baked the lights in Maya, exported the lightmaps to the game engine, checked it in, then slammed every program on my PC shut because we were supposed to be locked hours ago. never saved the Maya file

This is truly my most embarrassing game dev crime because it involves data destruction. But I can (mostly) laugh about it now. "
 

SoH

Member
Oct 25, 2017
5,734
"I can't believe the weird bugs in this game. How could this happen? Other devs don't let this happen."

Other devs:
giphy.gif
 

lazygecko

Member
Oct 25, 2017
3,628
I love Rube Goldberg machine stuff in lieu of actual scripting solutions. Doom 1 and 2 have a similar thing for monster spawning encounters. The monsters are all sitting in a tight hallway with a see-through window that's only visible from their side of the plane. Once they see the player and are triggered, since the halls are so tight they can only move forward toward the teleport trigger that takes them outside. This is also why the teleport rate ends up being somewhat random since they'll sometimes change direction and walk the opposite way in the hall, but they will inevitably walk over the trigger.
 
OP
OP
Captain of Outer Space

Captain of Outer Space

Come Sale Away With Me
Member
Oct 28, 2017
11,328


"I confess I made the graphics in Soda Drinker Pro too realistic & some people are still stuck in the simulation. Later we made the mouse cursor visible so people would know it's not real. But seriously there are a few levels in the game that have no possible way to access them"
 

ILikeFeet

DF Deet Master
Banned
Oct 25, 2017
61,987

From a recent project:
1. Player presses left arrow key
2. Input handler sets a flag for "move right"
3. Game engine calls a function called "move left"
4. That function moves a game piece to the right internally
5. Renderer draws everything backwards
6. Game piece moves left


Most of the replies are code-related so how about: wrote a giant 54-pathway branching narrative and didn't document it well enough so I had to draw myself a graph of all choices and go through each branch individually numbering them to know if I missed any in implementation.
 

WEGGLES

Member
Oct 30, 2017
290
Not a game Dev, but I am a software developer. Love this thread, horrifying and relatable.
 

Foltzie

One Winged Slayer
The Fallen
Oct 26, 2017
6,788
There was the time my sysadmin deleted the entrie prod database instead of copying to a new test server.

My mistake was telling him he could do it during production hours, because " heyit's just a copy".

I learned how fast we could restore from tape backups. Three days btw.
 

ILikeFeet

DF Deet Master
Banned
Oct 25, 2017
61,987

A VR game I worked on didn't have time to make me a free cam, so I strapped my Oculus to a Doraemon plush, put it on some boxes and blankets on my IKEA chair, re-centered the headset position, and pushed/pulled the chair across my carpet to make the smooth camera moves.


Here's the finished trailer. I applied some motion stabilization too for safety, but the rig did most of the work.
 

ILikeFeet

DF Deet Master
Banned
Oct 25, 2017
61,987

During dev on a game in the 90s, as a security measure the game would not launch if the current date was more than a week after it was compiled. We totally forgot about this system, and only thru total luck an engineer caught and removed it on the day of sending gold for pressing


on black and white 1 theres a memory leak we never found. so it detects if low on mem, saves, quits and restarts itself without explanation. passed overnight qa soak after that...


i suffered from that too! did you ever play after midnight and hear ghostly voices whispering 'steeeeeve... steeeeve.... '? most hilariously evil easter egg ever. we localised the voice actors reading top 20 names in each lang and scraped your pc for your name....

2spoopy
 

benj

Member
Oct 27, 2017
3,833
it's funny—reading indie game stars admitting to using real dumb practices is sssssort of a nice reminder that you don't to be a perfect programmer to make great games, but it's also a reminder that...these people didn't let being an imperfect programmer keep them from making great games. equal parts "they're just like me!" and "i should try to be more like them!"
 

Relix

Member
Oct 25, 2017
6,222
As a programmer some of these are amazingly hilarious because shit like this happens in software. Sometimes things just run by sheer luck I swear
 

Glassboy

Member
Oct 27, 2017
3,549
Back when I was in QA, we were supposed to be doing a final night's checkthrough of the game before it got sent off to cert. We were all super sick of the game's buttrock soundtrack so we turned down the sound on our TV's and listened to the radio as we played through. Everything seemed fine so we sent it off the next morning for final certification. They immediately failed it.

Reason: Game had no audio... at all. Apparently, one of the programmers had accidentally completely disabled the audio and nobody in the company noticed because no one would listen to the thing anymore. They had to pay to have it resubmitted and management was PISSED!
Lol! That's awesome
 

Deleted member 43872

Account closed at user request
Banned
May 24, 2018
817
I love Rube Goldberg machine stuff in lieu of actual scripting solutions. Doom 1 and 2 have a similar thing for monster spawning encounters. The monsters are all sitting in a tight hallway with a see-through window that's only visible from their side of the plane. Once they see the player and are triggered, since the halls are so tight they can only move forward toward the teleport trigger that takes them outside. This is also why the teleport rate ends up being somewhat random since they'll sometimes change direction and walk the opposite way in the hall, but they will inevitably walk over the trigger.
Doom's "voodoo dolls" are even more fun. If a Doom map contains multiple player-start points for the same player, it spawns the same player object at all of them, but only the first can be controlled. The others are called voodoo dolls, because whatever happens to a voodoo doll happens to the player. This can be used to create instant-death traps, including in one famous map in the officially-released Final Doom. Just have a teleporter teleport the player onto the voodoo doll: you telefrag yourself! A more generous map might give the player a pleasant surprise by using an elevator to move a voodoo doll onto a power-up. You can use this to simulate something like a single-use vending machine, just by giving the elevator switch a custom texture.

Things really got funky when later unofficial Doom-based engines added conveyor belts. Mappers started using voodoo dolls on conveyor belts to add timed events to their maps, which are impossible in the base engine. A simple example: the player walks into a room and crosses a trigger. That trigger closes the door behind the player, opens some doors into the room to release monsters, and starts a conveyor belt with a voodoo doll in an inaccessible part of the map. 30 seconds later the voodoo doll crosses another trigger that opens the door, allowing the player to run away.
 

SiG

Member
Oct 25, 2017
6,485
And here I thought devs were pretty good at optimizing and keeping code clean...My game experiences were all lies!