menu

Vaporum

Introduction

Vaporum is a networked turn-based strategy game using a Network System implemented in my custom C++ game engine with WinSock. It features a hex grid with 3D tank models along with movement animations and particle effects for attack and damage.

Duration: Aug 2024 - Dec 2024

Technologies: Rey Engine (Custom C++ Game Engine)

Role: Sole Developer

Key Features

  • Turn-based networked multiplayer game using WinSock
  • Supports hot-seat local play or networked multiplayer play using commands sent over the network.
  • Features a clean UI with support for mouse or keyboard controls.
  • 3D models loaded from OBJ files using a custom OBJ parser.
  • Diffuse, specular and emissive textures with a Phong shader.
  • Data-driven architecture from XML files for tank types and maps.
  • Movement animations using Catmull-Rom splines and CPU-driven particle effects.

Hex Tile Grid

  • The game uses a hex tile grid, which involves converting hex tile grid coordinates to world positions and vice-versa.
  • I created a grid-to-world transform matrix based on the basis vectors of the grid and used the matrix for these conversions.

				

Net System using WinSock

  • I created a reusable net system in my engine using WinSock using TCP/IP for real-time data transfer over a network.
  • The net system uses a client-server model and gracefully handles drops in the connection from the other end.
  • Messages can be queued from game code and are sent before the next update.
  • Game code can also query the net system for messages received over the network.

				

Movement Animations using Catmull-Rom Splines

  • The game uses a hex tile grid, which involves converting hex tile grid coordinates to world positions and vice-versa.
  • I created a grid-to-world transform matrix based on the basis vectors of the grid and used the matrix for these conversions.