Repository navigation
How It Began
Modatorial.io started as an experiment: "Can we make Territorial.io moddable?"
Territorial.io ships as a single minified JavaScript file. Every function name is 1–3 characters, every internal object is hidden behind an IIFE, and there's no plugin system, no API, and no extensibility hooks. The game is designed to be played, not extended.
That was the challenge.
The first working prototype was a monkey-patching mod loader. Instead of modifying the game itself, we intercepted the browser APIs the game relies on:
- WebSocket — to observe every packet sent and received
- requestAnimationFrame — to hook every game frame
- Canvas2D.drawImage / fillText — to inject our own visuals
- Input events — to intercept key/mouse actions
The loader exposed a clean window.TerritorialMods API. Any mod could now tap into the game without touching its source.
First milestone: a mod that renamed every bot to bob, john, ur mom, zack, bobir, and friends. It worked. Then the impossible felt possible.
What began as a single loader file evolved into a proper client:
- Client chrome bar with brand, version, and layout switcher
- Mod manager menu (F10) with per-mod enable/disable toggles
- Sidebar layout replacing the game's scattered buttons
- Panorama background with mouse-controlled look
-
Custom splash screen with the
TERRITORIAL.IO → MODATORIAL.IOmorph animation - SVG icon system for the menu buttons
- Hover animations and click ripples for a proper client feel
Early on, the loader simply hid the original title. Then modderboii designed a proper logo, and the project got its name:
Modatorial.io — the moddable territory.
The intro animation was rewritten so players watch the original name fall from the sky, then morph into ours — a small ritual that hints at the spirit of the project.
As of v1.9.2, Modatorial.io is:
- ✅ Fully moddable (loader + API + mod folder system)
- ✅ Visually custom (sidebar, animations, panorama, custom icons)
- ✅ Stable enough for daily use
- ⏳ Still in active development (see Roadmap)
See Bugs, Issues & Patches for the entire version history.