Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming

Turns Out The Hardest Part of Making a Game is Everything (ign.com) 88

Game devs of all sizes and scopes respond to the question: "What is a thing in video games that seems simple but is actually extremely hard to make?" From a report: Earlier this year, game developers across the industry weighed in on Twitter on a seemingly innocuous question: What's the problem with doors in video games? It turns out, a lot. A seemingly boring feature such as usable doors can be absolute hell for developers to put in their games for numerous reasons. Everything from physics to functionality, from AI to sound, comes into play while making a single door in a single video game work. And not just work, but work in such a way where the player never has to think about it. Building a working, forgettable door is an incredible game development undertaking. But it will probably not surprise you to learn that doors are far from the only seemingly simple feature that prove to be unexpectedly challenging in the development process.

A few months ago, I asked developers across the industry the question, "What is a thing in video games that seems simple but is actually extremely hard for game developers to make?" I received nearly 100 responses representing a wide breadth of industry experience, ranging from solo developers to those who had tackled issues within teams of hundreds. The pool of responses similarly included a number of varied problems, but also a number of similar issues popping up among many projects. Those I spoke to described challenges in making games look and sound good, storytelling, movement and interaction with objects, menus, save systems, multiplayer, and all sorts of intricacies of design that are so rarely discussed outside of studios themselves. Many noted that they've received angry player feedback about the topics they mentioned, with their audiences asking, "Why don't you just do X?" The answer is, almost always: because it's really, really hard.

So if you've ever wondered why the maker of your favorite game didn't simply fix one of the myriad issues developers mentioned below, here's why those seemingly simple problems are hardly simple at all. As the original topic of game development headaches focused on doors, it made sense that many of the developers I spoke to had issues with other methods used to connect a person from one place to another. For instance, elevators. Multiple developers told me about the frustrations of elevators, whether they're taking players up a single floor in a building or serving as pseudo-loading screens between two major game areas. [...]

This discussion has been archived. No new comments can be posted.

Turns Out The Hardest Part of Making a Game is Everything

Comments Filter:
  • ...then there's no door to program

  • by Baconsmoke ( 6186954 ) on Wednesday August 25, 2021 @12:58PM (#61729001)
    Nothing was scarier and more mentally and emotionally difficult than releasing my game to the public. The two and a half years of my life, countless nights staying up until 3 or 4 in the morning and thousands of hours that I poured into my game. What if I did all that and people hated it? What if all the time was wasted? I only got through it because I have a very patient and very understanding wife who supported me. Putting a piece of who you are deep down inside out into the wild for the masses to see and experience is a complete mind f--k.
    • How was the game received? Don't leave us hanging.
      • by Baconsmoke ( 6186954 ) on Wednesday August 25, 2021 @01:53PM (#61729209)
        It is still in it's infancy, but so far it has been a very positive experience. It has six (out of six) very kind reviews. And I even have a small group of patrons who are sponsoring continual development. All I can do now is see what the future brings, but for now I am in a good place. Thank you for asking.
        • It is still in it's infancy, but so far it has been a very positive experience. It has six (out of six) very kind reviews. And I even have a small group of patrons who are sponsoring continual development. All I can do now is see what the future brings, but for now I am in a good place. Thank you for asking.

          Congrats! And best of luck continuing on with the game.

        • Since you've been good enough not to spam the link, allow me to drag it out of you: do you have a link to where we can purchase or see video of your game?

    • The two and a half years of my life, countless nights staying up until 3 or 4 in the morning and thousands of hours that I poured into my game.

      And the torrent community thanks you for your service. Getting something for free is always appreciated.
      • Videogame developers, especially those who don't agree with copy-protection schemes, have to resign themselves to the fact that some people will get the game for free. Others will choose to pay for it, with the understanding that unless developers are compensated, they probably won't produce similar games in the future.

        • Others will choose to pay for it, with the understanding that unless developers are compensated, they probably won't produce similar games in the future.

          Those aren't the ones that need the message, the other group is. But both are negatively affected by the first.

          • I'm pretty firmly of the opinion that there's no gain for game developers to spend any time thinking about people who simply want free stuff. They're not your customers, so they don't bear thinking on. No message is going to reach them. Maybe someday they'll realize it's better to compensate people for their work, as that encourages more of the same, but probably best not to count on it.

            Focus on making the best game for your customers. Good things will follow from that sort of laser-like focus. Distrac

            • Same argument could be made about San Francisco and it's shop-lifting problem. "Make the best shopping experience" people say. "Don't worry about those shoplifters" people say. Neighborhood says "please don't close down" they say when reality sets in, a problem ignored is an unsolved problem. e.g. Covid-19, climate change, etc.

              • by MeNotU ( 1362683 )
                You wouldn't steal a car would you? Is that your argument? You know that stealing a physical object that the store paid for is very different from copying a digital file right? Not arguing for or against copying, just saying that your analogy does not apply.
    • Had the same thing with music releases, software releases, book releases and public speaking engagements. When you are so fully invested in the project, the moment it goes from something you're doing for yourself to something you're sharing with the world, it flips the entire project on its head. The emotional rollercoaster of the first few reactions is always a brain killer. Especially since there's ALWAYS somebody in the first few rounds of feedback that's just ranting and raving like a lunatic about w

    • So I also have made indie games for the public, but didn't put nearly as much of myself into it, and I have nothing but respect for you. Even with a small game, it's really tough... What I realized through the process is that I liked ~making~ games which is a very different activity from ~selling~ games, which I turn out to hate. I haven't found a fantastic way to navigate beyond that for small indie games, as many publishers are looking for full-time devs.

      ~D

  • by jellomizer ( 103300 ) on Wednesday August 25, 2021 @01:02PM (#61729015)

    Well the biggest problem with coding doors at the time was to be sure every call I did can be converted properly to ANSI and pipped to the BBS Software to display and run.
    Debugging was a real issue until I found out I can include ANSI.SYS int the CONFIG.SYS file.

    • Heh. I'm old enough to understand this. Two thumbs up.
    • You're really dating yourself with that nugget of information...

      • What is really interesting, was in 2011 I was tasked to send EDI data to an insurance company electronically. They still had Modem Banks, and when I dialed in they were running Wildcat BBS Software. I was like Dude, I haven't seen Wildcat BBS in a long time.

    • Oh sure Slashdot, NOW you don't give me modpoints for a well crafted and informative post!

      Yo Grark

    • ANSI graphics are easy, the real problem is that DOOR libraries are in Pascal.

    • by noodler ( 724788 )

      But was this a problem with doors or a problem with your skills/knowledge?
      I'm not trying to put you down, but i have the feeling that these game devs are reinventing the wheel because they never had a use for one before.

  • by JaredOfEuropa ( 526365 ) on Wednesday August 25, 2021 @01:03PM (#61729021) Journal
    What about ladders? Ladders where you go up if you want to go up, down if you want to go down, and won't fall off if you get on them at the top end.
    • Compared to doors, ladders are a bit easier. They do not move, you only have one moving actor the entity climbing up or down. With doors you have 2 moving objects, the entity going through the door (or half way or back out), and the door itself, which can be blocking or non blocking, moving half way etc.
  • by UnknowingFool ( 672806 ) on Wednesday August 25, 2021 @01:04PM (#61729027)
    Game engines can simplify game development with prebuilt code; the problem is when changes have to be made to the game engine. One of the problems that Kotaku reported in the Anthem development [kotaku.com] was the Frostbite engine is notoriously difficult to adapt to other genres as it was developed for FPS games. "Frostbite is full of razor blades." according to a former BioWare developer.
  • And reinventing it every single time. Everyone decides to redo a water physics. Or splashes. Clouds, etc.

    • by SirSlud ( 67381 )

      The nature of games means it's very difficult to decouple systems. You can just drop in a system that does water simulation from one game to another. That system will do water simulation differently, using different math and/or container libraries, replicate itself with different network replication libraries, cover a different problem domain than the other system .. etc etc etc

      That's largely a function of what (3d navigation based) games are. An attempt to build a simulation of nearly everything means lots

    • Comment removed based on user account deletion
      • by fazig ( 2909523 )
        Another one who has backed Star Citizen at some point in the last 9 years I take it?
        • by Luckyo ( 1726890 ) on Wednesday August 25, 2021 @02:11PM (#61729305)

          Best 30 euros I ever spent. Taught me to never participate in crowdfunding.

          • by fazig ( 2909523 )
            Or pre-order. That has backfired a couple of times as well for me.

            And I almost pre-ordered Diablo II: Resurrected. Then:

            Q: Will TCP/IP support be available in the Early Access to Open Beta tests?

            A: TCP/IP support will not be available in the upcoming Beta or the final game. After careful deliberation, we will no longer be supporting this option as we identified potential security risks and are committed to safeguarding the player experience.

            And

            PLEASE NOTE: An Internet connection is required to download

            • by Luckyo ( 1726890 )

              But they protected you from sexism by redesigning amazon!

            • Okay, people here seem to be using words to mean something different from what I understand them to mean. If the game doesn't have "TCP/IP support", how can it connect to the Internet?

              • by fazig ( 2909523 )
                That's what Blizzard used to call the LAN peer to peer multiplayer option of the game under Windows (also worked for VPN of course).
                • That's what Blizzard used to call the LAN peer to peer multiplayer option of the game under Windows (also worked for VPN of course).

                  Right, when it was a fancy new feature, in contrast to modem or IPX.

    • by lsllll ( 830002 )

      I used to do one hour lectures on career day in my local high school where my wife works. The lectures were on computer programming as a career. Invariable, most kids who came to the session were boys, and most of that group wanted to to game programming. So the question was always "what should I concentrate on if I want to be a game programmer." The answer of course depends on what you mean by game programming. Doing art work for games is a completely different beast than game mechanics. For game mec

      • That's a massive overcomplication of the actual effort and mathematical knowledge required to fire an arrow from a bow in a videogame...
        • If you can't solve the over-complicated problem then you won't like programming the simple approximation. Different complexities are involved in the programming but the problem solving is quite similar. You can't tell them the tons of API features you'll have to use, programming language details and other peoples code you will have work with in order to implement the simple physics approximation. Not in a short talk for a total beginner. Best to stick with the math and physics; especially when those are

        • That depends on the scale of your game, you might want to if it was a medieval version of those "high realism" sniper simulation games where you get to see the bullet's trajectory in slow-mo as it pierces you enemy's armor and proceeds through their inner anatomy.

      • by porges ( 58715 )

        Then you learn that the players don't want that at all. They want to shoot at the enemy and have a good chance of killing them with a satisfying thunk; that's it.

      • I doubt anyone has for any game ever modelled an arrow that complex.

        Typical you have a random number determining if you hit, and another random number determining an amount of damage in a range that is given by the properties of the bow and the arrow.

        You should once play a game, then you would know that :P

  • Whoa (Score:4, Interesting)

    by WankerWeasel ( 875277 ) on Wednesday August 25, 2021 @01:07PM (#61729039)
    It's almost like every other job where everyone thinks their own jobs are more difficult than anyone else's in other departments. Amazing.
    • Re:Whoa (Score:4, Informative)

      by Dixie_Flatline ( 5077 ) <vincent.jan.gohNO@SPAMgmail.com> on Wednesday August 25, 2021 @01:36PM (#61729139) Homepage

      I've been a game developer for 20 years. I don't think my job is MORE difficult than anyone else's, it's just just that there's nothing simple in this industry.

      There are precious few things that are straightforward, which is what the doors thing is about. They're a theoretically simple object, and they're certainly simple as a concept, but because realism is rarely the goal, we have to implement doors in a way that's fun and that's rarely the same from game to game. In some games you want to kick them down, and in some you want them to stop the enemy. There's no consistent standard for doors because they mean different things in different contexts.

      And then you've got the pathology of players. One of the single best pieces of advice I ever got was in the first few DAYS of my career. My boss was telling someone he wasn't going to fix a bug, because basically to make the bug happen, the player would have to be doing something self destructive in the first place. "If they want to eat a rock," he shrugged, "sometimes you have to let them eat a rock." Players will do their best to do stupid things and you have to protect yourself against them in a way that you don't normally have to in other kinds of software. People WANT to have their documents work, they want their bank account balances to be correct, etc. You don't have to worry about someone trying to find the secret way to accidentally-on-purpose delete their 40 hours of work by selecting menu items in the right (or wrong) order. They'll try to get themselves wedged into geometry in a game world, though, and record it when they fall through a world and crash the game and corrupt their save file.

      • I was a game developer for 17 years. The part that always pissed me off is the GUI on top of the game. The damn art directors are generally clueless and need you to make endless mock-ups so they can see how it interacts withe the gameplay and cameras. Nothing but endless special cases and bullshit.
      • Hadn't really thought that much about it, but that's probably pretty much true of software in general. I write web apps on databases and you'd think lots of stuff would be straightforward and easy to carry from system to system and it seems that something always bites you. The library never quite seems to do everything needed.
    • It's almost like every other job where everyone thinks their own jobs are more difficult than anyone else's in other departments. Amazing.

      Not at all. Most people with a brain don't think that at all. What this is about is users who don't appreciate the complexity that goes into making something work. That however is universal.

  • by bb_matt ( 5705262 ) on Wednesday August 25, 2021 @01:40PM (#61729153)

    ... although clearly web development is a massive order of magnitude smaller in terms of complexity, but...

    PO: "So, we just need a login as part of the functionality, what's that, 3 hours work? - you just need two input fields for a username and password and a button, right? How long?"
    Dev: "Well, it's more complicated than that. We need to integrate with ID+, we need to ensure it is secure, we need error handling, logging, testing etc. etc. - so, about 2 weeks."
    PO: "2 weeks for a login form with two input fields and a button? Sorry, you need to squeeze this into a day"
    Dev: "We can't do that. It isn't possible."
    PO: "I'll chat with your line manager"
    Dev: "I am the line manager"

    etc. etc.

    The simplest of concepts on the surface, just grow arms and legs when you start coding them.

    • The mandatory XKCD [xkcd.com].

    • by fazig ( 2909523 )
      I've been professionally developing measurement instruments for use in scientific experiments and industrial cases for the last decade.
      In 2018 I started to work with game development. First with Unity, then Unreal Engine.

      Now in 2021 I can say that game development overall is a lot more complicated if you want to make something good.
      Part of it is that your average user is a lot dumber while having a full blown Dunning Kruger effect going on where they think they know absolutely everything. And since they
    • Mechanics have a saying that goes, "Every simple fix is one broken bolt away from turning into a three day nightmare."
    • by Jeremi ( 14640 )

      PO: "2 weeks for a login form with two input fields and a button?

      That's a good example of the iceberg problem [joelonsoftware.com] which consists of every non-programmer in the world (and occasionally some programmers as well) imagining that the GUI is the program and the program is the GUI. They never see or directly interact with any of the internal parts of the program, so to them those things simply do not exist. The intuition is that once you've got the GUI implemented, the functionality it represents will just magically appear.

  • This is because they're lazy shits relying on some kind of quarter century old vis number cruncher to analyze static landscape, and doors, like monsters and characters, are dynamic.

    People have developed procedural landscape generation, there is just such a 20 year old thing that puts a scene with character and monster running around in only 15k.

    Build a modern engine, a truly modern one, not just a 10th generation piece of crap that shoves 120 fps motion-captured turds around the same vis'd landscape with 2

    • All of your complaints are likely true, but if you write the whole thing yourself... then the hard parts are still everything!

    • People have developed procedural landscape generation, there is just such a 20 year old thing that puts a scene with character and monster running around in only 15k.
      There are procedural ways/algorithms, that generate a whole planet. Unfortunately the developers never really released anything except videos ... I would buy an engine that can do that instantly.

  • Everything is easy for the person who does not have to do it. Go back and read DIlbert a few more times.
  • ... just like about every other piece of software, except not all of it is expected to be a blockbuster and sell millions of copies/microtransactions.

    cool. now take rest, you earned it.

  • "We write this code not because it is easy, but because we thought it would be easy."

    https://twitter.com/pinboard/s... [twitter.com]

  • by FoolishFrost ( 8582307 ) on Wednesday August 25, 2021 @04:01PM (#61729839)
    If been working in the games industry for 16 years. Not bragging, just a timeframe. General truth is, nothing you see on the screen is real. It’s all lies. I know that sounds simple, and seems like common knowledge, but even with everyone knowing that “What’s so hard about making an elevator go up?” Well, you are depending on the elevator going up, and not the whole level sliding down. Or it just removing the old level and constructing the new one while you wait as a fake loading screen. Or dealing with physics that demand the characters are anchored to the floor of the elevator while in it, causing physics to become wonky. Or that the elevator can only be used by player characters, and npcs can’t even see you when you enter it because a moving elevator removed it from the path finding map they use to track and follow you None of the above even makes SENSE to a person not embedded in the game industry. It’s just an elevator. Most gamers don’t even know how that elevator in the game really works, or what it’s job really is. And every solution you choose, paints you into a corner to what solutions you can use to fix other problems. Meaning that sometimes, you have to rebuild a system from scratch, reconnect it to the rest of the game, and pay the developers many, many, MANY, thousands of dollars to do it. It’s not that game design is harder. It’s just an order of a magnitude more jenga tower complex that the average work goal. It gets crazy real fast.
    • Wow. /. Removed every bit of formatting I added. Amazing.
      • by Ocker3 ( 1232550 )
        Yup, /. uses it's own formatting system that you have to learn, just like a new game engine :)
    • General truth is, nothing you see on the screen is real. It’s all lies.

      Wait, you are telling me there is no guy named Mario and I'm not compelling him to move?

  • Even if something just feels off, it's enough to pull your mind away from the game world and back into the mundane -- let alone if it's buggy.

    Never have I seen it better described than in a 2010 review of an EEG device (they might have improved since) where you control a Star Wars-like game character with just the headset that often fails to read your brain activity correctly and so commonly a wrong thing (or nothing) happens:

    "The EPOC has now proven something I've long known in my heart but had no proof of

  • Better phrasing:

    "The hardest part of making a game is not much harder than the rest".

  • Making it fun.

  • "Think about every button frame, background, gradient, drop shadow, border, marker arrow, icon, gizmo and do-hickey in a UI," Weinbaum said. "Somebody has to make all those! And then each one is brought into the engine, and carefully hooked into the UI."

    No wonder game programming is considered hard, if you are required to separately hand-design the gradient, drop shadow, etc. for every single individual button, rather than creating reusable components. I think that would make any kind of development hard, t

    • by Jeremi ( 14640 )

      No wonder game programming is considered hard, if you are required to separately hand-design the gradient, drop shadow, etc. for every single individual button, rather than creating reusable components.

      You can have pretty GUI components, or you can have reusable components; but generally speaking, you can't have both.

      Pick your poison:

      1) Have your talented in-house artists / visual-designers create the GUI elements for you using Photoshop (or whatever they use for that sort of thing, I haven't been paying attention) and send you the resulting bitmap files. They will be gorgeous, but of course they will be a fixed set, so whenever you need to add another button or change an existing one, you'll have to go

  • IIRC, Wolfenstein 3D did this by having the doors go behind the wall (now, you couldn't close the doors). I also can't recall a single person complaining about this who wished the doors functioned in a more realistic way while they battled mecha-Hitler. They're still used in this way in the competitive FPS Valorant for example. Doors are a solved problem and every game that has deviated from this very simple formula I have found the door behavior annoying.
    You want a hard problem? 3D Ladders. I haven't climb

  • That is, getting everything to mesh together into an experience that is cohesive, consistent, and fluid in terms of mechanics, interactivity, aesthetics, feel, tone, and narrative.

    If one or more of those aspects is off, the game doesn't feel right and other flaws get magnified. There's even a certain "uncanny valley" effect where very slight flaws create a more noticeable yet hard to identify experiential dissonance than larger flaws.

  • by Arethan ( 223197 ) on Wednesday August 25, 2021 @07:12PM (#61730457) Journal

    // this is the most hacked, evil, bastardized thing I've ever seen. kjb
    https://github.com/ValveSoftwa... [github.com]

    • I recognise that coding style. It's "I made this up as I went along, then fixed it up later".

      Did that too many times myself in the past.

  • ... but that's programming for you. The hard parts are rarely what the suits (or other non-programmers) think will be the hard parts.
  • This all seems to suggest to me that game programmers, like most people, eventually end up in a position that is above their skill level.
    And maybe more so than in other jobs, game programmers seem to want to reinvent an already existing thing for themselves. Aren't there good patterns around? I mean, how long has the industry been making doors now?

HELP!!!! I'm being held prisoner in /usr/games/lib!

Working...