Dev Diary: Fly By Programming

I'm back! Apologies for the radio silence these last few weeks, its been a surprisingly busy time. I'm here now though, to let you know whats been happening.

All Systems Operational

Some exciting news to start with, which you'll notice if you check the roadmap, all systems required for the pre-alpha stage are now done! This doesn't mean there isn't any more work to do on them, but that the work left is more about integrating them with the universe than on how you'll be interacting with them.

Of note, and the only system that wasn't also in the prototype, are the Sensors. These serve three main purposes from a game play perspective. The first, proving to the player that we are in fact actually simulating a universe. You'll be able to sit and watch all the enemy ships whiz around, slowly. I don't recommend it, you should probably be doing something productive so that your ship stays flying! The second is to give you an idea of how the battle is going. It'll give you information on the number of enemies you can see, how many you've lost sight of, what phase you need to set your weapons to take down that nasty frigate etc. This information isn't vital to your survival, but using it wisely will certainly improve your chances. Last of all, its also how the captain views the battle. The more the sensors can see, the better the decisions of the captain. As he's the one making the decisions, its imperitave that you give him as much information as possible.

On Creating a Universe

This week also marks the day I've started trying to define how the universe reacts to your shenanigans. So far, we have a definition for how levels need to behave. A level, in Starship Mechanic at least, is how unique behaviour is defined. For example, enemy ships will always try and take you down. However, the level will specify what enemies are actually around, and where they're located, and if they have off map reinforcements they can request.

Alongside with this idea of universe behaviour, we also have the beginnings of enemy ship logic. This is split in to two almost completely seperate parts. The first is definining how it gets from A to B, the second is how it decides where to go and what to do. As it turns out, the second part was easier to figure out if not necessarily simpler. Space has lots of exciting properties that make it surprisingly tough to navigate, such as deceleration taking as long as acceleration due to lack of friction. Our earliest scout ships had a turning circle with a radius of approximately the width of the defined level space, because it didn't understand how to slow down to turn. Since then they've had an update to their navigational unit, and behave much better!

Thats all for this week, thanks for reading!