C++20 • SDL2 • ECS • Netcode
Project Aurora Zeta
Survivor-style, wave-based ARPG built in C++20 with a lightweight in-house engine.
The codebase is split cleanly into /engine and /game so systems stay reusable and fast to iterate.
Aurora Zeta is a top-down, survivor-style wave ARPG: pick an archetype, drop in, chase rotating hotzones, survive escalating waves, and spend your run currency on shops, items, and upgrades.
Host/client multiplayer with lobby sync (hero, difficulty, max players, chat) and ~20Hz match snapshots. Default port:
37015.
Auto-fire primaries, tuned damage types, and a snappy dash:
3.5× move speed for 0.18s,
2.5s cooldown, full i-frames.
Current repo icon (as referenced in the README).
Current Build Includes
What’s playable today (and what the code already supports).
Systems Snapshot
A quick tour of the mechanics that make the chaos feel “designed.”
Enemies spawn around the hero every interval+grace (2.5s + 1.0s).
Enemy HP & shields scale +8% per wave, speed +1% per wave. Hotzones rotate every 30s and grant:
Xp Surge (+25% XP), Danger-Pay (+50% copper), or Warp Flux (+20% damage, +15% fire rate).
Auto-fire primaries, tuned damage types (plasma/melee/thorns), lifesteal and attack-speed buffs, and collision-based damage that respects hotzone multipliers.
Copper fuels in-run shops and items; gold unlocks the Traveling Shop after you kill a boss, then banks into the vault for meta upgrades.
Hero Archetypes
Current menu presets (HP / DMG / Speed multipliers + playstyle notes).
A compact list you can scan fast. (Full details live in data/menu_presets.json.)
Controls & Hotkeys
Defaults loaded from data/input_bindings.json (fully remappable via file override).
Data-Driven Tuning
Where the knobs live (so balancing isn’t a “recompile to feel” situation).
The repo includes an RPG loot system with item level scaling, templates, affixes, and regeneration scripts. Rarity tiers include a Unique (cyan) above Legendary.
Build & Run
Quickstart snippets lifted straight from the README.
Install VS2022 + CMake tools, then use vcpkg for SDL deps and set the toolchain in CMake.
Project Layout
How the repo stays sane as it grows.