This week I’ve been working on the fleet combat system for Predestination. When all of the core mechanics are implemented, we’ll be releasing this as our first beta test to get some feedback and improve it. Fleet combat is an important part of a 4X game, and it will have to be iterated on extensively to make it as awesome as possible. Our goal is to create tactical turn-based combat system that’s more like a game of chess than an RTS. We’ve already tested the movement and combat mechanics with a pen-and-paper prototype, and this week I started putting it all in code.
It doesn’t look very pretty yet, but I want to show you what I’ve got so far. I’ve finished the hex grid system and ships can be placed on the grid and rotated to face any of the adjacent hexagons. All ships involved in the combat roll initiative and then take their turns in order. For moving ships, I developed an efficient recursive algorithm that determines the shortest route to a hexagon based on the three simple rules below:
- Moving into any of the three forward squares costs 1 move point
- Turning by 60 degrees costs 1 move point.
- Two ships cannot occupy the same square
The result produced the exact pattern that my prototype design predicted: Read More
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
One of the things I’m particularly fond of in 4X games is custom ship design, both for cosmetic and gameplay reasons. There’s something special about designing your own ship setup and then testing it out in battle, and I really want to capture that magic in Predestination.
To achieve that, I’m developing a 3D lego style ship designer in which you slot together pre-made blocks to create your own ship designs. Most of the blocks will be purely cosmetic, but some will affect gameplay. You’ll add modules like shield generators, thrusters, weapons, armour plates etc to design your own custom loadout. You’ll also be able to research special mount blocks that give certain module types bonuses or modify their operation in some way, like long range or point defense mounts for weapons. A mock-up of the system is below: Read More
I haven’t really talked about energy generation, energy storage, and what you’ll be able to do with energy yet, so in this post I’ll throw my current plans out there. Every building requires energy to operate, and if there isn’t enough energy some buildings will switch off until power is restored. There are several types of power plant available:
- Solar: Basic renewable power source. Twice as effective on Desert and Barren planets. Doesn’t work on Toxic planets.
- Geothermal: Basic renewable power source. Twice as effective on Molten planets. Doesn’t work on Tundra or Ocean planets.
- Fossil fuel: Consumes fossil fuels, but outputs more energy than solar or geothermal plants.
- Nuclear: Consumes uranium, and outputs more energy than a fossil fuel plant.
There’s limited space for buildings in a colony, so you’ll want to waste as few as possible on energy generation. Fossil fuel and nuclear plants will save you a lot of space, but will consume resources. You’ll be able to research technologies to improve power plants, and because we’re using a tree system for research, many of them will be mutually exclusive. You might have to choose between improving solar or geothermal power plants, or choose between renewable sources and fossil fuels. Read More
I got to work on the planet exploration a bit more this week, and added in a lot of the planet exploration features I described last week. You can now queue up as many scout missions as you want and they will be executed in sequence. When a mission starts, it takes an energy cost from the planet’s reserves, and if that energy isn’t available the mission will wait until you have enough energy before starting. You can now delete scout missions, and they are now sent from the nearest settlement you own for reduced travel time. Below is a video showing some of the new mechanics: Read More
There are lots of software development strategies, but the one that comes naturally to me is rough iterative development. The process starts with an idea for a feature, which is then used to produce a gameplay prototype. I try the prototype out to see how it feels, and show it to people to collect feedback. That feedback is used to refine the prototype into a second iteration, which is then tested and shown to people again to collect feedback. This cycle continues until eventually I’m happy with the feature. Usually I do all the testing myself and only show the prototypes to a few real life friends, but over the past few weeks I’ve been showing the prototypes to people via the blog. Even with just a few people commenting, it’s been really useful.
Last week I showed a gameplay prototype of the planet exploration system and got some great feedback. This week I’m back with the second iteration on that system: Read More
This week I’m working hard on putting together a Kickstarter campaign so I haven’t had much time to work on gameplay. But I wanted to show off an exciting development this week: Head-tracking.
Remember the video below from a few years back? In it, Johnny Lee showed off his awesome head tracking demo for games using a Wiimote connected to his PC. It turns a monitor or TV into a portal into a virtual room that visually reacts to movement exactly as viewing a real 3D box through a window would. Objects can even be seen to float out in front of the screen, providing a real 3D experience without the need for an expensive 3D monitor. In fact, all you need to pull this off is a Wiimote and a cheap pair of safety glasses with infra red LEDs in them. Read More
I’m working on a trailer this week, so I’ve been programattically composing scenes in my engine and will film them when they’re done. The scenes all run in realtime so I’ll also be able to keep them in the final game as an intro. I’ve had to clean up the back-end code and build some new tools for this, but I’ll be able to use the new tools for other things like space combat and cutscenes. Below is a quick sneak peek at part of one of the scenes, which uses a new planetary ring system I developed today. The ring is actually drawn to the background, so I could add a lot more detail without slowing the game down at all. I may add more types of rock and ice asteroid, and make the whole thing much bigger or the individual asteroids smaller. I just thought the ring was too cool not to share. Read More
Every single 4X game has the same basic flaw — as the game progresses, the micromanagement that was fun gameplay at the start becomes a bother later in the game when colony numbers scale up. Building up one colony is fun, but building up dozens that are all at different stages of development is irritating. When you’re busy sending ships all over the galaxy and playing the political endgame, there’s usually no time for colonisation or to direct conquered worlds. The only game to solve this issue was perhaps Master of Orion III, and it only did so by putting an AI in control and making the game essentially play itself. That’s not a solution, it’s a disaster.
I propose a simple, elegant solution to the colony micromanagement problem that should let people continue colonisation well into the endgame, but without taking direct control away from the user. Read More
Exploration and colonisation are two of the four fundamental pillars of game design in a 4X game, and I’ve been thinking a lot recently about how I want to handle them in my game. I’ve put up a new page on the site with all my thoughts and prototype designs for colonisation, but I’m going to cover each idea in its own blog post.
Exploration at a planetary level:
At the start of the game, you have a single colony on an unexplored planet. You’ll send out scout ships to nearby areas of the map on search missions to find resources and other things. A mock-up of a part of the map is below: Read More