6 ms·
A related article: A survey of gamedevs answering "What is a thing in video games that seems simple but is actually extremely hard for game developers to make?"
by dharmab 5y ago
A related article: A survey of gamedevs answering "What is a thing in video games that seems simple but is actually extremely hard for game developers to make?"
https://www.ign.com/articles/turns-out-hardest-part-making-game-everything https://www.ign.com/articles/turns-out-hardest-part-making-g...
- faanghacker 5y agoSo basically, everything is difficult, including doors. That makes the OP article sound like clickbait, making doors out to be the most difficult thing about game design. Also, I wonder how much of it is due to the disconnect between design and software implementation. From a software perspective, it doesn't seem that difficult to define doors as a separate class or type of game object behavior, and hard code that behavior into sequences. It seems like the difficulty is mostly on the design/animation side. Controversial opinion: Maybe the problem is that designers and animators are just not as good at solving these logic problems as the software engineers.
- burnished 5y agoSounds like you'd benefit from giving it a try. I'm going to go out on a limb here; you're at that stage of your life where everything you haven't tried sounds simple and you don't understand why other people struggle so much. I'm guessing this because on hearing that something is difficult your first suggestion is to.. simply design a class, and then suggest that the problem resides in the kinds of people approaching the problem. Its a sort of arrogance that I think will be familiar to many people. But it sort of assumes that other people are too stupid or incompetent to try <insert obvious easy solution>. You might do better by trying to figure out what went wrong with the 'obvious' solution, or what you are missing in your own understanding that makes the problem appear so much simpler. If you figure out novel solutions, great! That's real genius. I think mostly you'll find out how tough most problems are.
- dharmab 5y agoThank you for writing up a clear headed response. I had started to write a response to the comment, but decided I didn't know a way to phrase it in a way that would be constructive and decided not to submit.
- faanghacker 5y agoI didn't say it was simple, I'm sure it's a complex problem. But maybe not disproportionately difficult to model if you can handle the complexity. That's why I gave the benefit of the doubt to the software engineers. IME Most people can't handle complexity in their own fields of work, whether it comes to tax accountants making mistakes on my tax return that I caught later; or real estate agents telling me my queen-sized bed won't fit in the apartment, when I already knew from analyzing the floorplan that it would, and I was correct when we measured the room; or international flight attendants overcharging me because they can't do currency conversions properly. I've worked in the software industry including FAANG and dealt with a wide range of people, some of whom I've had to explain basic problem solving concepts or do things for them that they should have done themselves. Believe me, I'm at the stage of my life where I've tried a lot of things, succeeded at some, and failed at others. I've lived in different cities in different countries. More importantly, having been exposed to a wide range of people, I am less inclined to overestimate most people's ability to do things. Is that arrogant? Maybe. But I started out assuming that everyone has some latent untapped talent/creativity/curiosity/potential and over the years I'm less inclined to give people so much benefit of the doubt.
- scrollaway 5y agoAh, you’re one of those people. Sounds to me like the person you’re replying to had you perfectly figured out. If you’re lucky one day you’ll get to look back on this comment in regret. If not, you’ll keep living in ignorance.
- faanghacker 5y agoGood thing I had the foresight not to "follow my passions" and work in big tech instead of game dev or academia, which is why I'm retired and don't need to worry about either regret or ignorance.
- 5faulker 5y agoDoors are one of those things that seem simple but actually is not, due to it being an interaction point between players and the game.
- Animats 5y agoMove, shoot, and drive are easy, or at least well worked out, and everything else is hard. Doors are just a common case of "everything else" Sitting down realistically is hard. Standing up realistically is hard. Picking up stuff realistically is hard. Interacting with any object via contact is hard. Interacting with moving avatars is really hard. The hard problems come up when you actually have to do motion planning, in the robotic sense. Few games do that. In most games, you're just moving the avatar while running canned animations. UE5 has a new dynamic animation system which is supposed to help with this. In the UE5 demo video, you see the character walk through an open doorway, and she reaches out and touches the doorframe. That's some kind of IK-driven animation triggered by proximity. Not clear if the mechanism behind that is general enough to handle door opening. Anyone know? In virtual worlds, where you don't have pre-planned gameplay, it's a big problem. Second Life has hundreds of thousands of doors, and at least three vendors of door control software. Usually, doors have to be clicked on to open them, although stores often have automatic sliding doors.
- egypturnash 5y agoWatch the video, it goes into detail about why doors are hard, especially as you start moving from "press space when near the door to make it slide into the wall" to "the door is a physics-simulated object that interacts with all the other physics-simulated objects in the game, and which players and NPCs will open in a realistic fashion that involves blending pre-fab animation with the location of the handle/knob relative to the character instead of vaguely waving a canned animation in the direction of the door as it magically opens". Never mind a door simulated at the level of "I am opening it just wide enough for me to get outside with some food and water for the semi-feral cats who live under my house, with minimum opportunity for them to run inside before they're distracted with that food, also I have to kick it to get it open now because this is New Orleans and the house just settled a little more after Ida and now the frame's a little less square". Which is an interaction I have with a door every morning without ever thinking about the door. There's also a quote from a lead developer at an AAA team saying that doors are the hardest thing to get right. Everything in a video game is a thin veneer of illusion, and doors are surprisingly complex in how they have to interact with every level of that illusion.
- faanghacker 5y agoI suppose if you're going for that level of realism, then you have more complexity like the person reaching for the doorknob and opening it. That's certainly more complex. Maybe the problem is trying to simulate it as a generic physics engine object, as opposed to a specific object type that has its own hard-coded rules of motion. Again, there's complexity involved, and I can see how it makes the job more difficult when you have to integrate with the rest of the game engine. Still, I would think that by now game devs should know that doors are difficult, and thus take them into account from the beginning when designing a game engine (maybe that's what they do) rather than trying to integrate them into the engine that's already been designed.
- short_sells_poo 5y agoThere are some things that generalize in game development, mamy don't. How you implement a door can very much depend on the sort of game you are building. And it can absolutely get complicated simply by the fact that you'll likely need to hand roll your solutions. I haven't worked in game dev in decades, but I remember that just network synchronization could be tricky because the degree to which a door is open could lead to very different outcomes in a game. Eg take a shooter game: Does the door block/deflect bullets? Yes? Well now you need to make sure to synchronize clients really cleverly because each player will see a different state of the door depending on their latency. Whether they can shoot through the opening is relative to each clients' reference frame. Oh, just make the server decide you say? Well, now all your inputs have a perceptible delay because your client has to wait for confirmation from the server, or you'll often see jarring prediction error correction when the thing you predicted is wrong. A huge amount of research and work has gone into this and yet there's still no silver bullet. That you think this is all solved just says that you know very little of the problem area - which is ok - but then you should not be making broad and confident statements about it. A touch of humility doesn't hurt.
- faanghacker 5y agoI watched the video again. Still don't see what the big deal is. For example... NPCs blocking doors? Don't put NPCs there, and tell AI to avoid door zones rather than trying to make them know how to move out of the way when doors open. Car on the other side of the door? Don't let the door open all the way. In the elevator example in the IGN article: Implement an elevator door like in modern elevators, or if it's more primitive, don't let players or NPCs walk under the elevator, or worst case, kill the character -- can't call the AI dumb if they avoid being under the elevator that can kill them. This isn't an unsolved problem. Halo did this with telefragging someone who is blocking a teleporter, and StarCraft did this by destroying the siege tank under a landed building.
- gus_massa 5y ago> StarCraft did this by destroying the siege tank under a landed building If this in StarCraft I? In StarCraft II even a burrowed zergling can prevent the landing of a Command Center. (That makes no sense from a realistic point of view.)
- faanghacker 5y agoYes, StarCraft I. The issue wasn't physical realism. The problem was that a player could move a tank under a building during mid-landing, siege it up, and the boundaries of the building protected the siege tank from melee attacks. Killing the tank was the "creative" solution, instead of a "brute force" solution to change the game dynamics to prevent the tank from sieging up under the building in the first place. In SC2 the tanks will be forced to move out from under the building when it lands, but SC2 also has a much improved unit movement system over SC1 that allows this to be done more easily.
- sgarman 5y agoI've never seen this in any of the BW games I watched. I wonder if they fixed it. You just can't land a building where a unit is. There was a crazy bug where you could load units into a flying CC and use it as a mobile fortress but that too is patched.
- Legogris 5y ago> For instance, I worked on a game where if you reloaded immediately after defeating a particular boss, you would get locked into the boss room, because the door leading out of it was not keeping its open state correctly. Reminds me of Zelda: OoT. At the final boss fight, Ganon knocks the sword out of your hand, the only point in the game where you're without a sword equipped as an adult. In early versions of the game, if you saved and reloaded at that point, you would end up with the sword unequipped, resulting in some glitchy behavior. For example you could now use any equipped item on horseback. The hookshot could be abused to allow you to move Link pretty much freely in 3D space. Even in later versions, you can get to this behavior by never picking up the first sword and lifting the left side of the cartridge ever so slightly when Mido blocks the way to the first dungeon until you have a sword, allowing you to pass through him. The no-sword OoT challenge is just challenging enough to be fun.
- mucle6 5y agoIIRC the glitch speedruns relied on the fact that you didn't have to get the master sword since you could pick it up if you were able to "warp" to that cutscene. https://youtu.be/OKSWkpC_SC4?t=946 https://youtu.be/OKSWkpC_SC4?t=946 Link starts at where the master sword gets knocked off but the premise of the speedrun is interesting on its own.
- don-code 5y agoAh, the Crooked Cartridge trick! I haven't heard this mentioned since the 2000s. Zelda: OoT was (and still is) one of my favorite games of all time, and I was devastated to have bricked my cartridge this way - along with my nearly-fully-finished game (IIRC it was just the Golden Skulltula sidequest remaining). To be fair, it was _saving_ after having performed the glitch that persisted glitched data to the save RAM, but I only figured that out seven years later.