Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 1.83 KB

README.md

File metadata and controls

22 lines (18 loc) · 1.83 KB

BlockGame

This is my attempt at making a Minecraft clone using OpenGL and C++. My previous project RemEngine featured infinitely generated terrain, however it used noise incorrectly and used instancing instead of meshing. This engine uses meshing, where all the visible faces of blocks in a chunk are combined into one mesh and then that mesh is drawn.

Screenshot of the game running on Windows

Available to download on Itch.io

Current Features

  • Infinite terrain (on x and z axis). You can set minimum and maximum y values for terrain to render. For example a minimum y of 0 and maximum y of 3 would result in 3 chunks being used for the height in terrain generation.
  • Grassland, Desert, Snow and Forest biomes chosen based on a noise value per chunk that acts as the temperature of the chunk (low temperature creates a snow biome chunk, medium creates grassland, high creates desert). This will be expanded to be more intelligent i.e. take into account other noise-generated paramaters.
  • Basic Entity-Component System (Entities have a list of components that store a reference to their owner allowing interaction between components)
  • Free-form controller (doesn't have delta time yet so speed depends on frame-rate)
  • Seamless terrain with a mix of hills/mountains and flatland.
  • ImGui is integrated
  • Directional light (no shadows)
  • Player Controller with Collision

Building

This project uses CMake with FetchContent to fetch the required dependencies. However, the ImGui and Stb Image dependencies still need to be manually put into a Libraries folder. You can download them here.
Additionally, you will need to copy the Assets folder into the same folder as the executable that gets built.