OpenGL noise generated caves
A downloadable game
OpenGL noise generated caves
This project is a 3D abandonded mineshaft, cave generation and visualization tool implemented in C++ using OpenGL 3.3. It utilises Perlin noise to procedurally generate the cave structure and supports features like objects that make up an abandonded mineshaft, crystal formation, lighting, and a controllable camera system.
Controls
- W: forward
- A: left
- S: backwards
- Q: up
- E: down
- Left Shift: move faster
- mouse: rotate camera
Unique Features
What makes this project stand out is its advanced procedural generation techniques, intuitive user interaction, and efficient rendering optimisations:
- Advanced Procedural Generation: Unlike simple random terrain, the cave systems are generated using noise algorithms, creating more natural and varied landscapes.
- Crystal Formation: In addition to terrain, there are randomised crystal formations, adding depth and points of interest to the cave environment.
- Dynamic Lighting: The application includes a lighting system that simulates torchlight within the caves, providing a realistic and atmospheric experience.
- First-Person Camera Control: The user can freely navigate through the cave in first-person view, with smooth camera controls.
- Selective Rendering: To enhance performance, the code employs a selective rendering technique. It identifies adjacent blocks within the terrain and omits the rendering of shared faces, optimising the rendering process.
- Inspiration and Evolution: Inspired by the blocky aesthetics of games like 'Minecraft' and the vast procedural worlds of 'No Man's Sky', our project began with basic terrain generation and evolved to feature complex cave systems.
- Custom Shader and Model Loading: The project has a shader loader and model importing system, allowing for easy shader and model importing of multiple formats.
Dependencies
- [GLFW](https://www.glfw.org/) for window management
- [GLAD](https://glad.dav1d.de/) for OpenGL function loading
- [GLM](https://github.com/g-truc/glm) for mathematics
- [stb_image](https://github.com/nothings/stb) for texture loading
- [Assimp](http://www.assimp.org/) for model importing
- [IrrKlang](https://www.ambiera.com/irrklang/) for audio processing
Status | Released |
Author | BenB-R |
Genre | Simulation |
Tags | 3D, blocks, Exploration, Procedural Generation, Voxel |
Download
Install instructions
you'll find the OpenGL.exe executable file in the Debug file. Run this file to start the application, ensuring that all necessary resources are located within the same folder for proper operation.
Leave a comment
Log in with itch.io to leave a comment.