Skip to content

A voxel engine similar to minecraft written from scratch using C++ and OpenGL for educational purposes. Current features include a GUI system, an ECS-driven engine using entt, and basic terrain generation using noise

License

Notifications You must be signed in to change notification settings

Baseng0815/VoxelGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoxelGame

Terrain

About the project

A voxel engine similar to minecraft written from scratch using C++ and OpenGL for educational purposes. Current features include a GUI system, an ECS-driven engine using entt, and basic terrain generation using noise. This has become quite a large project over time which we didn't anticipate, so the whole code base is a mess and in dire need of a rework.

Getting Started

This project was set up using CMake, so you need CMake to create the Makefile and a C++ compiler like gcc or clang to build the project. First clone the repository and then setup and build like this:

    git clone https://github.com/Baseng0815/VoxelGame
    cd VoxelGame
    mkdir build
    cd build
    cmake ..
    cmake --build . (or make)

Requirements can be found in the CMakeLists.txt, but will also be listed here.

This project is being developed in collaboration with PhiGei2000 who uses Windows, so the CMakeLists.txt is pretty messed up and might not work for you. Properly setting up all the libraries and include directories is complicated and if you are a CMake expert, don't hesitate to send corrections or improvements.

Usage

Just run the binary. You need to make sure that the Resources folder is in the same directory as the binary, so it might be beneficial to symlink it or to move the binary.

Roadmap

  • Cleaning up the codebase, i.e. modularize and reduce dependencies, making clear design choices etc.
  • Use rendering techniques like occlusion culling and bump maps for better graphics
  • Frustum culling to improve performance
  • Player models and a third person camera
  • Other entities with behavior
  • World generation (structures etc.)
  • Plant growth
  • Proper item drops and an item system
  • Reduce dynamic generation of geometry to a minimum
  • Implement water flow
  • ...

Contact

E-Mail: [email protected]

About

A voxel engine similar to minecraft written from scratch using C++ and OpenGL for educational purposes. Current features include a GUI system, an ECS-driven engine using entt, and basic terrain generation using noise

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published