GianlucaP106/minecraft
GianlucaP106/minecraft has 393 GitHub stars and 22 forks. GitHot measured 0 stars in 24 hours and -1 in 7 days. Last checked 2026-11-09 07:29 UTC. Last push 2025-05-27.
Minecraft clone from scratch with only OpenGL
What you can do
- 🌍 Infinite & procedurally generated terrain using Perlin noise
- ⚙️ Physics engine with collision detection and response
- 💡 Dynamic lighting with shadows and day/night cycle 🌞🌙
- 🧱 Block placement and destruction
Measured star growth
- in 24h
- 0
- in 7 days
- -1
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalMinecraft from scratch 
A Minecraft clone from scratch with only OpenGL. No game engines or frameworks.
https://github.com/user-attachments/assets/ba68da39-bf90-4e17-b6ad-3e84fae37e23
✨ Features
- 🌍 Infinite & procedurally generated terrain using Perlin noise
- ⚙️ Physics engine with collision detection and response
- 💡 Dynamic lighting with shadows and day/night cycle 🌞🌙
- 🧱 Block placement and destruction
- 🌳 Tree generation & basic cave systems 🕳️
- 📦 Dynamic chunk loading/unloading based on player position
- 🎯 Frustum culling for rendering optimization
- 🎒 Simple inventory system with hotbar (1–9)
- 🕹️ Flying mode for creative exploration
- 🗺️ Biome-based terrain variation
🛠️ Installation
# Clone the repository
git clone https://github.com/GianlucaP106/minecraft minecraft && cd minecraft
# Run the game (requires Go)
go run .
📦 Make sure you have Go installed: https://go.dev/dl/
🎮 Controls
| Action | Key/Mouse |
|---|---|
| Move | W, A, S, D |
| Jump | Space |
| Toggle Fly | F |
| Look Around | Mouse |
| Break Block | Left Click |
| Place Block | Right Click |
| Select Item | 1-9 |
🧪 Technical Highlights
🖼️ Graphics
- Uses OpenGL 4.1
- Custom shader programs for blocks, UI, and lighting
- Frustum culling for performance optimization
🌄 World Generation
- Multi-octave Perlin noise for terrain shaping
- Biome system to vary landscape types
- Procedural caves and tree generation
- Real-time chunk loading/unloading
⚙️ Physics
- Custom physics engine with rigid body dynamics
- Block-based collision detection
- Jumping & flying mechanics
🧩 Architecture Overview
The engine follows a component-based design. Key systems include:
- 🎮 Game: Core game loop and simulation
- 🌍 World system: Chunk loading, block updates
- 🧬 Generator: Terrain, trees, caves, biomes
- ⚙️ Physics engine: Collision, movement, response
- 🧑 Player: Camera, controls, raycasting
📦 Dependencies
This project uses ONLY the following Go packages:
⚠️ Disclaimer
This project is developed for educational and non-commercial purposes only.
It is not affiliated with or endorsed by Mojang, Microsoft, or any related entities.
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,500 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,396 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,840 starsmrdoob/three.js
JavaScript 3D Library.
117,983 stars