I hit a bit of a wall with the “Hub” mission – it is a beast, but great things resulted from wrestling with it. For one – I fairly recently – added a “resource request’ system, where the player can request resources from friendly bases. This system only worked with “in sector” bases. It was added to help with the Hub mission and missions after it where the player has access to multiple friendly bases (through conquest!), but the Hub mission needed this system to work with “out of sector” bases as well. Adding that felt “complete” – it didn’t make much sense that you had bases that could build ships and send them through a gate to you, but not send a transport ship carrying an ore pod, so now you can.
The next big change is the ability for the player to define ship’s “posture” (as I call it internally in code). This is a fairly simple system which mostly determines ranges at which ships target enemy ships. Simple, but very powerful, for example if you set the distance to be very short or non-existent then ships will stand still (or in formation) and ignore enemies. Normally that would lead to death – but in a few missions it can be much better tactically to stand your ground rather than rush ahead into enemy defenses and ships. In a few missions in particular not being able to do have ships stand still would be greatly frustrating, they were too independent in seeking out targets.
So the three “postures” that I’ve made available to the player are (names pending):
HOLD – ships generally ignore enemy ships, but turrets still respond to enemies and fire
ENGAGE – the default posture, ships engage other ships in “combat range” (which is usually defined as a bit further than weapons range)
SEARCH AND DESTROY – ships will scour the entire map for enemy ships and engage
So these basic three give a lot of power, tactics and control to the player. For example search and destroy can be extremely useful towards the end of a mission where you basically defeated the enemy and want to mop up. It can also be very useful when you have several battles happening all over the area, and don’t want to micro manage your ships, instead you want them to seek out targets. This can also give you the opportunity to dogfight or manually pilot, knowing that your forces are engaging enemies on their own.
These highlight the several ways that the player can control their ships in the game. They can directly pilot, they can issue commands to a ship or group or ships, or they can say – have at it. Each level decreasing fine control – and each level having its own merits.
There is a bit of a story of how search and destroy came about – originally I gave it to enemy ships. Often in the game there are mission scripts that wait for enemy ships to be destroyed. This means that it is important for enemy ships to bravely seek out combat and die. Otherwise an enemy ship might be sitting still in some far corner of the map and the player is left waiting for the next leg of the story being blocked by some wayward ship. So search and destroy was given to enemy ships so that’d bravely throw themselves at the player – wherever they are.
The need for this became apparent for me during a play through where a physics glitch pushed a ship into the outer edges. I then added the search and destroy posture and the enemy ship rejoined the fight. I originally didn’t intend to give this to the player – but right after I did – it became apparent how great this is, I use it and enjoy it often in my play thoughts and tests. In terms of mission scripts, I often use it to
The other big news is that I decided to do something about instant action scenarios. I’ve been planning them in my head and finally got down to writing them. Some are fairly simple and others are fairly complex, but they work in a bunch of ways with the strengths and uniqueness of the game. Going to do an update later to talk about them in more detail.