Skip to content

Minecraft style voxel terrain engine made from scratch using C++ and Opengl

Notifications You must be signed in to change notification settings

conanwu777/Voxel_landscape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voxel Landscape Engine

Minecraft style voxel terrain engine made from scratch using OpenGL in C++.

This project is done in collaboration with my programming partner Liam Dehaudt during our visit at Unit Factory in Kiev, Ukraine. I am in charge of the Perlin noise terrian/block type and cave generation, ground-movement stablization, day/night change, shaders and art.

Showcase Video

Voxel Video

Features

  • Snow, rock, grass and sand block type
  • Transparent water
  • Trees
  • Caves and overhangs
  • Different player modes
  • Day-Night shift
  • Runs at >~ 50 FPS in full screen mode on iMac
  • Virtually infinite map (larger than what one can possible visit in days, then it might start to repeat after that)
  • Rendering over 160 blocks at any direction at any given time, which make 26214400 (320 * 320 * 256) possiblly visiable blocks in view

Screenshots

alt text

alt text

alt text

alt text

Comiling and Running

Run make to compile. Needed libraries will be downloaded and an executable will be created.

Run with:

./Vox [-r | seed(integer)]

Where the terrain will be generated deterministically based on the seed given. -r option will use random seed (based on current time)

Runtime Controls

Mouse movement Controls the angle/direction of the camera

-WASD Move camera (exact movement based on the mode below)

-1 Glider mode (fly directions according to mouse angle)

-2 Run mode (run on the ground with 'WASD' keys and mouse)

-3 Classic minecraft flying mode (in addition to WASD, we have Space for up and Shift for down)

-4 Snail mode (moves one grid per second on the ground, able to enter caves)

About

Minecraft style voxel terrain engine made from scratch using C++ and Opengl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published