VGC Engine Game engine in C++

Summary

I wanted to do more with C++ so I decided to make another voxel game in it. The working title of the project was Voxel Game and I split it into two parts, the Voxel Game and another library called Voxel Game Common. After a few hundred hours of coding and no voxel logic had been written yet I noticed that 99% of the code was within the Voxel Game Common part. It was at that moment that I realized that I had been writing a game engine and not a game. The name was changed to VGC Engine and the coding continued.

Project Description

Defiantly my largest project so far, if I'm ever bored I go to this project and code away. Started out as a simple game but expanded to a full blown game engine where I collect all of my C++ game and graphics programing. At some point it became important for me to have the engine run on all platform. I then created a CMake configuration for it and tested on a Linux virtual machine. Testing graphics programing on a virtual machine proved to be a bit of a hassle since the Mesa drivers only support up to OpenGL 2.

Project Details

Although the engine is of course very simple it does have some interesting features such as:

  • Cross platform compilable with CMake.
  • Resource manager so that each resource (texture, sound, shader, etc.) is only loaded once from disk.
  • Integrated with Bullet for nice physics interactions.
  • Can play sounds and music.
  • Unicode text rendering and input.
  • Integrated with AntTweakBar for easy tweaking.
  • Fullscreen switching available at runtime.