All projects

Graphics & Games ยท 2011 to 2019

Overworld

A 2D tile-based sandbox game in C++ with infinite GPU world generation, dynamic lighting and multiplayer.

Overworld was a 2D tile-based sandbox game written in C++ that I developed in my spare time from late 2011 to 2019.

The project started off as a testbed for the features of my game engine, Sauce3D, which was being developed alongside the game. Eventually I started to dedicate more time to it, as I had many ideas for how the game would set itself apart from similar games such as Minecraft and Terraria.

The game has the following features:

  • Infinite world generation on the GPU
  • Destructible terrain with seamless tiles
  • Dynamic and static 2D lighting
  • Socket-based (UDP) client-server multiplayer through RakNet
  • 2D skeletal animation system
  • Items and inventory system
  • Menus and in-game chat

The project taught me to:

  • Use the GPU for general-purpose computation, significantly reducing the workload on the CPU.
  • Design structures and apply design patterns that give the programmer easy access to resources.
  • Manage Visual Studio projects with complicated dependencies, with a focus on out-of-the-box compilation.
  • Avoid overscoping so I could reach a minimum viable product sooner.