Vaporum
Overview:
Vaporum is a 3D clone of Military Madness created in my custom C++ game engine. In Vaporum, players start on different ends of the map, each with a predefined number of tanks, and progress through the hex map in a turn-based style in order to eliminate the enemy team. There are 5 different tank types each with different stats and abilities and Vaporum can be played via a shared screen or LAN connection.
- Tools: C++, DirectX 11, HLSL, Winsock2 (TCP)
- Development Timeline: October 2023 – December 2023
Game Features:
Hex Map Design
For the map of Vaporum, a hex grid was implemented. This hex grid can be defined and altered with different dimensions and and tank placements in the XML definitions. Tile selection was based on a camera to world raycast against the hex grid to determine where the mouse position was intersecting. Also tank traversal for the hex grid was determined using A* in order to always show the optimal path for the currently selected tank.
Networked Multiplayer
LAN multiplayer was accomplished using TCP connections with Winsock2. This network system uses a client-server architecture in combination with an event system, to properly reflect all game actions/mechanics being executed remotely on a running and connected instance of the game. Also Vaporum is able to handle all connections, disconnections, and any blocking or non blocking events to provide seamless gameplay with no network crashes.
Tank Variants and Abilities
In Vaporum, there are 5 different tank types, each with separate stats and abilities. These stats include ground/range attack damages, ground/range minimum and maximum attack ranges, movement ranges, defense, and health. Each turn the player has the ability to move and attack each of their units once. Once all of their tank’s movements or attacks have been utilized the turn is over and it is the next player’s turn. Each of these tank stats and abilities can be quickly altered in the XML definition files.