top of page

Overview

Title

Sole Developer (assets not mine, attributions here)

Features

  • Solutions to fundamental 3D game needs: voxel-based rendering and light propagation, preventive player physics.

  • Minecraft’s defining qualities: real-time generation of a modifiable, persistent, endless world.

  • Gameplay augmentations: slabs, ladders, alternate dimensions and village structures.

Time

8 weeks

SimplerMiner emulates features deconstructed while directly observing the sandbox game Minecraft. With the exception of libraries to load audio and image files, the C++ codebase implements the 3D game's core from scratch, supplemented by gameplay elements like villages and a Nether dimension.

What went well?

  • Discovering computer graphics techniques can go beyond photo-realistic applications.

  • Implementing dimensions amounted to creating a simple array of the chunks’ container.

  • Concentrating on gameplay over engine features later in development afforded problem spaces with fewer standard solutions, letting me consider new programming approaches.

What went wrong?

  • Player physics took much longer than expected to debug.

  • The new approach necessary to implement villages repeatedly required explanation.

  • Poor code quality hindered the implementation of dot product-based view culling.

What have I learned?

  • Though both have their pros and cons, I prefer graphics’ open-endedness over physics’ standardized approaches.

  • Time spent coding before grabbing help decreases as coding skill increases, because the problems programmers are stuck on become generally less and less trivial.

  • Ease and hardship of implementation for alternate dimensions and villages, respectively, demonstrates that a topic’s semantic complexity outside the game does not correspond to the complexity of its implementation inside the game.

POSTMORTEM

bottom of page