My original plans for tactical space combat in Predestination involved making a good attempt at turn-based 3D combat, which is something no game has done well yet. I had intended to make line-of-sight mechanics and area effects a big part of the gameplay, but every combat would have quickly become a chaotic mess. Our main goal with Predestination is to bring proper turn-based strategy back to 4X games, so after discussing the idea with the rest of the team we decided to use a classic 2D combat plane on which tactical decisions are much more obvious.
I started prototyping the combat system last week with a chess board and some coloured squares, but I quickly ended up with pages of complicated rules and movement/attack tables. The Art Director suggested a hexagonal grid and we quickly hashed out a very simple, intuitive system using that grid that we’re all very happy with. We prototyped the system using a big hexagonal gaming mat and paper cutouts and ironed out all of the flaws we could see. The end result is a tactical combat system I’m really excited about: Read More
I came up with a new terrain shading technique that combines some clever texture packing tricks with normal approximations in the pixel shader to produce some awesome results. The lighting on the terrain is now extremely highly detailed, and zooming down onto the terrain looks perfectly smooth. I can also feasibly add more lights for particular buildings or the cursor to make some awesome effects. Below are a few screenshots of the current work in progress: Read More
Most of this week’s work on my space 4X game has been in putting together a good system for placing items like 3D models of buildings on a planet’s surface. Part of the difficulty is in the fact that the planet graphics are generated entirely on the GPU, so the CPU doesn’t have access to that data. I came up with a fantastic system that works around that issue and gives access to not only height data but also details like what type of terrain is on a particular spot or whether it’s in an ocean.
So now I can place buildings on the surface of a planet, zoom out, rotate the planet and the building appears to stay put on the surface. When placing certain buildings like a water extractor, I can make it only placeable on water or make it fulfil any other criteria I want. I could make mining drills that you move around to find the best spot, or geothermal power stations that can only be placed on fault lines. There’s a lot of versatility in the system, so it’s been fun to work with this week. Read More
Predestination 4X game Galaxy Map: System window demonstration
Please watch fullscreen (1080p available). The video’s a bit darker and a lot blurrier than the actual game because YouTube is bloody awful at encoding videos, but you get a clear enough idea of the effect in fullscreen. Read More
A video of the 3D galaxy map for Predestination. Please watch it in 720p fullscreen, otherwise a lot of important small details like the lines between stars and the galactic plane are lost. Read More
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! Read More