Rattling Tracks I wanted to do something different for a while after working so long on GLX-Racing (plus I wanted to model some military vehicles ), so I made this small (relatively) tank game. I was able to get work done in fairly short time, by recycling code from my previous prototypes (vehicle physics, weapons and projectiles). I had to implement the turret and gun systems, aiming system and AI that can handle vehicular combat. Also lot's of pain was caused by getting the level design right. However I am now very pleased with the result. Options for how to proceed with the development are many, since the game can handle all kinds of wheeled and tracked vehicles, and all kinds of weapon systems, and has been designed in a way that does not confine it to be a certain kind of game (i.e. keeping all systems as separate non-interdependent modules). For example new game modes with their own logic could be quite easily added to the game. The trick is not to bite more than I can chew, but still make a fun and content rich game. Currently I have been thinking about two game modes: * Mission-mode: Player is dropped to the map and has to complete objectives in the best way he sees fit. * Wave-mode: Player starts at center of map and increasingly difficult waves of enemies spawn after the previous ones have been destroyed. The game will, I think, remain quite arcade-y in the sense that it'll have power-ups and scoring systems in place. However I wanted to make it quite tactical by keeping the weapons very powerful to encourage cover usage and make planning one's moves necessary. Some notable features implemented: * Tanks and other land vehicles with realistic physics including working suspension and simple but believable drive train simulation. * On-map self-propelled artillery vehicles for which enemies can spot targets. Can be rendered inoperable by destroying either the spotter-vehicle or the artillery pieces themselves. * Weapons like cannons, auto cannons, machine guns and laser guided missiles (tow-like guidance) * Damage is determined based on location of the hit on vehicle. For example rear of the tank is much more vulnerable than front or turret. * AI can navigate towards player in a divergent manner, which is to say: everyone does not simply follow same navigational path, but they spread around, approaching player from many angles. This is achieved with a combination of Unity's NavMesh and a doom-like navigation in which enemies approach player at ‘random’ angle. NavMesh is used to determine if direction is drivable in the near front vicinity of vehicle. If not then another direction is selected. * AI can compensate for ‘bullet drop’ and motion of the target in it’s aiming process. The advance required for moving target is dynamically determined from distance to target and estimated projectile flight time there. Bullet drop compensation is determined in a similar manner, but it still uses hand-tuned coefficient (need to figure the math for it sometime). * AI can see player if only a corner of his vehicle is visible to them. This is achieved by checking multiple points visibility via raycast instead of just the center of the players vehicle. This does not add processing overhead, since each point is checked sequentially in subsequent frames. * Fairly sizeable maps of 2x2 kilometer playing area with unplayable margin areas (this is equivalent of most Battlefield 2 maps which by the way were a massive inspiration for this project). The maps design is intended to look believable and fairly realistic, so there are no video gamey’ cliff-walls and such to channel the player. Instead the idea is to create tactical possibilities and alternative ways to approach objectives by keeping most areas playable and create cover with more subtle topologies and forests. The forests themselves are accessible with vehicles as well. * Power-ups providing ammo for the various weapons, and repairs for the tank. (I considered having ammo and repair trucks that could be commanded to follow or wait, but though it would slow the gameplay down and be too clumsy for the kind of game I intend this to be. Plus power-ups make fun sounds when collected and they glow in an pleasing manner ). * Custom made road system to lay roads on top of terrain (This is still rather crude to use, so I will not publish it yet, but I may do so sometime in future). Current cavalcade of vehicles in the game (The above mentioned self propelled howitzer truck is missing): As always, comments, suggestions and feedback are most welcome!