I recently took a C++ class at community college. As part of the final exam, each student was to create a “sampler project” showcasing what they had learned. I play both World of Tanks and War Thunder, and have watched Girls und Panzer more times than I care to mention. You might say I have a passing interest in tanks. This project gave me the perfect excuse to do something with that interest. It’s not much yet, but I have big plans for it.
Unlike Shipyard and everything else I’ve made, I wrote this game in C++ rather than Java. I have continued to develop it even though the class ended months ago, with the most noticeable new feature being collisions between tanks and the grey blocks (tanks also collide with other tanks, but that is not demonstrated in the video). Unlike many 2D tank games, I went for some degree of realism. For example, each side of a tank has armor of a different thickness (based on historical data), and you can angle the tank to increase its effective thickness. If a shell hits but has less penetration than the effective thickness of the armor at the point of impact, no damage will be dealt. I even included the effects of drag on the shells, though the (currently) limited map size means this makes little difference.
Currently, this is about all there is to the game. The enemy AI could be rather generously referred to as “limited,” and the gameplay is, despite its novelty, not hugely exciting. That said, I have plans to expand it into a fully-fledged game. I want to include larger maps, more tanks, and perhaps more importantly a proper user interface. Once the basics are in, I want to add the ability to have preset scenarios and even entire campaigns, AI-controlled ally tanks, modding support, and maybe even (gasp!) online multiplayer.