Concept art: Robotic races

Not all the races in Predestination will be organic; The race below assembled itself from a crashed transport full of worker droids, service bots and military hardware. To survive, they had to adapt themselves  to their new home and fossil fuel energy sources. We haven’t named the race yet, but the population and ships will have a steampunk visual style. Different tasks like industry or research will be completed by specialised robots, so the military robots may look very different to the researchers or workers. Below is concept art for the race’s industrial worker droids, produced by our new character artist Connor Murphy: Read More

Planet exploration update and terraforming idea

The Predestination team gained three new members this week: a new concept artist, a 3d modeller and a composer have officially joined the crew. The artists have been working on  new animated buildings for the colony screen this week, and our composer has been producing some awesome sci-fi music for the game. I’ll properly introduce the new and current members of the team in my next update and can hopefully show you some of their handiwork soon.

This week we’ve been working on fleshing out the designs for the races we plan to have at launch, and I’ve been implementing a hex-based planet exploration system to go with the hexagonal colony system described in the previous update. Players now have to explore outward from the starting colony as you can only explore hexes on the border with unexplored areas. Exploring a tile reveals what’s on that tile (if anything) and pushes your borders back, letting you see what all the surrounding squares look like. Below is a screenshot of the new system in action: Read More

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

Predestination shown at QCon XIX, beta signups open

Thanks to the guys at Digital Circle, we had the opportunity to show off Predestination last weekend at QCon XIX, Ireland’s biggest anime and gaming convention. The game isn’t in a playable state yet, but we put together a special trailer showing some of the game’s main features and had an open signup sheet to get into the beta when it arrives.

I expected to get a few people interested, but was absolutely blown away by the level of support and enthusiasm people had for Predestination. I really can’t thank everyone at QCon enough, over a hundred people signed up for the beta in just two and a half days after seeing the trailer below: 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

Taskbar system and modular system windows

Every 4X game has a way to notify the player when something happens that requires his attention. Games will typically have a turn summary page reporting anything important, but I want a more direct visual notification that isn’t just a text list. The idea I’ve been prototyping this week is a taskbar that runs along the bottom of the screen and alerts the user to tasks that require their attention. If a planet has a building that needs to be placed or a problem that needs to be fixed, or if a discovery is made or a scout finishes surveying a planet etc, a small icon relating to the event will drop down into the task bar. When clicked, a window would open explaining the notification and with a shortcut button to go directly to the screen/window that will let you deal with whatever the notification is for. Either that or clicking the icon might bring you straight to the source of the notification.

For example, you could start building a colony ship and check a box that says you want to be notified when it’s complete. When it’s built, a little ship icon would drop down and land in the task bar. On clicking the icon, a small ship/fleet window would open and you could immediately give the ship orders. Similarly, if a survey mission on a planet completes, a notification could immediately appear in the taskbar and open the planet or solar system when clicked.

I got some great feedback on what type of system window to use, and have decided that a small self-contained window is the best option. This week I developed a modular window system that keeps track of all the windows that are open and has options to resize, close and minimise to the taskbar. The game now supports having multiple system windows open, which might be handy if you need to keep track of or compare multiple  systems. The video below demonstrates both the modular window and taskbar system: Read More