SimpleMiner, Self-Authored C++ Game Engine

github-logo-icon-16153

Project Description

SimpleMiner is a simple Minecraft clone developed by myself over 8 weeks.

Project Highlights

  • Chunks of blocks are rendered using vertex arrays (VAs), one VA per chunk.
  • New chunks are generated using Perlin noise as they come within a certain view range of the player.
  • Old chunks are efficiently saved out to disk (RLE compression)  and then deleted from memory after they go out of range.
  • Chunks previously saved out are reloaded (instead of regenerated) if they come back into range.
  • Block selection, digging, and placing are all implemented.
  • Basic player physics such as jumping and bounding box collision are implemented.
  • Trees are placed using Perlin noise during chunk generation and are consistent across chunk boundaries.
  • Optimized performance with bitwise operators, interior hidden surface removal, and chunk rendering frustum culling.

Code Snippets