After completing Unity’s TANKS! Tutorial, it was time to start work on Turbo Tanks.
On the Move
A pillar of the game’s concept is its physics-based nature, artificially moving actors in the world will be avoided wherever possible. With this in mind, on this first day of experimentation, I utilised Unity’s WheelCollider component so I could have wheels which turned independently of each other along with realtime simulations of friction, suspension and more. As it stands the handling feels very weighty, perhaps too weighty for the fast paced combat I envision. There’s also a threshold where the tank begins to oversteer (almost uncontrollably) and spin, a threshold that is actually quicker to reach while the tank is moving faster.
In addition to vehicle movement, I also implemented the first iteration of camera controls and turret aiming. The camera rotates around the tank more like a third person shooter than a driving game, as there is no “forward” or auto centring. This is so that the player can concentrate on aiming instead of wrestling with the camera to stay on target. There is a caveat with the current system however: as the turret aims towards the hit point from a ray-cast emitted from the camera, it will only work if the ray actually hits something. If the player were to look at the skybox for instance, the turret will not aim there, as there is nothing for the ray to hit.
As a workaround, I have placed planes at the boundaries of the map, since they have collision the camera ray has something to hit and the problem is solved.
While a great many things are broken and janky at this stage, today was mostly about getting raw mechanics implemented, polish and fine-tuning will come later down the line.