Skip to content

Armin-000/EndlessMeadow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Endless Meadow Logo

Endless Meadow ๐ŸŒฟ

A cinematic procedural meadow prototype and experimental mini-engine built in modern C++ using raylib and OpenGL.

Endless Meadow Wallpaper


Endless Meadow


Endless Meadow

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

Features

  • ๐ŸŒฑ 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/.cpp architecture

Controls

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

Project Structure

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

Current Systems

Terrain System

  • Infinite procedural terrain
  • Fractal & ridge noise generation
  • Runtime chunk generation
  • Terrain-aware rendering

Vegetation System

  • GPU grass rendering
  • Flower rendering
  • Procedural trees
  • Procedural rocks
  • Tree shaking animation

Water System

  • Animated GLSL water shader
  • Dynamic wave movement
  • Water rendering around player

Alien System

  • Procedural alien rendering
  • Walking & sprint animation
  • Falling animation
  • Reactive antenna physics
  • Cinematic backpack rendering

Inventory System

  • Backpack UI
  • Item organization
  • Slot movement system
  • Wood collection

Item Drop System

  • Terrain-aware physics
  • Bounce simulation
  • Magnetic pickup system
  • Spinning collectible items

Preload System

  • Cinematic loading screen
  • Glow UI
  • Animated particles
  • Smooth progress bar
  • Replayable debug preload

Build

macOS

Install dependencies:

brew install raylib cmake

Clone repository:

git clone https://github.com/Armin-000/EndlessMeadow.git

cd EndlessMeadow

Build project:

rm -rf build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

cmake --build build

Run:

open build/EndlessMeadow.app

Technologies

  • C++17
  • raylib 5.5
  • OpenGL
  • GLSL
  • CMake
  • Procedural Generation

Architecture

Current architecture follows a modular design:

include/ -> declarations
src/     -> implementations

Main gameplay loop:

src/game.cpp

Loading system:

src/preload.cpp

The project is transitioning from:

prototype

toward:

modular procedural mini-engine

Future Plans

  • ๐ŸŒ™ 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

Inspirations

  • Journey
  • Sable
  • Tiny Glade
  • Firewatch
  • No Man's Sky (stylized atmosphere)

License

This project is intended for:

  • graphics programming
  • procedural rendering research
  • experimentation
  • learning
  • portfolio showcase

See LICENSE.md.

About

C++ procedural open world prototype with GPU animated grass, infinite terrain streaming and cinematic rendering.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors