Skip to content

philip2012/voxel-forge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoxelForge Minecraft-Style Voxel Sandbox

VoxelForge is a Unity capstone project focused on building the core systems behind a Minecraft-style voxel sandbox game.

This project is not trying to become a Minecraft replacement, competitor, or commercial clone. It is a learning-focused prototype designed to recreate the foundational technical ideas behind block-based sandbox games: chunked terrain, voxel data storage, procedural generation, optimized mesh creation, and basic block interaction.

Project Goal

The goal of VoxelForge is to demonstrate how a voxel engine works from the ground up using Unity and C#.

Instead of creating every block as a separate GameObject, the world is stored as voxel data and rendered through optimized chunk meshes. This makes the project more focused on real engine architecture rather than simple block placement.

Core Features

  • Minecraft-style first-person block interaction
  • Chunk-based world structure
  • Procedural terrain generation
  • Optimized voxel mesh generation
  • Face culling to avoid rendering hidden block faces
  • Single mesh per chunk for better performance
  • Texture atlas support for block textures
  • Basic block breaking and placement
  • Expandable block type system
  • Foundation for future features like caves, trees, saving/loading, and inventory

Technical Focus

VoxelForge is built around performance-aware voxel engine design.

Key technical ideas include:

  • Storing voxel data in 1D arrays for better memory layout
  • Generating chunk meshes manually
  • Rendering only visible block faces
  • Using a single material and texture atlas
  • Managing active chunks around the player
  • Supporting cross-chunk block checks for clean chunk borders
  • Updating nearby chunk meshes when edge blocks are changed

Planned Systems

Phase 1 — Core Voxel Foundation

  • Voxel constants
  • Block type IDs
  • Basic chunk data
  • Mesh generation
  • Flat test terrain

Phase 2 — Chunked World

  • Multiple chunks
  • Chunk coordinate system
  • Player-based chunk loading
  • Global block lookup

Phase 3 — Procedural Terrain

  • Perlin noise terrain height
  • Grass, dirt, stone, and bedrock layers
  • Basic terrain variation

Phase 4 — Block Interaction

  • Raycast-based block breaking
  • Raycast-based block placement
  • Mesh updates after block changes
  • Neighbor chunk updates at chunk borders

Phase 5 — Expansion Features

  • Simple trees
  • Caves
  • Hotbar UI
  • Basic inventory
  • Save/load system
  • Day/night cycle

Tech Stack

  • Unity
  • C#
  • Universal Render Pipeline
  • Procedural mesh generation
  • Texture atlas workflow
  • Git and GitHub for version control

Learning Purpose

This project is being developed as a capstone project for a Unity course.

The main purpose is to learn and demonstrate:

  • Unity scripting
  • C# architecture
  • Procedural generation
  • Mesh construction
  • Data-oriented thinking
  • Runtime optimization
  • Game system organization
  • GitHub project management

Scope

VoxelForge focuses on the engine core first.

This project does not currently aim to include:

  • Multiplayer
  • Redstone-like systems
  • Advanced AI mobs
  • Infinite world saving
  • Complex crafting
  • Commercial release systems

Those features may be explored later, but the priority is to build a solid voxel engine foundation first.

Disclaimer

Minecraft is owned by Mojang Studios and Microsoft.

VoxelForge is an independent educational project inspired by the general block-based sandbox genre. It is not affiliated with, endorsed by, or connected to Mojang Studios or Microsoft.

About

A learning-focused Unity voxel sandbox built from the ground up with chunked terrain, procedural generation, and optimized block rendering.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors