← All projects
WIP GodotGDScriptC++

Age of Rites

A grid-based isometric RTS in a fantasy world where the gods you devote yourself to actively shape how you play each match.

At a glance
Role
Solo
Duration
Started February 2026, ongoing
Tech
Godot, GDScript, C++
Status
WIP
Released
15-02-2026

A grid-based isometric 3D RTS with AoE2-style pacing and depth, set in a fantasy world where gods are central to gameplay. Players don’t just build armies. They devote themselves to gods whose demands actively shape their playstyle each match.

Context

I like playing AoE2, and I (probably naively) assumed an RTS would be more coding than visual, which suits my skills better. The setting came from somewhere else. Ever since WoW Legion I’ve been drawn to that underworldly-gods aesthetic, the same vibe Illaoi has in League, and I’d always wanted to build something around it. So I went brainstorming, and Age of Rites is what fell out.

The title started as a working name. Then I happened to be listening to Sid Meier’s Memoir! on Spotify and he says, plainly, that they don’t do codenames for projects. (I guess if it sticks, it sticks.) It’s growing on me, so it’s staying.

Right now I’m at epic 5 of a planned 15 toward a playable singleplayer match. Multiplayer is a “possibly”, though I’ve been building with lockstep determinism in mind from day one to keep that door open. What “done” actually looks like depends on a lot of factors, but I hope to at least release something playable.

Build

An RTS asks for a lot of groundwork. The determinism, the command queue, the fixed-point math, the pathfinding, the renderer-versus-simulation split: a lot of plumbing has to exist before it’s even time to start building the game. I knew it was going to be a lot. I might’ve underestimated still.

The thing I’m proudest of right now is pathfinding. It went through a lot of iterations to get there. I ended up on Lazy Theta* on the tile grid, then a three-phase string-pull pass to turn the tile path into smooth world-space waypoints. Two resources were a big help: a Godot forum thread on combining A* with raycasting for smooth pathfinding and snapping to obstacle corners, and Raymi Klingers’ talk “Age of Empires: 25+ years of pathfinding problems with C++” from Meeting C++ 2025, which was a great reality-check on how much of this problem is “obvious” versus “actually subtle”.

Performance eventually got tight enough that I ported the simulation hot path (pathfinding, movement, collision, fixed-point math) to C++ via GDExtension. The speedup was about 61x, which felt great until I remembered that GDScript was the bottleneck and I’d been the one putting it there. I did the C++ port with Claude Code, since I don’t actually know C++. Sue me. I might rebuild it by hand later, if this project goes anywhere.

Beyond that, it’s still pretty barebones. Units have to be spawned in via the editor (no production buildings yet), but a villager can build buildings and gather resources, which is the start of an economy. Selection, group movement, building placement and demolition all work. Everything else is ahead of me.