A cinematic procedural meadow prototype and experimental mini-engine built in modern C++ using raylib and OpenGL.
Endless Meadow is a cinematic procedural meadow sandbox and experimental mini-engine focused on procedural rendering, atmospheric visuals and modular gameplay systems.
Built using:
- C++17
- raylib
- OpenGL
- GLSL
- CMake
The project combines:
- procedural terrain generation
- real-time chunk streaming
- stylized rendering
- cinematic exploration
- lightweight engine architecture
- 🌱 Infinite procedural terrain
- 🌊 Animated water shader
- ☁️ Atmospheric cloud rendering
- 🌲 Procedural trees and rocks
- 🌸 GPU grass & flower rendering
- 👾 Procedural animated alien
- 🧠 Reactive alien antenna physics
- 🎒 Cinematic procedural backpack
- 🪵 Tree destruction system
- 📦 Wood drop physics
- ✨ Magnetic item pickup
- 🗺️ Real-time terrain minimap
- 🎮 Runtime chunk streaming
- 🎒 Backpack inventory UI
- ✨ Pickup popup effects
- 🛫 Fly mode
- 🎬 Cinematic preload system
- 🧩 Modular
.hpp/.cpparchitecture
| Key | Action |
|---|---|
| W A S D | Move |
| Mouse | Camera |
| SHIFT | Sprint |
| SPACE | Jump |
| Double SPACE | Fly Mode |
| CTRL | Fly Down |
| E | Backpack |
| M | Map |
| Left Click | Hit Tree |
| ESC | Pause |
| Q | Replay Preload |
include/
├── game.hpp
├── preload.hpp
├── world.hpp
├── world_types.hpp
├── terrain.hpp
├── vegetation.hpp
├── water.hpp
├── sky.hpp
├── alien.hpp
├── collisions.hpp
├── map.hpp
├── inventory.hpp
└── item_drops.hpp
src/
├── main.cpp
├── game.cpp
├── preload.cpp
├── world.cpp
├── terrain.cpp
├── vegetation.cpp
├── water.cpp
├── sky.cpp
├── alien.cpp
├── collisions.cpp
├── map.cpp
├── inventory.cpp
└── item_drops.cpp- Infinite procedural terrain
- Fractal & ridge noise generation
- Runtime chunk generation
- Terrain-aware rendering
- GPU grass rendering
- Flower rendering
- Procedural trees
- Procedural rocks
- Tree shaking animation
- Animated GLSL water shader
- Dynamic wave movement
- Water rendering around player
- Procedural alien rendering
- Walking & sprint animation
- Falling animation
- Reactive antenna physics
- Cinematic backpack rendering
- Backpack UI
- Item organization
- Slot movement system
- Wood collection
- Terrain-aware physics
- Bounce simulation
- Magnetic pickup system
- Spinning collectible items
- Cinematic loading screen
- Glow UI
- Animated particles
- Smooth progress bar
- Replayable debug preload
Install dependencies:
brew install raylib cmakeClone repository:
git clone https://github.com/Armin-000/EndlessMeadow.git
cd EndlessMeadowBuild project:
rm -rf build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build buildRun:
open build/EndlessMeadow.app- C++17
- raylib 5.5
- OpenGL
- GLSL
- CMake
- Procedural Generation
Current architecture follows a modular design:
include/ -> declarations
src/ -> implementationsMain gameplay loop:
src/game.cppLoading system:
src/preload.cppThe project is transitioning from:
prototypetoward:
modular procedural mini-engine- 🌙 Day/night cycle
- 🌧️ Dynamic weather
- 🌲 Biome system
- 🔊 Ambient audio
- 🪓 Axe/tool system
- 🧱 Crafting
- 🎒 Better inventory model
- 🌿 Wildlife
- 💾 Save/load system
- ✨ Particle engine
- 🎥 Cinematic camera system
- ⚡ Async chunk loading
- Journey
- Sable
- Tiny Glade
- Firewatch
- No Man's Sky (stylized atmosphere)
This project is intended for:
- graphics programming
- procedural rendering research
- experimentation
- learning
- portfolio showcase
See LICENSE.md.


