Real-Time Space Tactics Game – Dev Log 8

It’s been about a week since my last update. School and work have had to take priority, so development has slowed down a bit, but it certainly hasn’t stopped!

I’ve made a number of changes and additions since the last update. For one, I’ve added a fog-of-war system to the map, where different player ships have different vision radii (notably, the Recon Corvette and the SWACS Frigate have the longest vision ranges in the fleet, befitting their roles as scouts and sensor platforms). I accomplished this using Unity’s shader system. Basically, it works by having two materials that affect the render queue – if an object with a cutout material is by an object with a stencil surface material, the camera will not render the area of the stencil surface that is cut out by the cutout material. Incidentally, this was inspired by my use of this technique in the capstone prototype I’ve been working on for class; details on that will come when we’ve got a core gameplay loop established.

The fog-of-war system in action

I’ve also revamped the enemy torpedoes – their maneuvering is improved, and I’ve cleaned up their trail effects by having them taper off. In the process of testing the torpedoes, I’ve found that the game’s systems really do encourage the player to think about how their ships are positioned. If an enemy fleet is gunning for one of your ships, you want to put as many armed ships between the enemy fleet and your targeted ship as possible; the longer an enemy ship or torpedo is within weapons range, the greater the chances of your point defenses shooting it down before it can damage its target.

I’ve also given torpedo launchers to some of the player’s ships – so far only the Flagship and the Assault Frigate are so armed, but I’m weighing giving every ship (even the civilian ones) launchers so that the player has the option of turning civilian ships into weapons platforms in a pinch. Torpedoes only fire if the player specifically locks onto an enemy ship, making firing them incompatible with point defense. I may change this later, but I also kind of like that it forces the player to commit to an offensive or defensive strategy when they engage the enemy.

The enemy AI has also received some attention. I’m taking inspiration from XCOM 2‘s “pod” system, where enemies are clustered into sub-units called pods and are managed on a pod level. For instance, in this game a pod might consist of a wing of frigates, or a cruiser and a frigate escort, or a pair of cruisers, et cetera. I’ve implemented an enemy vision system, where each ship has a detection area. If a ship enters and stays in that area, the pod’s “alert level” goes up. If a pod’s alert level gets high enough, the ships enter combat mode and begin to engage targets.

The enemy’s vision range isn’t clearly telegraphed to the player; instead, enemy ships have colored indicators showing what their current alert level is. They start at green, go to yellow, and max out at red. These indicators are close to the ships themselves, making it possible for a ship with a low vision radius to accidentally alert a pod that’s outside of their vision range. This encourages the player to use ships with long vision ranges as scouts and sentries to help the fleet avoid direct engagement.

My next update is likely to be much more minor than this one, especially since school is getting tougher, but I’m still going to make it a goal of mine to have a dev log posted every Friday or Saturday. I think my next steps will be to add a patrol system to the enemy AI, a resource harvesting system for the player’s logistics vessels, and a tactical jump/long jump distinction where the player can make short-range jumps within a map, not just long jumps that trigger a level transition.

Leave a comment