Swazi historical 3D RPG — UE5 C++ · Zig SIMD · Python pipeline. Geomorphological terrain, Lotka-Volterra ecology, cattle-economy simulator, siSwati cultural protocol engine.
# Mahlanya RPG
A Swazi historical 3D RPG spanning multiple eras of Eswatini's history — pre-colonial formation (~1750) through colonial resistance (~1906).
The game's central differentiator is that its environment does not *look* realistic — it *behaves* with the physical, geological, climatological, acoustic, and social reality of the actual Kingdom of Eswatini.
**Protagonist:** Mahlanya ("the reckless/daring one")
**Engine:** Unreal Engine 5.4+
**Language:** C++ + Blueprint
**Platforms:** PC (primary), iOS, Android (pre-baked tier), Console (planned)
---
## Architecture
Four interlocking layers:
```
LAYER 1 — OFFLINE SCIENCE PIPELINE (Trilingual)
Python — I/O orchestration, network, GDAL, content validation
Zig — Native SIMD compute: erosion, D-infinity, Voronoi (libmahlanya_compute.so)
C++ UE5 Commandlets — Pipeline stages with direct UE5 asset output (MahlanyaPipelinePlugin)
LAYER 2 — UE5 RUNTIME CORE (C++ + Blueprint)
Nanite, Lumen, World Partition, PCG Framework, Chaos Physics, MetaSounds, GAS
LAYER 3 — CUSTOM ALGORITHM PLUGINS (11 UE5 C++ Plugins)
Exact science where UE5 built-ins approximate
LAYER 4 — MOBILE ARTIFACT CONSUMER
Consumes pre-baked artifacts from Layer 1. No heavy runtime compute.
```
## Custom Plugins (11)
| Plugin | Purpose | Load Phase |
|---|---|---|
| `SimulationBusPlugin` | Typed multicast event bus (no deps) | **PreDefault** |
| `MahlanyaPipelinePlugin` | Editor-only C++ commandlets wrapping Zig kernels | Default (Editor) |
| `ErosionRuntimePlugin` | Runtime terrain erosion compute shader (ErosionCS.usf) | Default |
| `SibayaEngine` | Umuti settlement Voronoi tessellation + political graph | Default |
| `LocomotionPhysicsPlugin` | Anisotropic friction tensors, altitude fatigue, Chaos slip | Default |
| `MicroclimateEngine` | Orographic rain, valley fog, lightning, stealth visibility | Default |
| `GeometricAudioPlugin` | 64-ray acoustic ray-tracer, atmospheric propagation | Default |
| `KnowledgeGraphPlugin` | Swazi …