Nebulae and asteroids in ship combat

I haven’t posted an update in a while, but rest assured I’ve been making a lot of progress on ship combat system. Ships now have armour, regenerating shields, structure hitpoints and weapons; they can shoot at each other and destroy each other. I’ve also implemented the reactive strike system that lets ships fire when an enemy flies through their firing arcs and players can hit a button to highlight all the squares the enemy’s reactive strikes cover so you can make tactical decisions quickly. There are firing animations for beam weapons and projectile weapons, which I’ll put a video up of once I’ve built the hotbar user interface to show it off properly. Below is what I’ve been working on this week: Read More

Combat system update and prototype video

Made good progress on the combat system this week. It now has:

  • Movement mechanics: Left click moves ship to the selected square, right click turns toward the selected square, end turn button cycles to next ship in initiative order
  • A glowing line indicates the path ship will take to the square you have the mouse over
  • A ghost ship shows where your ship will end up and what diredction it will be facing
  • Ships smoothly animate along the selected movement path
  • Ships now have weapons
  • Weapon firing arcs are working and show on the grid when you activate the weapon

To see the system in action, check out the prototype video below. Please post any comments you have on it and I’ll use them to help refine the next iteration. Read More

Fleet combat hex system first prototype

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

Tactical space combat: A prototype design

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

3D ship designer and ship customisation

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

Energy as a tactical resource

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

Dev update: New planet exploration features

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

Second iteration on planet exploration system

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

Gameplay prototype: Planet exploration & resource discovery

This week I’ve been working on a prototype of the planetary exploration feature discussed on the Colonisation page. The plan was to split each planet up into a grid, and then have the player survey squares to find out what’s there. Exploration only needs to be done once for every planet, and it’s the only way to find resources or increase a planet’s maximum population. The idea is that every time you colonise a new world you’ll explore it and decide how to capitalise on what you’ve found. You might find the planet has a lot of ore deposits, for example, and build extra factories to take advantage of it. Or you might find ancient ruins to build research outposts on, or a uranium deposit that would let you put up a nuclear power plant.

As you progress in the game, you’ll get technologies that make scanning a planet faster and easier, like scanning tech that can spend reserve energy to scan a square, several squares, or a full screen instantly. Ultimately, you’d get the tech to automatically scan all planets from orbit so that when you’re in the late game war stages you don’t have to deal with the micromanagement of exploring new planets. Below is a video of the current gameplay prototype of this exploration system (using massive placeholder models for ore deposits etc). Watch in 1080p fullscreen if possible: Read More