Game Development vs Traditional Software Development



  • Someone recently told me that working at a game development studio and working at a traditional software company were basically the same thing: people give you a set of requirements, and you develop software that meet those requirements. Is that true? To what extent?


  • Patron

    @ken said:

    Wait!!!

    Ken! Is that really you?!!

    Where have you been? I missed you!

    Someone recently told me that working at a game development studio and working at a traditional software company were basically the same thing: people give you a set of requirements, and you develop software that meet those requirements. Is that true? To what extent?

    Well, if you’re a low-level/engine programmer in an AAA studio, I think that’s mostly true.

    But if you’re indie or a script programmer, there’s way much more stuff involved in your job than coding/software development.

    In normal software development, your requirements are way simpler, as the software has to be only functional.
    In game dev, your software has not only to work, but also to have an effect on the user.

    I doubt the programmers who made Word asked themselves even once “What will this feature make the user feel?” while developing it.


  • LDG

    Both “traditional software company” and “game development studio” leave loads to interpretation. If you’re at a medium to large company and pretty low on the ladder, then yes, you will basically just be given tasks to work on.

    At smaller companies your voice is easier to hear. And as you earn the experience and respect of your peers, you may climb the ladder and have more say in what you work on.



  • @Josue said:

    Wait!!!

    Ken! Is that really you?!!

    Where have you been? I missed you!

    Hi @Josue !!!

    Yep, it’s me again, back from the depths! :D
    I missed you guys too! :(
    Man, and this forum has gotten even more exciting since the last time I was here! Pagination, AWL comics, British super villains, and @Macaronee !?



  • @Josue said:

    In normal software development, your requirements are way simpler, as the software has to be only functional.
    In game dev, your software has not only to work, but also to have an effect on the user.

    I doubt the programmers who made Word asked themselves even once “What will this feature make the user feel?” while developing it.

    I’m sure the programmers who work on word processors like Microsoft Word want to make their software easy for people to use. I’m not sure if they have beta testers, but I’m sure someone performs some method of user experience testing on their products to make sure it’s not infuriating.
    Do you mean that software developers don’t try to actively affect the emotions of the users that they cater to, while in game development, it’s absolutely necessary?



  • @richtaur said:

    If you’re at a medium to large company and pretty low on the ladder, then yes, you will basically just be given tasks to work on.

    At smaller companies your voice is easier to hear. And as you earn the experience and respect of your peers, you may climb the ladder and have more say in what you work on.

    Yeah, you mentioned this in your Indieverse interview! I was just reading it earlier, great stuff! :)
    By the way, I think the photo of you at the Halloween party is the first photo I’ve seen of you with head hair! Are there any more of those? :P

    Both “traditional software company” and “game development studio” leave loads to interpretation.

    I know, I thought that using more specific terms might make people less likely to contribute, sorry haha

    Perhaps I can phrase the question this way: Say there’s a development team or a company that works on custom business management systems. Clients give them a process flow, and they make it happen.
    Can you just give them a game development project to do? Is it that easy to make the switch?


  • Penguin

    @ken I am akin to British super villians?! yay! I’m coming for you @cheersphilip !!!

    And to add to the thread itself, while I am not sure about all “traditional software development,” my experience with software for science-y things have been quite painful! It’s like they don’t even think about the user. There’s just some of our software where I think “the developers ACTIVELY thought about effing us over” and “they did this the most illogical way possible.” It’s like a test to see if we’re smart enough to figure it out. Most of the time, I feel like I fail that test :(

    In games, if you don’t think about the users, then you’re SOL.


  • Patron

    @ken said:

    I’m sure the programmers who work on word processors like Microsoft Word want to make their software easy for people to use.
    Do you mean that software developers don’t try to actively affect the emotions of the users that they cater to, while in game development, it’s absolutely necessary?

    No, I didn’t mean that.

    I just mean that, in normal software development, the goal is to make the software functional, it needs to do what the user expects it to do.

    I can’t imagine the project lead at Microsoft telling programmers they need to make spell checking be fun, but in game dev such things are pretty common.

    I’m sure someone performs some method of user experience testing on their products to make sure it’s not infuriating.

    I bet they don’t =P

    Google docs is the only word processor which doesn’t drive me nuts!


  • LDG

    @ken said:

    Do you mean that software developers don’t try to actively affect the emotions of the users that they cater to, while in game development, it’s absolutely necessary?

    Utility software solves problems, like you need to make a document, print something, or you want to draw a picture. No emotion from the user is necessary or usually sought out.

    Video games could be seen as solving the problem of boredom, but more than that, you’re trying to elicit an emotion from the user, like joy or satisfaction. Or fear or intensity if that’s your thing. But yes the whole point of video games is to make the players feel something, which doesn’t always exist in other industries.

    Say there’s a development team or a company that works on custom business management systems. Clients give them a process flow, and they make it happen. Can you just give them a game development project to do? Is it that easy to make the switch?

    Those who write software can write other types of software, but that would be a tumultuous transition. As we’ve seen going from web software to video games over several years, they might as well be on different planets, given how different they are and how much learning is required.



  • @Macaronee said:

    And to add to the thread itself, while I am not sure about all “traditional software development,” my experience with software for science-y things have been quite painful! It’s like they don’t even think about the user. There’s just some of our software where I think “the developers ACTIVELY thought about effing us over” and “they did this the most illogical way possible.” It’s like a test to see if we’re smart enough to figure it out. Most of the time, I feel like I fail that test :(

    In games, if you don’t think about the users, then you’re SOL.

    That sounds terrible! And that brings up an excellent point as well: non-game software can afford to be obnoxious, because you HAVE to interact with them! Jerks.



  • @Josue said:

    I just mean that, in normal software development, the goal is to make the software functional, it needs to do what the user expects it to do.

    I can`t imagine the project lead at Microsoft telling programmers they need to make spell checking be fun, but in game dev such things are pretty common.

    Spell checking itself makes proofreading a lot easier, though. It’s certainly a feature that’s taken for granted now, but I’m sure the first people who experienced it were blown away!
    How would you make spell checking fun? :P



  • @richtaur said:

    Utility software solves problems, like you need to make a document, print something, or you want to draw a picture. No emotion from the user is necessary or usually sought out.

    Video games could be seen as solving the problem of boredom, but more than that, you’re trying to elicit an emotion from the user, like joy or satisfaction. Or fear or intensity if that’s your thing. But yes the whole point of video games is to make the players feel something, which doesn’t always exist in other industries.

    Utility software! That’s a much better term.
    So if video games were movies, utility software would be video tutorials?

    Those who write software can write other types of software, but that would be a tumultuous transition. As we’ve seen going from web software to video games over several years, they might as well be on different planets, given how different they are and how much learning is required.

    Yeah, I can imagine! So it’s not as similar as my friend claims it to be! Hah! (my friend works at a business software company, by the way)
    Then what does a utility software developer have to learn, or what paradigm shifts are necessary when switching to game development?



  • Possibly relevant to the conversation:

    According to this Wikipedia article about “Video game development”:

    Overall game development is not suited for typical software life cycle methods, such as the waterfall model.

    Then it goes on to say:

    Game development usually involves an overlap of these methods. For example, asset creation may be done via waterfall model, because requirements and specification are clear, but gameplay design might be done using iterative prototyping.



  • I’m surprised that there aren’t many resources about this topic on the Internet. Or maybe I’m just using the wrong search terms on Google haha!



  • Well, whadd’ya know! That looks like an interesting link indeed, Google, thank you!

    screenshot


  • Patron

    @richtaur said:

    Those who write software can write other types of software, but that would be a tumultuous transition. As we’ve seen going from web software to video games over several years, they might as well be on different planets, given how different they are and how much learning is required.

    I don’t think so.
    Writing utility software is probably almost the same as writing games, but designing games is veeery different from designing utility software.


  • Patron

    I think the main difference between designing games and designing utility software is how the software answers user expectations.

    You know exactly what you want Word to do when you open it: you’ll type things, they’ll appear on screen, Word will correct your misspelling etc…

    If it doesn’t do what you expect it to do, you’ll be frustrated and you’ll say Word is buggy.

    Your main goal as an utility software designers is to make your software be out of the user’s way as possible.

    Now, when you open a game you might have some expectations like expecting the game to be fun. These expectations are, however, very vague, so, the game might do things differently from what you expected and still meet your expectations.


  • Patron

    @ken said:

    Spell checking itself makes proofreading a lot easier, though. It’s certainly a feature that’s taken for granted now, but I’m sure the first people who experienced it were blown away!

    George R.R Martin doesn’t thinks so, LOL.

    But his points are totally valid, and are why I hate Microsoft’s office suite.


  • LDG

    @ken said:

    Yeah, I can imagine! So it’s not as similar as my friend claims it to be! Hah! (my friend works at a business software company, by the way)
    Then what does a utility software developer have to learn, or what paradigm shifts are necessary when switching to game development?

    Yeah I’d focus on information from those who have been on both sides, or you’re just participating in speculation. Many complex things seem easier from an outside perspective ;) It depends drastically on what kind of software was written before and what kinds of games you’d then be making.

    From utility web software to games (action, RPG, and puzzle in our case), there were some jarring transitions. Game loops, input events, time-based modeling, the canvas API, sprite drawing/manipulation, entity management, tricky math, gamepad API, cross-platform support (from browser version to operating system), particle systems, drawing optimization… so much to learn!

    AND keep in mind we didn’t even change languages when we made the leap, which I’d imagine many developers probably would need to do. Software is a deep ocean :)

    Are you mostly interesting for yourself @ken or are you investigating for your buddy?


  • LDG

    I’ll probably echo what @richtaur said to a certain extent, but in my experience game development is a much different skill set than many other domains. For example, I’ve worked on the following software during my career: electronic medial records and billing, business card printing and fulfillment, warehouse automation, consumer facing gaming, and consumer facing social. Most of these jobs were largely centered around storing and reading data from a database and displaying said data to the user. Many of the skills and specialties were transferrable between the various projects.

    Contrasting those applications to game development, I had to learn a bunch of new skills, including re-learning a bunch of math I slept through in high school. In fact, most of my previous gigs didn’t actually require any math above simple algebra. In game development, you should be pretty comfortable with linear algebra, basic physics, geometry and trig.

    And there are a whole host of other types of software development that would require entirely different skills from your typical CRUD enterprise apps and game development. Bioinformatics or aerospace, off the top of my head.



  • @Josue said:

    I think the main difference between designing games and designing utility software is how the software answers user expectations.

    You know exactly what you want Word to do when you open it: you’ll type things, they’ll appear on screen, Word will correct your misspelling etc…

    Now, when you open a game you might have some expectations like expecting the game to be fun. These expectations are, however, very vague, so, the game might do things differently from what you expected and still meet your expectations.

    Hmm… So predictability is imperative in utility software, but not in games. How does this difference affect the development processes?


Log in to reply