Game Overview
Monsterion is a top-down real-time strategy / MOBA built on Godot 4. It ships as two build flavors from one codebase — a desktop build and a touch-first mobile/web build — and runs in the browser via Cloudflare Pages.
The arena: three ways to play
1. 3D Monster MOBA
5v5 lanes with unique 3D monsters, strange silhouettes, and loud personalities. The classic MOBA loop — pick a hero, push a lane, take towers, kill the enemy core — re-skinned for a roster of monsters. You control one leader directly; allies and enemies are AI.
2. Zombie Co-op
Wave-based survival with build mutations against monster hordes. A first-person / survival mode where you and your squad hold out against escalating waves, spending and mutating between rounds.
3. Campaign
Story-driven progression through zones with bosses and unlocks. A single-hero campaign on a dedicated map, with scripted dialog sequences that don't run in a regular match.
Modes as shipped (engine view)
Under the hood, every mode is launched by writing a few keys into WorldState and
calling game.start(). The game_mode string then swaps the camera, input, and HUD.
| Mode | Map | game_mode |
|---|---|---|
| Quick Start | one-lane | "match" |
| New Game (custom 3v3) | one-lane / three-lane | "match" |
| Campaign | rect test map | "campaign" |
| MOBA 1v1 | three-lane | "moba" |
| MOBA 5v5 | three-lane | "moba" |
See Game Modes for the full setup flow of each.
Core loop
- Pick a leader (hero). In MOBA you control one; in RTS modes you command a squad.
- Fight for lanes, towers, and resource buildings.
- Shop — buy equippable items and consumables with in-match gold; they're delivered to your unit after a short travel time.
- Win by destroying the enemy's core structures.
Out of match, you spend $IONS on cosmetic skins and monster mutations, and optionally stake $IONS for badges and rewards.
Two build flavors
| Folder | Purpose | Build |
|---|---|---|
prototype/ | Desktop / non-mobile | Standard "Web" preset |
prototype-mobile/ | Touch-first divergent copy | "Web" preset + custom_features="mobile_build" |
The mobile copy adds the virtual joystick, on-screen attack/skill buttons, a fixed
character camera, and a re-anchored HUD. Code paths branch on
OS.has_feature("mobile_build"). Both flavors deploy to separate Cloudflare Pages
projects on every push.