PRPG
In progressPRPG (Procedural RPG) is a small C++ project demonstrating procedural generation, rendering, and lightweight LLM integration for in-game behaviors. It's intended as a prototype and research playground for procedural world generation, NPC behaviors, and integration with local model runtimes.
What it is
PRPG is a prototype application that generates procedural roads, terrain and simple city elements, renders them with OpenGL, and experiments with local LLM integration (via `llama`/`ggml`) for NPC/dialogue behaviors.
Features
- Procedural road / terrain generation utilities
- Deferred OpenGL renderer and skybox
- Basic entity system including `player` and `npc` entities
- Asset loaders for images, glTF models and simple shaders
- Optional local model support using `llama` / `ggml` (model files included under `models/`)
Planned
- Improved building generation (procedural placement of building elements like windows, corners, and higher-quality models)
- Textured roads and terrains
- NPC animations, movements, and richer dialogues
- Improved NPC AI and dialogue pipelines
- More procedural city elements (traffic simulation)
- Save/load functionality for world state and NPC interactions
- Performance optimizations and better resource management
Technologies
- C++17
- CMake (build system)
- vcpkg (dependency management)
- OpenGL + glad + glm (rendering)
- SDL2 + SDL2_ttf (windowing/input and fonts)
- nlohmann_json (config / serialization)
- llama / ggml / gguf (local model runtimes - optional)