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:
Movement on a hexagonal grid:
Each ship has a movement speed value based on its size and thrusters. I costs 1 move speed to move into any of the three hexagons in front of the ship, and 1 move speed to turn the ship by 1/6 of a hexagon. These two simple rules combine to produce the movement chart below, which shows the minimum movement speed required by the ship to reach each square. The turning costs make it faster to move forward than sideways or backward. You might be able to get special engine mounts that decrease turning cost or increase speed but make turning more expensive, which would produce very different results.
Attacking on a hexagonal grid:
Each weapon has a range in squares and a firing arc type that determines the area in which it can fire. The default is a standard forward arc the covers the three squares in front of a ship and those in front of it, and doesn’t spread out. Other possible firing arcs include an extended arc that spreads out, a focused arc that only covers squares in a straight line, and a 360 degree arc. You’ll modify weapons to use particular firing arcs by fitting them on a special weapon mount. For example, an artillery weapon mount might double the weapon’s range but reduce its firing arc to a focused line, or a point defense mount could half a weapon’s range but give it an extended firing arc and another bonus. 360 degree arcs would probably have to be restricted to starbases, stationary defense platforms and point blank area effect weapons. Two examples of firing arcs are below:
One of the main goals for Predestination is to add more strategy to today’s 4X gameplay, so for combat we knew we had to do something more strategic than basic move and fire gameplay. We drew some inspiration from chess to come up a system we’re calling Reactive Strike. When a ship moves into the firing arc of an enemy ship, that enemy gets a free automatic shot at him. Moving out of a ship’s firing arc doesn’t cause a Reactive Strike, but every square you move that ends with you inside someone’s arc will cause one. There’s no limit to the number of times a ship can fire a Reactive Strike, so if you move through four squares that are each in an enemy ship’s firing arc you’ll be fired on four times! These shots are free, they don’t use up a ship’s movement or firing for the turn.
In the image above, two Destroyers with 2-range forward arcs are blocking a Battleship’s movement. If the battleship moves into any of the light red squares, he’ll trigger a reactive strike from either ship. If he moves into the darker red squares, he’ll trigger a reactive strike from both ships as these squares are in both Destroyers’ firing arcs. In real game situation, the battleship would probably opt to stay still but turn and fire on either ship. This could be part of the red player’s strategy, to stop the battleship moving forward for one turn by sacrificing small ships. There’s also nothing stopping a player from doing this with larger and tankier ships.
The goal of this system is to make moving and positioning your ships more than just a matter of getting in range to shoot. Ships can group together to form barriers to enemy movement, areas that if the enemy moves through them he’ll be torn to shreds. You might decide that the chance of being hit and damage dealt on a Reactive Strike is low enough to take the hit, or use longer range guns to outrange the enemy’s firing arcs. There will even be special weapon mounts that increase the damage done by Reactive Strikes, allowing smaller ships to really threaten larger ones. I could also make weapon mounts that increase a weapon’s damage but remove its ability to fire Reactive Strikes.
A problem that every turn-based game has is that the player who goes first gets a major advantage. I’ve tackled this problem with an initiative order system that merges both sides’ turns into a single action order list. Every ship on both sides of a fight rolls initiative and ships then take turns from highest to lowest initiative score. The initiative order of all ships is known at all times, so you can plan a combat strategy around knowing that certain enemy ships won’t be able to move and fire for a while. The initiative roll is a random amount plus the ship’s initiative bonus, with smaller and faster ships getting a higher bonus.
This means each side will reliably start the fight with its smallest ships, so you can build a strategy around those ships. For example, you could give all of your frigates point defense weapons and set up a perimeter to stop the enemy breaking through to your bigger ships. The battlefield will be big enough that players can’t reasonably get in range to fire on the first turn, so the first turn will be about moving your ships into tactically superior positions to the enemy. You’ll block off areas with your firing arcs, move to the sides to try to get in firing range of an enemy without entering his firing arc, etc.
I’m very excited about this system and hope to start programming an in-engine gameplay prototype soon (as free time allows). I find that the best tactical gameplay usually arises from the interaction between a few simple rules, and I think the system above captures that well. All the rules are simple enough to pick up in a few minutes, and yet in our pen-and-paper prototype play tests we found quite a bit of complex strategy coming out of them. Elements like firing arcs, turn order and valid movements can be easily shown via the user interface, and the Reactive Strike system turns the battlefield into a chess board. If you have any feedback on the system above or suggestions for ways it could be improved, please leave a comment and I’ll definitely take it on board.