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
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