'The Door Problem' of Game Design
An anonymous reader writes "Game design is one of those jobs everybody thinks they can do. After all, they've played a few games, and they know what they liked and disliked, right? How hard could it be? Well, professional game designer Liz England has summed up the difficulty of the job and the breadth of knowledge needed to do it in what she calls 'the door problem.' Quoting: 'Premise: You are making a game. Are there doors in your game? Can the player open them? Can the player open every door in the game? What tells a player a door is locked and will open, as opposed to a door that they will never open? What happens if there are two players? Does it only lock after both players pass through the door? What if the level is REALLY BIG and can't all exist at the same time?' This is just a few of the questions that need answering. She then goes through how other employees in the company respond to the issue, often complicating it. 'Network Programmer: "Do all the players need to see the door open at the same time?" Release Engineer: "You need to get your doors in by 3pm if you want them on the disk." Producer: "Do we need to give everyone those doors or can we save them for a pre-order bonus?"'"
I'd like little windows so people can see into the next room. These are always missing in games.
ALSO, I want to shoot something through the doors and blow them up with things.
#FeatureCreep
The article doesn't really say anything. For starters, it took me a while to realize she's talking only about computer games, and then even more specifically only about first person adventures / RPGs. From what I understood from the list of problems, I got that you decide on game mechanics and then generally boss people around.
PlusFive Slashdot reader for Android. Can post comments.
Most RPG Games I played have large number of fake doors.
Those issues sound like any feature in any other software project I've worked on...
Are there "Save" buttons in your application?
Can the user click them?
Can the user click every button in the application?
What tells a user a button is click-able?
What happens if there are two user?
Does it become read only after both users click it?
What if the UI is REALLY BIG and controls can't all exist at the same time?'
'Network Programmer: "Do all the users need to see the record save at the same time?
Release Engineer: "You need to get your buttons in by 3pm if you want them on the disk.
Producer: "Do we need to give everyone those buttons or can we save them for phase 2?
I'm not convinced by TFS. The answers are, roughly:
Am I the only one who finds arbitrary restrictions in games, either because the technology couldn't cope, or because the game designer knows how you want to play better than you do, or just because, really annoying? If there's a door there, it should open. If it won't open, there shouldn't be a door there. How hard is this? Putting a door there that's never going to open just frustrates the player and destroys the suspension of disbelief. It reminds them that they're not really in this world they can see, they're in some arbitrarily limited construct devised by a "product manager" at some company to try to screw a few bob out of them. Of course there need to be some limits on the world, because the technology isn't infinite; good game design should make those limits look natural so that the player never even notices that the limit is there.
Tomb Raider games are amazingly annoying - some things you can jump and grab, some things you can't. The only way to tell is to jump and try grabbing it. If it doesn't work, maybe you can't jump and grab that thing, or maybe you just didn't quite get it right. I know, I know, this is not the point of Tomb Raider games, Lara is, but still...
Slashdot - News for Nerds, Stuff that Matters, in ISO-8859-1 Has just realised that beta makes this signature redundant
I believe fallout 3 handled the issue of too many doors and not enough resources to program a room on the other side quite nicely as demonstrated in this clip (possible NSFW) http://youtu.be/WGKs9-VLgsQ?t=...
Compare that to "we need to store patient data..."
Do you know what HIPAA is?
Is this going to be accessible over networks/internet?
How are you planning for archive/restoration?
How will we handle auditing?
Should it be over web services or custom server?
How are we going to manage permissions?
How do we securely persist on the client side?
Seriously? The door exercise is strenuous mentally? Anybody with actual software engineering experience will tell you that ALL software features result in design complexities, and a door in a game is pretty simplistic one - whether networked or otherwise.
Loading...
Well, thanks for demonstrating the point.
We'd call 'em overlays.
One project I did, a series of mods c.1981 to bring real POS invoicing to an early version of Peachtree Accounting, was a BEAR. It was written in MBASIC running under CP/M -- Interpreted tokenized BASIC running on a machine that started with a 64k transient program area. No extended memory then!
Minus OS call kernel, COMMAND.COM, minus BASIC interpreter, your program was born with ~32k to use in its lifetime. So 32k minus the size of the program itself left you with a memory heap for variables. The heap grew downward with every string assignment and when it bumped into the code there would be this pause for "garbage collection" while the heap was de-fragged and re-written to the top of memory again.
No comments, too much room! No long var names! You'd use CHAIN to jump to another program leaving vars in memory. But if you your were clever you'd carve out line number ranges and place temporary functions into 'overlays' that loaded over existing portions. When you did a MERGE no p-code optimization or block was going on here, any load command did its work line by line, it was like a really fast monkey typing in the program code.
So in place of Peachtree's default invoice which was clunky and required lots of input steps (mostly useless for cash sales) to implement a streamlined invoice was difficult. They use lots of strings. My first attempt worked great --- but every couple of line items the heap would touch and trigger global garbage collection -- ~3 to 5 seconds where the machine would be unresponsive. In those THREADLESS 8-bit days when garbage collection began your keyboard controller would save ONE keystroke but the rest would be LOST. This is a total wash. Clearly it needed a whole re-write.
The only way I could make the entry portion useable was to throw out the programming concepts that made things 'easy' (yet caused heap movement). Don't assemble a string of spaces, use a loop to emit them one CHR$() at a time. Don't assign to strings, pre-allocate a number of strings of reasonable length and use MID$() to replace its contents, keep a separate string length var so you can only emit the portion of the string that was being used.
It was sorta like coding in C, in BASIC. That was kind of a 'door' problem. But it worked. Then the world went CBASIC and all our problems magically vanished.
<blink>down the rabbit hole</blink>
More likely it's because their lame engine or AI cannot cope with a dynamic environment properly, or their collision detection / physics get all confused by someone shooting through a door or window, or simply because they can't be bothered to make it work properly.
I don't see it as the problem of a new designer to solve, so much as the entire industry, particularly those who produce tools & middleware for physics, collisions and destructible environments. If the likes of Unreal Engine allows a building to collapse or take damage (e.g. a tank putting a hole in a wall) or to kick open a door then it is likely that many games would make use of that.
Clint Hocking (of Far Cry 2) wrote a similar article last month, using the design of reload systems as an example:
http://www.edge-online.com/fea...
No kidding!!! What do you say at this point?
Answer, you shouldn't be surprised that your project can't meet its deadlines or budget.
-Styopa
Not the case for every game ever. Maybe not even a majority
Do we even want access to every single room? We may want to illustrate that we're in a corridor. It would make no sense to be able to open all the doors and it would requitre a lot of level design time and memory space to have something on the other side of each door.
If no doors are locked then why do we need to remove this this expectation?
This is one solution. Should we have a message saying the door is locked? If so, what message? Should all doors make the same thud? Does that make sense for a metal door? If we go for different thuds, is the inconsistency too jarring? How much space do the thus assets take up? Is a keypad the correct design given the setting of the current level?
So which events will cause the door to unlock or lock for both players and which will cause the door to lock or unlock for only one?
Yes. Now, how do you propose we deal with the memory issue created here?
What if the door is only usable by players with a certain key or character type?
It's not a question.
Sucks for those who didn't pre-order. We're now the subject of an internet hate capaign because our game is broken. Or, we don't get as many pre-orders as we otherwise would have.
Every one of these questions is a decision that has to be made. The decision depends on the type of game, the resoucrces avalable (both in terms of hardware and developers), and all the decisions you'e made already.
And the point is, this is just doors. You have a similar lot of questions for any other item in your game.
Whilst we're sorting out the doors, I'd also like to be able to lift my feet a bit higher and climb over small walls, rocks etc.
Hear, Hear!
"A locked door conventionally makes a distinctive thud sound when the player tries to open it."
I usually play with game sound off so I can have Nertflix on another monitor (at least until more games embrace multi-monitor gaming) or Pandora in the background. If a game doesn't support subtitles (that include all relevant in-game sounds), then it better be 100% playable with the sound off.
Seems entirely too coincidental.
PHEM - party like it's 1997-2003!
Made me laugh, and I used your analogy in another post...
Loading...
This is sort of the point...
Sure, we can do that. What height is the limit for climbing over, and do we need to make climbable items distinguishable from climbable items that are marginally taller? Some objects need a more complex bounding objects so we need to find the resources to handle that. There are decisions to make here.
And now you can't simply pile up some small rocks to block a door, so you need to revisit the decisions you made on how to prevent access to a door.
If the game design document says "All doors should be openable, provided the door is unlocked, the player has the key or the player is willing to take a reputation hit by breaking and entering", then your job as a game developer is to implement doors as specified in the game design document.
If the game design document says "Doors are graphic inserts for effect only", then your job as a game developer is to implement the doors as specified in the game design document.
If the game design document doesn't say how to handle doors before people start building the game, then the game design document is incomplete.
Incomplete game design documents, like incomplete architect blueprints, lead to stupid things like what you get by googling "architecture fails".
The point is, most people don't realise just how much minutae you have to deal with in game design, and the job isn't as easy as a lot of people who want to work in games seem to think.
Most people think "Hey, wouldn't it be awesome if we ha could blow holes in all the walls and just kick down every door and we have an entire hotel toplay in with hundreds of rooms.
Yes, it would. But there are other things to consider that people don't think about.
You mean they didn't want to spend exorbitant money to implement that vision.
What tells a player a door is locked and will open, as opposed to a door that they will never open?
Why include a door in a game at all if it will never open. Isn't that really more of a "wall?"
Budget problems? For parts of a map that need to look plausible but whose precise arrangement isn't critically important to the story, try something procedural. Don't design a hotel room; make a program that designs hotel rooms. It worked for the space trading sim Elite, the shooter .kkrieger, roguelikes, graphical dungeon crawlers inspired by roguelikes, and Orteil's Nested tech demo.
Tech limits? Why can't the game just drop everyone to 1997-class graphics when it detects that what the players have chosen to do has hit fundamental limits of popular video gaming platforms? If it was good enough for GoldenEye...
You stated that incorrectly.
Those doors are locked but can be opened. Usually with equipment that an RPG character carries around "in-game". Whether that equipment is "lock picks" or "an axe" or "a rocket launcher".
What stops you from opening them is that you do not try to. Why you do not try to is because you do not want to go to jail.
Criminals "open" doors you consider to be "locked" in the real-world all the time.
90% of the doors in the game are fake and you can not get into them. Honestly, all that does it make players think the developers just half assed the game, and in RAGE's instance it is... 2 full DVD's and it has a shorter single player game than most of the War games that are designed to be not single player.
Do not look at laser with remaining good eye.
Teach the player early on what the difference is between a openable door and a purely aesthetic door. Some games (particularly ones with a sci-fi aesthetic) often use doors with green accents to represent openable doors and red accents for permanently closed doors. Some games like Deus Ex often have the door slightly depressed into the wall to signify a usable door, whereas purely aesthetic (closed) doors are generally flush with the wall.
Provide a different set of door types very early on in the game and the player will learn very quickly which doors to try and use. After a while it becomes automatic. To be honest I'm surprised this is seen as a problem anymore - I've never really thought about it for years. Maybe the next generation of game developers don't know much from history.
I'd also like to be able to lift my feet a bit higher and climb over small walls, rocks etc.
Climbing I'll give you, but what feet?
Will there be door prizes?
Will Jim Morrison be a playable character?
Were you born in a barn? (Shut the door!)
I'm a good cook. I'm a fantastic eater. - Steven Brust
In games industry it's more like this: "I don't like the main character, change it to something more contemporary, a special-ops operative maybe? I don't care it doesn't fit with your theme of magic unicorn land, make the other magical creatures into taliban and we're sorted, right? Well then make it an FPS, no one plays plaforming games any more anyway. Oh, and throw in some realistic explosions, fancy mo-cap and destructible environment. No, you can't have more money. Just make sure the story is coherent and up-to-date. I don't know, look at the last 3 CoD titles' storylines and mix it up a bit. Heck, I DON'T NEED TO TELL YOU WHAT TO DO - YOU'RE THE DESIGNER HERE! NOW MAKE IT HAPPEN! And fix me up with a Gantt chart so that I have something to fiddle with while I'm talking to you next time..."
in your game? Will the stalls have doors? Can the user open the stall doors? Can the user close the stall doors for privacy? Will users be able to leave the restroom without first washing their hands?
The USA is only 4X older than me...perspective
Woosh.
The point of the article is that these are questions a designer has to consider for every single object and system in the game, interactable or not. There are no obvious answers because the answers will be different depending on the nature of the game one is trying to design. Some of the questions aren't even relevant to most games (which is intentional on the part of the author). The point is that designing video games is not just coming up with fun gameplay, but handling a lot of tedious and mundane details for a complex interactive system, and coming up with answers and solutions for things that most players will never even think about (until it breaks).
Also the second set of lines are demonstrations of how a person from that area of production might influence or interact with the design of a game system or object, not questions to be answered.
And also that many people who think game design is easy don't realise this.
You already realise this. Good for you. You don't need to read the article. If you work in any creative industry, you'll encounter a lot of people who have a "brilliant idea for a game" (or whatever) and are completely unaware of just how much goes into the simplest aspect of design.
It all depends on how much real imagination you've got. I designed a text adventure many years ago for the BBC Model B. Doors were based on reality. Some opened inwards, some outwards, some had locks (and you had to get the right key). The nasty ones would swing shut behind you and you'd find there was no handle on the inside.
:)
There were, of course a host of appropriate messages
What is far more important is that you have a game plan, room list, alternative routes/actions, and most important of all an objective.
How did they forget the most important question? "If the door opens towards you, does it crush you into the wall?"
mod up
The guy who said the election was rigged won the presidency with the second-most votes.
Hmm, interesting article. Thanks.
bingo.
its like the difference between drawing a really cool airplane...
and actually designing the thing so it can function.
drawing a shape is easy.
drawing one that will fly, not really much harder (unless you get really carried away with cool factor stuff).
deciding where to route the miles of electrical wiring and plumbing, where to place the holes in the structural bulkheads for them pass through, how much space to leave between the inner skin and outer skin for them to be routed, where to place the systems the wiring/plumbing connects to, keeping everything balanced so the craft is stable, how much clearance around moving parts (like control or action rods) within the skin is required, where access panels should be located for maintenance, which panels need welded, which riveted, which screwed in, which are accessible....and this is just a short list focused on wiring and panel accessibility.
The guy who said the election was rigged won the presidency with the second-most votes.
I don't think she does a very good job of explaining why good game design is difficult.
It's not that game design itself is difficult, it is that GOOD (ie, fun) game design is difficult. She's basically addressing the wrong problem set. What she is describing is simply software design and engineering issues, which boils down to 3 real categories:
1. Functional / feature design: the rules which govern whether they exist and how they can function. AKA "business rules" in normal software development.
2. User Interface design: how the user (player) interacts with it.
3. Engineering/Implementation issues: how do you make 1 & 2 real and work, while reducing undesired side-effects.
1 & 2 generally form a specification for the feature's design, and 3 is the specification for how to implement it.
This is not unlike many common design and implementation processes for standard software design and engineering of complex systems. The real difference is that, while a software system designed and implemented correctly may fulfill all the intended design objectives, there is an additional objective which games add to the mix that is not generally present in normal business applications: fun. Unfortunately, it is not an objective criteria, and requires "play-testing" to discern whether a particular design is fun or not. It is very difficult to design-in "fun" from the very start of a project.
That said, with the advent of Serious Games, adding the "is it fun?" criteria to real-world business applications is happening more often.
Lastly, as a game developer, the single greatest challenge I have encountered is simply to keep going through the "hard times". Like any difficult software development project, there are times when things get dark and depressing for whatever reason, and there is difficulty keeping motivated to continue, but you have to bear down and power through the hard parts. The reason most game development projects fail that I have seen is that people don't really understand how hard it can be at times, and give up when the going gets tough. To me, this is a more difficult hurdle than in typical business application development, because many people get into the development of games with an incorrect level of expectation about said difficulty.
-SS "Teach the ignorant, care for the dumb, and punish the stupid."
The parents point is that all doors need to behave the same way. If one door can be locked, they all can be locked. The question is not "can a door be locked" but "should this door be locked so the player has to find a key?" If a player can block one door, they all need to be blockable. There should not be two doors that look identical but one will swing through a player, and the other will be blocked by the player.
It's about consistency of behavior. If one door behaves differently than another door then it needs to look different. If a door cannot be locked, then it shouldn't have a key hole. Any door with a keyhole should have a key somewhere in the level and it should be able to be locked and unlocked with that key. The only question is the starting state of the door and how many copies of the key there are.
It's not really a hard concept. It's about consistency of behavior.
Work Safe Porn
Game design explained in one post: Make a loop, inside that loop, put graphics in it's own loop, input handling in a loop, sound in a loop and networking in a loop. Start writing your game. Seriously fuck these people who say you can't do it. Fuck the courses and training. Just make a game. features, and what you want to put in it, are a matter of what you choose to throw in and what things you like. Commercial game development is different, but then it always has been. Still the indie scene seems to work well for a lot of people these days. If you want tp make games, there's nothing stopping anyone. The instructions are on google. How to program linux games by Loki software is a great intro. They designed it around 2d games, but the theory is exactly the same for 3d. You just have a 3d graphics loop rather than a 2d graphics one. I recommend the OpenAL,OpenGL and SDL tutorials and books.
that this door issue was handled in Doom. Don't have the key? Circle back, lock and load and hope for the best. Incremental saves are a plus.
I imagine that a renderer could use a window in a door as a cue to use a lower level of texture and geometry detail, especially if the window is tinted.
The door is a lie.
The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
I'm not convinced by TFS. The answers are, roughly:
Am I the only one who finds arbitrary restrictions in games, either because the technology couldn't cope, or because the game designer knows how you want to play better than you do, or just because, really annoying? If there's a door there, it should open. If it won't open, there shouldn't be a door there. How hard is this? Putting a door there that's never going to open just frustrates the player and destroys the suspension of disbelief. It reminds them that they're not really in this world they can see, they're in some arbitrarily limited construct devised by a "product manager" at some company to try to screw a few bob out of them. Of course there need to be some limits on the world, because the technology isn't infinite; good game design should make those limits look natural so that the player never even notices that the limit is there.
Tomb Raider games are amazingly annoying - some things you can jump and grab, some things you can't. The only way to tell is to jump and try grabbing it. If it doesn't work, maybe you can't jump and grab that thing, or maybe you just didn't quite get it right. I know, I know, this is not the point of Tomb Raider games, Lara is, but still...
It's called Critical Path. The path the game designer needs/encourages you to go to "win" the level. With the exception of sports games, simulations, and sand box games: There is always a Path, even if it looks like you are not following one. A good game designer knows all possible ways to go from Point A to Point B and either rewards you or obstructs you from going that particular way.
The whole experiment with the door is to demonstrate how different players in the design process view something like a door in a game. This is to be expected though. Each person in the development process has a different view of what would happen in the world they are creating. This also demonstrates the concept of Critical Path being key to a good designed level/game world.
As for doors opening/locked: The only way I see it breaking the suspension of disbelief is if doors that normally were always closed suddenly became operable near the end of the game without explanation or doors that were open-able become disabled even though they are clearly marked as open-able.. Marking them? At first that might break the perverbable "4th wall", but if they get immersed into the world all the signs and indicators become second nature and no longer have that much impact. It becomes "normal" to press a button to open a door even with a mysterious floating text there to indicate it. They don't even read it: They just instinctively realize that door is open-able because the indicator is there.
And you forget the issues if you are not an ambiturner.
It's not the years, honey, it's the mileage. - Colonel Henry Walton Jones, Jr., Ph.D.
I would like a game that does not penalize a player for having a life away from the computer.
Imagine a game where someone who logs in a few times per week, can still enjoy as much as someone who has no life and plays for 8 hours (or more) straight and you get the idea.
Also prefer games where you have a mission and are flying/driving a tank, plane and/or spaceship more than the personal shooter games. The Activision Battlezone and Wing Commander games for the PC come to mind, they were excellent! Would love to get those running on my Linux boxes, even if I had to slow down (or ignore) clock cycles to get it to run right. Loved those.
The First person shooters make me yawn.