An endless voxel based sandbox world utilising value noise generation.
For this project I explored the use of multi-threading, value noise and a quadtree to create an endless interactive world. The world is generated using value noise which gives the terrain its organic feel. The project was written in C++ using the DirectX 11 framework.
The world is generated in chunks of 64 by 64. Each of these chunks are loaded in with the use of multi-threading. If a chunk is modified in any way, the chunk then gets saved to an XML file allowing for the player to modify the world and have it remain the same.
The player controls a first person character which they can use to explore and modify the world. The controller uses raycasts to detect a cube for destruction and also detect a cubes face and normal when placing a cube, allowing for the modification of the world. The player is able to collide with and modify the world thanks to the use of a quadtree to accelerate the collision detection. Without it, the game would become unplayable due to low frames per second.