Space 4X games are typically played on a 2D map, not because of any technical limitation but for gameplay reasons. 3D maps are difficult to visualise and strategise on, for example they make it more difficult to see the area of space owned by a particular enemy. Those games that do have a 3D map tend to mechanically simplify it with a “star lane” mechanic where ships can only travel along set paths between certain stars. For all intents and purposes, that isn’t a 3D map any more; it has eliminated any mechanics that actually use the third dimension. The alternative is to use a 2D map (like this one below), which is requires a bit more suspension of disbelief.
While I don’t want to diverge too heavily from the fundamental mechanics of the genre’s previously successful games, I do want to have a crack at bringing a third dimension to the map in a way that avoids these problems. If you’re interested in space 4X games, please leave a comment on this post about whether you’d want a 2D map or 3D, or answer the post with anything else you’d like to add. I’d really appreciate it!
In this article, I’ll examine the advantages and disadvantages of a 3D map in a space 4X game, and discuss how I’ve tackled each of the problems a 3D map raises.
A few advantages of a 3D map include:
- A bit more realistic, less need for suspension of disbelief.
- Line of sight mechanics — A nebula between two stars could block scans, slow ships etc. While this is possible with 2D, it’s more interesting on a 3D map and there are more ways to get around the nebula.
- You can be fighting a war on more than two fronts. On a 2D map, it’s rare to get more than 1-2 enemies bordering your space. On a 3D map, you could get 3-4.
- Expansion has to be more tactical, as your borders are always in range of more stars than on a 2D map. It takes a lot more expansion before your “inner” systems are protected by a buffer zone, as you need to colonise every system in range of your inner systems to deny the enemy their use.
- I want to implement system tech like wormhole generators to link two systems, FTL missiles that can hit nearby systems etc. These would all be range-limited, and naturally on a 3D map there will be more systems in range for things like that.
- For singleplayer missions using designed custom maps, you can do a lot more with 3D than you can with 2D, there are fewer limits on creativity. I would go as far as to say singleplayer maps in 2D would be uninteresting.
Unfortunately, it also raises a few problems:
- Distance: Difficult to judge the distance between two stars unless you’re moving the map.
- Fuel range: Difficult to visually estimate whether a star is in ship range. MOO2’s fuel range mechanic prevented players from exploring too far from their colonies, necessitating expansion by colonisation. This mechanic is very important, and needs to be preserved.
- Nearest stars: In 2D it’s easy to see the nearest stars (best ones to explore first), but in 3D it’s much more difficult.
- Information overload: In some games, you get absolute chaos all over the map by the end of the game as every solar system is owned and there are ships flying all over the place. Working out what ships are going where is complicated enough without lines criss-crossing everywhere in 3D.
I like to think the perfect 4X game would use a 3D map but solve the usability problems associated with it. 3D would also open some great singleplayer scienario options, so I really want to try to do it. But I also want the option to make a flat map for fans of the classic 4X gameplay. With that in mind, each of the problems above has to have a solution for both 3D maps and flat maps. Here is how I am currently tackling each of these problems:
Distance: I borrowed a trick from Elite. I have a flat plane bisecting the playable field of stars and each star has a line drawn from it to the plane. You can see this in previous screenshots. In 2D mode, the distance is easy to judge and the lines are not necessary.
Fuel range: Merged the “fuel” mechanic with K240’s sensor mechanic; Each colony has a sphere around it inside which you can see objects (ships etc) in space, and travel outside that sphere is dangerous/impossible. The areas covered by sensors can be shown on the map as green wireframe spheres. I may try blurring or darkening everything outside the sphere to make it obvious what’s in range when the spheres are toggled on. In 2D mode this mechanic is much simpler, with just a circle around the colony cut out of the galactic plane. Below is an example from a really old previous version of the project (this feature hasn’t been re-implemented yet, but it’s next on my list):
Nearest stars: When you click on a star to bring up its system window, the map plane moves up or down to be on level with that star. This way you can see how far above/below each star is relative to the currently selected star, making it easier to see which ones are nearby.
Information overload: This will just have to be taken one UI element at a time. As a general rule, I like user interfaces to be minimalist: Elements should be immediately recognisable, with very few buttons and as little text as possible. MOO2’s UI is a good example, as the state of play can be immediately figured out by looking at the main screen for just a few seconds. I’ve seen some terrible UIs in 4X games (including dropdown menus, spreadsheet-like forms and massive text-filled UI elements) and I really want to avoid that. My concept artist is equally minimalist and has already stated that his mission is to get rid of any UI element that doesn’t absolutely need to be there.
At least, that’s the theory:
I think I’ve solved the problems above, but I have yet to run them by anyone else to give my solutions a proper usability test. I also wonder what other problems a 3D map poses, as I may not have covered them all. If you’re reading this and can think of any more or want to add your two cents, please drop a comment on this post.
As a side-note, it should be relatively inexpensive and simple to set up head-tracking for the game. I could install a pair of battery-powered IR LEDs in a pair of cheap cinema glasses with the lenses popped out, then use a Wiimote as an IR camera. That would let me add the ability to turn the map etc by moving your head, providing real 3D feedback. This could help make the 3D more real for players who have trouble with 3D maps, and it could add some awesomeness to ship design and combat. How I’d distribute them is another question entirely, but it could be very popular with gamers who own a Wii.