The Mad, Mad, Mad Vortex of Game Development

Alright, real talk. Today’s post is inspired by a question asked in the forums, paraphrased:

“With early access titles you find a lot of people complaining that features are being added while bugs aren’t being addressed and I’d love to see what Gaslamp Games could say about this.”

This question makes me reflect back on myself 15 years ago, when I was an enthusiastic fan of games eagerly watching their development from the outside, being frustrated by waiting for patches, and, I’ll admit, not being very understanding at all about bugs and venting anger at developers. Now I’m here on the other side and I can see why things happen the way they do, I recall specifically saying, after launching Dungeons of Dredmor, “I understand now why things end up the way they do”.

Vaguely related example: Yesterday I argued myself into conceding that the most important thing I could do was another mockup for the character info UI widget.

Vaguely related example: Yesterday I argued myself into conceding that the most important thing I could do was another mockup for the character info UI widget.

(I was originally going to use the framing conceit of Dominions 4 game mechanics to explain the functioning of a small game studio, but Daniel helped me see that this will not necessarily make the process easier. And that Dominions 4’s game mechanics being comparable in complexity to running a small game studio says more about Dominions 4 than it does explain anything useful to gamers. So let’s not do that. Also rejected the “Eastern Front of World War 2” analogy as potentially a bit grim. Moving right along.)

Game development is a problem of satisfying a bunch of competing interests while trying to align a bunch of contingent sub-projects. Let me dig into an example loosely inspired by reality.

Say we’re making Clockwork Empires. An important feature of the game is the machine modules — the ovens, workbenches, beds, and other doodads in buildings that characters intaract with. “Just putting them in the game” is an action that holds a lot of requirements, especially considering we’re using a custom engine that requires an entire custom toolchain to implement assets. The question of creating and debugging the tools themselves aside, to create something like a table requires Sean to use Maya for modeling, 3D Coat and Photoshop for texturing, our custom importer (called “importer”) to create a packaged file with the appropriate render flags and animation associations (if any). Then he needs to edit an xml file that defines what modules exist and which buildings can build them. At this point he can put them in buildings, in game, and see how they look. (Though they still don’t do anything in the game, that’s a whole other mess).

Don't read too much into this, it's just an icon I happened to draw yesterday between scheduling the art team and poking at the emotion scripting.

Just the icon I happened to draw yesterday between scheduling the art team and scripting emotions.

And that’s the simple version of explaining the toolchain. I’m repeating the details because there was a ton of work that went into setting any of this up at all that took a frightful amount of development time (and I’m sure anyone with software development experience knows the perils of setting up a working toolchain, then making sure it keeps working as additional features are added).

So say we don’t have this whole toolchain and game feature working. We can still get work done making stuff, we just can’t test it. We can still have Sean working, making a ton of assets to go in when it does work. Meanwhile Chris can be taking Sean’s work and animating them (which has a similar toolchain) and adding particles (also a shorter but related toolchain). But without being able to test them in the engine, we create a risky and potentially expensive situation because those assets could require revision according to some problem we wouldn’t see until we implemented them. Say the particle placers were missing an essential component that meant that, even though they looked correct in the particle editor, they don’t work at all in the game. Then Chris would have to redo all of his work and re-export all the animations. Say we put two machine modules together that Sean made 3 months ago and the scale is totally wrong – now we’ve got a problem multiplied by the number of assets we thought we had completed already. That’s frustrating and costs time, both for Nicholas to circle back around and fix whatever went wrong, and for the artists to redo their work.

At every moment in game development, we’re juggling both the tools to make the game and the game software itself. Changing or adding anything can cause another part to break, and this might cause someone to not be able to do work or may cause them to have to redo work.

All that mess of interwoven requirements that can make each other explode? That’s just the artist toolchain, and we’re not even a live game yet. So let’s talk about bugs the player sees.

We’ve all played games, we’ve all seen bugs. Not all bugs are created equal. Some bugs totally stop the game experience for just some people. Some bugs are visually annoying for everyone. Who do you make happy first, a few people who can’t play at all or everyone who is just slightly annoyed? What is the cost of prioritizing one over the other? (The answer is not “stay up all night every night and fix everything” because that doesn’t work either: productivity will drop precipitously after doing that, like, for one day and then we end up outputting less bugfixes. And there are always more bugs being discovered … especially if anyone is crazy enough to add a new feature to the game.)

Let’s make it more complex. Who do we make happy here, what are our conflicting interests, what are the parties involved? Bullet point time:

  • Customers: That’s you. Ideally. Gamers who pay money want a game that works, bugs fixed, looks great, and ideally some expansion packs in the future. Gamers also want the game as soon as possible because waiting sucks (and true, it does!).
  • Gaslamp Games: That’s us! We need to make money. If costs exceed income, then we’re out of our jobs. We don’t want that to happen.
  • Press: If no one hears about our game, then we don’t sell our game. If we don’t sell our game, then we don’t make money and can’t make games anymore. Customers lose, Gaslamp loses. We have to keep the people who write and talk about games (and their readers/listeners) happy, which means answering their questions, doing interviews, assembling press material, sending out press builds that aren’t super ugly.
  • Marketing/Promo: Like Press, but it’s what we do. We need promotional trailers, cool logos, screenshots, a neat-o webpage, a mailing list, and a regular development blog to promote our game. These requirements do not directly contribute to the game and are often more visually-focused.
  • Investors: Happily, we don’t really have these (unless you count the Gaslamp founding partners, and, I suppose, Canada in a sense). If we had investors meddling in our creative control, to say nothing of finances and release schedule, we could be forced to release a game we weren’t happy with too early. That’d make us very upset, and that’s why we maintain control of our own affairs. Plus, we can say stupid stuff on the blog and get away with it. Still, we need to make money by shipping a product.
  • Distributors: You know, like Valve or whatever through stuff like Steam. They have their own set of marketing materials required as well as a toolchain (yay, toolchains!) for uploading builds and patches, plus feature integration like the Steam overlay, achievements, & etc.
  • Probably Other Random Things I’m Not Thinking Of: like what if our accountant retires or if the power goes out in half the office or the bank loses someone’s paycheque, these things have to be taken care of if anything else is to get done.

One has to consider who to make happy first at what time, and what the cost is of putting off making someone happy while considering everything else that needs doing. Some of the above parties have set schedules that must be considered: print magazines must have their content like a month before the material is actually “on the new stand” (speaking of, I hear PC Gamer has a cool story about us this month and we’re waiting patiently for our copy to show up in the mail!).

A tester sent us this last week. Hopefully you can better appreciate the depths of my suffering. (Easy fix, actually; wrong rig on the clothed fishperson.)

A tester sent us this last week. Hopefully you can better appreciate the depths of our suffering upon seeing stuff like this. (Easy fix, actually; wrong rig on the clothed fishperson.)

What if we hire someone? They need to be brought up to speed on how everything works, have questions answered, learn how to use the tools and, god forbid, read documentation that hopefully someone wrote. What do we have any particular person doing?- should I be scripting fixes into the character emoting, doing concept art for game assets, reviewing work done by the art team, scheduling the art team, talking to our sound artist about upcoming milestones, doing UI mockups, washing the dishes, answering fan questions on a message board, or writing the weekly blog post?

Development is a huge, extremely complex problem that involves a ton of conflicting interests and unknown factors, not just internally and technical (how long does it take to fix a bug that might just be a typo or might be the fault of a totally botched game or technical system that would require a redesign involving input from all the parties involved), but also externally and involving human perception (how will the fans/press/youtube personalities/hardcore players/casual players/paying customers/potential customers/distributors/frenemies/Government of Canada react to whatever it is we’ve just done?).

It’s not easy, the challenges are many and absurdly varied, but of course we wouldn’t be doing this if we didn’t find it somehow ultimately rewarding. And hopefully that gives you a bit of insight into the sorts of concerns we have to balance in this work we do.

And I didn’t even use any Dominions 4 analogies!

Last minute addition: Daniel has pointed out that I never really answered the original question. Let’s review:

“With early access titles you find a lot of people complaining that features are being added while bugs aren’t being addressed and I’d love to see what Gaslamp Games could say about this.”

Sometimes a bug is a quick fix. Sometimes it’s the tip of a horrible ententacled iceberg of malevolent jankery that’s burrowed deep through your codebase and ripping it out will require an equivalent effort of re-implementing a major feature because that’s exactly what you’re actually doing. Unless you make a dirty hack to fix it – and make 5% of your user’s video cards explode. Meanwhile, you’ve promised to deliver spinning cogbears in next weeks update. Is breaking the promise of spinning cogbears worth fixing the bug? It might be. It might not be. Sometimes you can’t even know the answer until you (Nicholas) are (is) halfway buried in the Internet Hate Machine and the guts of the renderer while the art team is breathing down your neck about how your fix broke their particle editor and all Chris can do now is wash dishes and reset the Days Since The Last Musical Number tally. Or maybe the only person who can fix the pathfinding enthreshulator (Micah) came down with a bad case of Ghost Neck and can’t fix it until next week due to horrific excruciation, in which case the collective we can’t do anything about anything anyway but make lame excuses. That’s just a few hypothetical examples of bugs may persist while totally random features are completed.

Game development!

Posted in Clockwork Empires, Gaslamp | Tagged , , , , , , , , , , , , , ,
28 Comments

28 Responses to “The Mad, Mad, Mad Vortex of Game Development”

  1. Loerwyn says:

    Yay for this post – Thanks David!

    { reply }
  2. Enthreshelator and ghost neck both confirmed features.

    { reply }
  3. wootah says:

    Very interesting blog post. I had read the shorter version on the forums and I think this is well said. I have no problem with the Delay. There are TONS of other games out there that need playing right now and I am trying to get to them (and all the other things in life that need prioritizing).

    So why is the animation jerky? I doubt the user sent you a Gif, but I would guess they more likely sent a replay and someone in the office turned it into a gif. I stared at it so long trying to figure out what the differences are in the skin used and it gives me a headache.

    In any event the thing looks like some sort of hybrid between fish person and scarecrow that is missing some limbs. Both cool and Creepy. Which makes me wonder what kind of amalgamations modders could do with just resources that ship with the game. How difficulty would it be to add something in to the game so that on rare occassions a hideous beast is spawned from random parts and textures to assualt your fine settlement?

    { reply }
  4. Rydash says:

    It’s very possible that the tester tried to make a GIF for the first time and is ridiculously underskilled at managing the capture window, compression settings, and following the in-game action at the same time.

    Very possible.

    { reply }
  5. Of Blights and Bugs.
    Friends Roman’s Countrymen. Please, keep your ears to yourselves, after all, you may need them for to listen out for the scritching and scratching of Bugs.
    The various unfamiliar flora and fauna of every colony strikes the unwary interloper as a bug.
    However, the Shadow of Crim-Nuuthet whose externally placed intestinal tract had the added horror of incomplete opacity was the muse of many an unwary travellers night-time terrors.
    The very thought of this! Why did I bring this dark synaptic trove to the surface, for now I am truly vexxed
    Leave me now, for I would be alone.

    { reply }
  6. Headjack says:

    What is the name of the particle editor?

    { reply }
  7. Skyler Donahue says:

    “you’re doing it right when testers aren’t sure if it’s a bug or an intended otherworldly abomination” THIS!

    { reply }
  8. Cutter says:

    Well, that’s the problem with not having a real, professional producer/manager – in any industry. As someone who used to work in game development I’m plenty familiar with this myself. The major problem game development suffers – like hospitality – is that a lot of people are promoted up from within and lack any real management training. And if you’ve ever worked for a good manager who actually has that, the difference is night and day.

    I recall the first guy I worked for that actually went to management school. He was amazing. Great motivator, new how to balance time versus demands, was the master of keeping feature creep at bay, could organize and schedule like no one’s business. Granted, they’re not all like that – not by a long sight. And that isn’t to say those who come up from within can’t be great managers as well – though I’ve very rarely ever found that to be true. A good manager is worth his weight in gold.

    In smaller companies I think it’s essential that everyone at least be on board with someone acting in that capacity to keep all the checks and balances. Otherwise you eventually run into all those problems you mentioned. Sometimes a whip needs to be cracked, a foot put down, etc.

    { reply }
    • AdminDavid Baumgart says:

      Yeah, totally agree and have come to really appreciate the value of management and recognize its necessity. Well, from the standpoint of being forced to do it and hopefully doing an okay job.

      It’s like commanders in Dominions4 – you need them to lead the army, and if they’re especially good you get these great morale bonuses and can have more squads on the field at a time for greater tactical flexibility!

      Ahem. And yeah, the game industry often totally sucks at management and it’s certainly challenging, unexpected transition to make it from ‘minor indie game success story’ to ‘grown-up-ish small game studio’.

      { reply }
  9. Lawrence Growe says:

    Gaslamp Games is clearly more like MA Tien Chi. Clearly.

    { reply }
  10. Tyler says:

    Honestly, I think doing these blogposts are some of the best ways to get around internet hate. Honestly, when people know what is actually going on, and the work involved in creating games, it is a lot harder to rage about stuff.

    I still can’t wait for the game, but at the same time really enjoy the posts about game design and all the problems associated with it.

    On another note, have there been any bugs that you were like, “hmm, that would be cool if it were intentional” and then made it into an actual game feature.

    { reply }
  11. Selinthus says:

    I feel like you should give your importer a name, like Carl or Steve. Then, when something goes horribly wrong you can blame Steve.

    (Also, small spelling mistake under the ‘Press’ section. There is an out where an our should probably go.)

    { reply }
    • Sleepy Will says:

      Hehe and don’t tell anyone so when the press ask about a delay, they just unleash rage on it – “Steve screwed up again, he corrupted all the imports and for no earthly reason, imported a 2 month old version. We’re in the process of pulling Dave apart now just in case he has the same problem.”

      { reply }
  12. Boksi says:

    While it’s not obvious at first, Gaslamp Games is clearly more like EA Abysia. While it may seem strange to compare a heat-3 nation to some guys in Canada, their heat is more metaphorical. You see, in the beginning the Abysians blaze brightly, but as the ages go on, their flames dim and they turn to ancestor worship and blood sacrifices to infernal forces. This mirrors the path of a succesful game developer – they turn from plucky indie developers to big, bloated companies whose only thought is to acquire more money rather than doing anything risky like innovate. The ancestor worship represents nostalgia for the old days, back when they were good, and the infernal forces are a cipher for shareholders. As for the actual pretender and scales, I’d say a Dom 6 Neter of Crafts with E9 S5, O3 P1 H3 G0 L-2 M0. He gets you into proper earth and astral magic and can forge rings of sorcery and rings of wizardry. Furthermore, it’s a pretty fitting pretender. The Neter of Craft is describes as having been “the master crafter and chief architect of creation”. He made the world, but since the world is a game, he in effect “created the game”. And what does Gaslamp Games do?

    { reply }
    • Boksi says:

      Also, one of you is actually a demon ambassador from the Abyss, sent to corrupt and destroy you with his seductive knowledge of forbidden magics.

      { reply }
    • AdminDavid Baumgart says:

      (Guys, this one has us figured out!)

      { reply }
  13. TJM says:

    just do what u have to do to make a great game. if u build it right they will come

    { reply }
  14. AzraelDR says:

    I say LA Ulm, just because of all the forging and contruction involved. The Gothic flavor added in that Era also coincides with the Lovecraftian love the company has.

    { reply }
  15. Robert Tseng says:

    and this is why I generally like to cut people some slack in their work if not necessarily everything comes out exactly the way you’d want… you might not actually understand just what is going on behind the scenes or appreciate just how difficult something actually is.

    { reply }
  16. Godwin says:

    Hehehe great explanation 🙂

    { reply }
  17. Jeff says:

    I picture you guys going “Yay, FISHPEOPLE!” whenever you come across an ichtyid province in Dominions 4. Seconding LA Ulm.

    An indie game studio is like a fort-less lab recruiting strategy for Illuminated Ones – quick and agile. The switch to blood a blood economy symbolizes the inevitable sellout to EA and/or world conquest schemes.

    I’d go with a dormant dominion 9 O2C2G2M2M2 master lich with D4B4. High dominion to exploit immortality (even has fear/awe for a bit of expansion), blood hunting and research scales that leave room for a bit of a boost via thrones. Who needs diversity? You can get spectres and demonic aristocracy. Also it is amphibious so it can conquer fish people.

    { reply }
  18. Lithare says:

    How many days HAS it been since the last Musical Number?

    { reply }

Leave a Reply

Your email address will not be published. Required fields are marked *