Analysis

Surely this series must be ending soon, right? To which I say

There were five games covered here – Dungeon Keeper, Theme Hospital, Rimworld, Planetbase, and Dwarf Fortress, each with distinct ways of handling rooms.

There are quite a number of axes along which to analyze these games, so let’s dig in.

Furniture

All the games on this list except Dungeon Keeper have player-placeable furniture. It’s not enough to build a room, you also have to populate it with items for your humans/creatures/minions. Theme Hospital is most insistent about this, since you can’t finish a room until it has a minimum set of furniture, while the other games are significantly more lax – want to create a dorm in Planetbase with no beds? Go ahead. It isn’t gonna work, but you know, you can if you want to.

Another critical aspect of furniture is actually the user experience involved in placing it. Theme Hospital and Planetbase are actually quite nice in this regard, as you are only shown, and can only place, items that are pertinent to that room. Some items are fairly generic common across multiple rooms (e.g. plants), but also you can’t place beds anywhere but the dorm, desks anywhere but the GP’s office, and so on. It greatly simplifies the experience for newcomers and experts alike, but does cut down on the sandbox-iness of the game somewhat. (I actually shouldn’t say I believe the overall room construction in Theme Hospital is nice, but limiting you to the items that make sense is a welcome pattern.)

Contrast this with Rimworld and Dwarf Fortress: either requires you to look through a menu that may have dozens of unrelated items. Categories help somewhat, but they’re like phone trees of the menu world – not something you want to deal with a lot.

Lastly, Dungeon Keeper has furniture, but they’re automatically placed based on the room size.

Room Shape

Dungeon Keeper, Rimworld, and Dwarf Fortress literally let you carve rooms out of the earth. These rooms can be as large or small as the player wants, and don’t have to be rectangular-ish, but often are. Rimworld and Dwarf Fortress let you build walls as well as tear down earth, for constructing above ground – Dungeon Keeper, being entirely below ground, doesn’t have as much use for walls, and actually you can never replace soil that has been dug out (but doors can help somewhat).

Theme Hospital rooms have minimum sizes that vary by room type, and rooms must be rectangular. Further, because real estate is generally pretty tight, you usually want to make the rooms as small as possible or close to it.

Planetbase is possibly the most restricted – every room has a fixed number of sizes that vary by type, but have 1-4 different sizes. I think this is mainly because the round shape of the domes is a bit unnatural for us Earthlings, and the furniture inside is on a grid, so the game protects you from creating a dome that only allows a fractional number of tiles.

So how should I model my rooms?

If you’re a gamedev building a game that’s going to have rooms in it, there’s a number of questions you have to ask yourself.

How open is the build area?

And is there any digging involved?

In both Theme Hospital and Planetbase, you basically have a big open field and you’re placing or subdiving it into rooms. The acted of placing rooms is coupled with placing the walls – they’re discrete spaces.

Conversely, in DK/RW/DF, you often dig out any arbitrary space you can find and place rooms within, and it feels much less linear. You can dig out an empty space, come back later, make it into a room, then later enlarge the room by digging out one of the walls and expanding the room. A room never really has to be “done”, as long as there’s room to expand. (In RW/DF you can place walls too, when building outdoors, but that’s not super important.)

Do you want to prevent the player from shooting themselves in the foot?

On the TH/PB side, you have two polar opposites. In Theme Hospital, you can’t create an invalid room – the game won’t let you. You can’t exit out of the room creation process until the room is in a valid location, has a door, and has the required items placed in valid positions. Planetbase is just the opposite. You can place the empty room and walk away. But if you don’t add a connection, or add furniture, then the room won’t actually function. Planetbase works around this with an abundance of contextual tutorial tips that crop up constantly.

Dwarf Fortress not only permits you to shoot yourself in the foot, it profers a variety of implements with which to do so, even ones you never asked for. This game has probably the steepest learning curve of virtually any non-twitch game with a decent-sized player base. So no, DF doesn’t help you out any. The menus are deep and have many options, and objects that are to be placed in a room together are rarely found in the same submenus. But eventually you memorize which keyboard-incantations you need for which items.

The room placement in Dungeon Keeper is simple enough that there’s not that much room for error. If you create a training room of size 3×2 (useless – not big enough to accomodate a training dummy), the game won’t let you know, but you can see, trivially, that the room is incomplete, provided you know what to look for (and there is a tutorial, and often complete rooms are shown to you before you have to build them).

Rimworld is more like The Sims. You can put anything in any room, but it’s usually pretty intuitive. Kitchens have stoves, bedrooms have beds, workshops can have whatever random workbench you want, etc. It doesn’t really need guard rails because it doesn’t really know what rooms even are. There also aren’t that many objects, maybe 50 or so. The list isn’t overwhelming, and it’s reasonable to learn and use them all.

That said, if the interactions between furniture and colonists were a little richer, it might make sense for a Rimworld-like to be a little more hands-on. As an excessive example, if preparing a fish meant cooler → cleaning → gutting → scaling → skinning → frying → storing, and for whatever reason each of these required a different site or furniture, then yeah, I’d expect the game to walk me through creating those sites and pieces of furniture. But Rimworld is more stockpile → fueled stove → stockpile, or stockpile → butcher table → stockpile. Any particular operation involves just a couple steps.

Further, if you do want to create a room that has multiple pieces of furniture in it, like a dining room, then table, chair, plant, and light are all in the same Furniture menu. Most tasks require use of a single item, through.

Is there a “best” way here?

There’s never a “best”, but I’d like to take the best from each of these games and see if there’s an approach that unifies them.

I’m prototyping a new game that has both “dig underground” aspects (like DF/PB/DK) and also “build structures above ground” aspects (like DF/PB). I want to make it approachable, and hard (but not impossible) to do the wrong things.

Personally, I really like it when games recognize rooms. I want to build a Kitchen and have the game know it’s a kitchen. So room-creation, like DK/TH/PB, will definitely exist.

When digging underground, there’s often fog of war, preventing the player from seeing exactly what they’re digging into unless it’s adjacent to open air. That is, neither the player nor the creatures can see through walls. So as convenient as it would be to dig out and place a room in one action, it doesn’t make much sense given fog of war. (Incidentally, I think Evil Genius let you dig and build in one action.)

So digging and building are separate actions. Digging should generally be based on a drag-and-drop-style rectangle, since rectangles are easy and it’s more efficient than painting every square to dig. Subsequently, a room can be placed in the open space, but like DK, it doesn’t have to occupy the entire cavern – you can place two rooms in the same open space, if you like. There would likely be some natural incentives against such a thing, though – perhaps some furniture (like ovens) can only be placed against walls.

Above ground would be a fairly similar story, but instead of digging out earth, you’d be placing walls, and the placement would default to a rectangular outline, to allow you to create a room-like area using one click-and-drag. Then, like underground, you could place a room or two in this newly-created enclosed space.

Like Planetbase, you could just leave these bare rooms to their disused fate, but it should be obvious that stuff goes in them. When you select a room, you’d be immediately shown what additional things you can buy and place in those rooms. Some of these items might require other facilities – a wooden chair would require a workbench, for example. You’d be able to physically place basically any item in any room, but each room would have a short list of “Common Objects” specifically for that room featured prominently to help the player out.

Example:

I want to place a bedroom.

  1. Select the dig tool.
  2. Drag a box in the terrain where you want your room, plus another tile for the doorway.
  3. Wait for the minions to dig out the area.
  4. Click Rooms, then click Bedroom. (There might be a “Comfort” section for keeping your minions happy or something)
  5. You can then click to “floodfill” the room (there’s an option on the sidebar for click-drag instead). This zones the area for construction, a quick and free operation (which is important in case they floodfill by accident).
  6. Before or after the room finishes construction, they can click on the room and see stats and things they can build in it. There should also be a “this room is not yet functional” indicator.
  7. Then…you can click on said items (e.g. bed, dresser, plant) and place them anywhere in the room. There’s a general items menu that has everything, and you can place these in any room, but you’re encouraged to “shop” through the Room -> Item menu rather than the global Items menu.

Basically, the game should give you as much leeway as it reasonably can without cornering you into painful, unforeseeable conditions (which is why Planetbase doesn’t permit arbitrary room sizes). At no point should you be forced into a linear sequence, à la Theme Hospital, once you’ve started building something, but that doesn’t mean the game shouldn’t assist you in finishing what you started. And lastly, placing objects in a room is fun – you get to customize what goes in the room and where it gets placed (unlike Dungeon Keeper).

Conclusion

Whew! Thanks for reading, and I hope you found this interesting. I’d love to hear from you – let me know your thoughts in the comments below.

Back to Pt.5: Dwarf Fortress

Or Back to Pt.1: Kickoff and Dungeon Keeper