The Z-level Question
Hello backers! For those of you who aren't aware, by far the most common feedback the game receives is that people are disappointed about the lack of "Z levels" i.e. multiple levels to turn the game from playing on a 2D plane into mutiple 2D planes stacked on top of each other (effectively making the game 3D, though still from a 2D viewpoint).
Early on in development I decided not to implement Z-levels for a whole bunch of reasons that I'll get to shortly. One of the major benefits to a long early access period is being able to take on and respond to player feedback while the game is still in a malleable state. It'd be a lot of work, but not impossible to take a stab at adding Z-levels while the game is still early in development, so I'd really appreciate any feedback and views on what you guys think about adding Z-levels or not.
To get the ball rolling, here's the reasons I have for not adding Z-levels to the game (and in italics, mitigating factors for each of them):
- It's a very complex addition to the codebase. It can be done, but it affects everything, making most other features more complex too, probably adds at least 12 months to the development roadmap in total, during the alpha phase before the game is likely to be profitable. Liquid flows in particular are very difficult to handle in 3D. There's probably no getting around this one.
- It's also very complex visually from a 2D viewpoint - Ideally you would want to show levels lower than the current one where there is a gap in the floor, probably either blurred or greyed out in some form. Being able to represent walls and ramps across many floors at once in "2D" is probably just too difficult without a full time artist on the team (which the budget won't allow for until the game becomes very successful, if ever). The compromise would probably end up only showing the current floor and nothing above or below, levels below the current one would be completely featureless. I really don't like this compromise, if there were Z-levels, I would really want to show things on layers below the current one, but I don't think this can be done well with the art style of the game, I believe true 3D or an isometric viewpoint would be needed.
- Even taking away the problems with showing multiple floors at once, "ramps" / tiles which represent a floor tile arching up to the next level, are very complicated to represent due to the many different layouts they may end up being in. It's not great but probably doable while cutting some corners.
- The true dynamic lighting is already very complex and most likely too difficult to extend into working across multiple floors. Dynamic lights would end up only illuminating the floor they're on with no spill-over to adjacent levels, which wouldn't be great.
- Rather than the map being, say, 200,000 tiles, that number is multiplied by how many floors there are, a minimum would probably be 10 so we're looking at maps of 2,000,000 tiles or several times more, which probably pushes lower-spec machines out of being supported (perhaps not a big issue by the year the game is fully released) and potentially slows everything down a bit too much. Much more memory use which is already quite high for such a simple looking game. It'd definitely kill off 32-bit support, though I'm heading that way anyway. That said, the game is written with some good performance tweaks and I think it could be managed.
- (Perhaps the most important one) The game becomes a lot more complex to play, Dwarf Fortress veterans will be fine but newcomers to the genre might struggle or be confused with not being able to see everything that is going on very easily. Is the game really not approachable when split over multiple levels? As an alternative and part of "play it your way", there could simply be an option to play on a 2D map for those who prefer it.
- (Most important to me) Following that, even if you're fine with and get used to navigating your own settlement in 2D slices of a 3D map, a huge feature of King under the Mountain is exploring other people's settlements. These would go from having simple to understand layouts and entry points to a potential nightmare of lots of tunnels and stairs hidden away in a very confusing labyrinth of levels to navigate. Don't think this can be helped either, other than people playing on 2D maps only getting to explore other 2D maps as a compromise. Don't really like the sound of that.
- Although a lot of combat will be melee-focused, ranged combat across multiple levels gets really, really complex fast. Line of sight is difficult to account for both for the developer and the player when they can't see what's going on easily. Imagine approaching a fortress across a plain only to be riddled with arrows from a tall watchtower that you couldn't see due to fog of war until you got too close. Disabling ranged combat across levels would be a big no-no so I don't think there's any getting around this one either.
- The game is still viewed and played from a 2D plane, you wouldn't be able to see all of your settlement at once which takes away one of the goals of being able to sit back and watch things get done. It sounds small but it's a big factor in the "feel" of the game, as something a bit more chilled out and peaceful (even enjoyable!) than its peers. You could build most of your settlement on the "main" level but there's no way of enforcing this.
And arguments I'm aware of in favour of Z-levels (again with counter-points in italics):
- The biggest one is that the game is themed around digging under a mountain, which doesn't feel quite as epic when this is approximated as digging deeper in a sideways direction. The mountain regions on the maps are big and can be a lot bigger, that's a lot of space that's going to be filled with interesting things which you can dig "into" for a long time.
- You can come up with interesting layouts for tunnels and traps either underneath or on different levels to your main fort - you could wire up traps and contraptions using gears and mechanisms hidden away on a different level. In 2D I'm planning to include an "underground" layer that is solely for pipes and gears/mechanisms (much like the pipes and electricity cables in Prison Architect) to cover this use case.
- It's more efficient for the player to stack rooms on top of each other, or put stockpiles underneath workshops, that kind of thing. I'd much rather have a design constraint on the player of keeping everything on a single plane so settlement layout is more of a challenge, more interesting, to get an efficient layout working.
- Z-levels would enable the gameplay feature of digging to deep and too greedily, surely a must for dwarves at least, where the more valuable materials are deeper underground but so are nasty things lying in wait. This can be approximated by digging further "into" a mountain region in 2D or else sending an expedition down a cave entrance to a lower level that is linked to from the settlement but not really part of the settlement itself. Not a great compromise.
- The maps are arguably more interesting in 3D, consider the interesting cave systems of Minecraft compared to how much variety is really possible in 2D. The maps are also a lot harder to explore and understand in 3D viewed in a 2D slice. They'd probably have to be relatively flat - not covering anywhere near as many levels as Dwarf Fortress maps do - perhaps numbering multiple levels in single digits. Maybe.
- Lots of people seem to want it! I'd love to know more reasons why other than "DF did it and Rimworld didn't". These are the more hardcore player audience and catering too much one way will cut out the more casual end of the audience. That said, I sit on the more hardcore side myself and I'm making this game because it's the game I want to play, I'm expecting it to be a niche product - I'm not planning to appeal to a large audience.
I think that's it from me, I would really appreciate feedback and comments on this one if you have any feelings on it at all!