Development Roadmap
What's Coming to Warman
Warman is evolving from a hack-and-slash action RPG into a full modding platform. This roadmap lays out the engine-level work, new APIs, and content that will make it possible for modders to build tower defence games, hero arenas, dungeon crawls, and entirely new genres inside the Warman engine.
Phase 1
Foundation
Everything else depends on these changes. Phase 1 restructures how mods are loaded, how saves work, how lobbies flow, and how mod data reaches clients. These are deep engine changes that unlock all future phases.
Decouple Mod Loading from Boot
Currently, the game expects all content to be present when it starts. This change makes the main menu work without any mod loaded. NetworkAssets and ItemDatabase stay empty until a mod is explicitly loaded, meaning the engine can host completely different games without restarting.
Key-Value Save Store
A new save system built around key-value pairs instead of fixed data structures. Mods define their own save keys, and player progress is stored per-mod rather than globally. This replaces the rigid PlayerSaveData format and allows each mod to persist whatever data it needs — tower defence high scores, dungeon crawl inventories, arena rankings, or anything else.
4-Phase Lobby Flow
The multiplayer lobby is being expanded from a simple ready-up screen into a four-phase flow: Lobby (players connect and configure), Hero Select (each player picks or creates a hero for the mod), Starting (mod loads and initialises), and Playing (game begins). Mods can define whether players pick from existing heroes, create fresh characters, or skip hero selection entirely.
Mod Transfer Protocol
When a client joins a game, the host streams the mod data to them using a chunked transfer protocol that runs at full speed during the lobby phase — not limited to the simulation tick rate. Combined with mod caching (skip transfer if the client already has the same mod version), this makes joining modded games fast and seamless.
Phase 2
WarScript Core API
The engine already has systems for timers, events, unit spawning, sound, and camera control — but they are locked inside C# and inaccessible to modders. Phase 2 exposes these systems to WarScript, giving mod creators the building blocks to script any game mode.
Timer API
Deterministic timers that run inside the lockstep tick loop, so they stay perfectly synchronised in multiplayer. Extends WarScript's existing coroutine and yield support, letting modders write timed events, cooldowns, and periodic effects with clean async-style code.
Event Hooks
WarScript callbacks for core game events: when a unit dies, takes damage, enters a region, spawns, when a chat message is sent, or when the game starts. The C# event modules already exist — this work binds them to WarScript functions so modders can react to everything happening in the game world.
Unit Creation & Removal
Spawn units at any position with an owner, kill them, remove them, or reposition them — all from WarScript. Built on top of the existing EnemySpawner and EnemyManager systems, this API is the foundation for tower defence towers, arena summons, dungeon enemies, and any other dynamically created content.
Building & Spawner API
Create buildings by spawning non-moving units with pathfinding colliders. When a building is placed, it blocks the navigation grid. When destroyed, the grid updates and units can path through again. This uses the existing Spawner unit type and AstarModifier — no new engine systems needed, just WarScript access.
Sound & Camera APIs
Play sounds, play sounds at world positions, trigger music tracks — all from script. Pan the camera, shake it, set bounds. These small APIs round out the core toolkit and let modders control the full player experience.
Save & Load Hooks
WarScript hooks that fire when a hero is saved, loaded, or created. Connected to the new key-value save store, these let mods persist player progress across sessions — character stats, unlocked upgrades, collected items, or any custom data the mod defines.
Phase 3
Engine Features
New engine-level systems that unlock specific game genres. These cannot be faked in script — they require changes to the core simulation, networking, and UI layers.
Alliance Matrix
A full N-way faction system replacing the current binary ally/enemy check. A matrix that every system consults — damage resolution, AI targeting, skill targeting, aura filtering, projectile collision — to determine relationships between players. This enables free-for-all, team-based, and shifting-alliance game modes where diplomacy can change mid-game.
16-Player Support
Expanding the lockstep simulation from 8 to 16 player input slots. This touches the core SimulationTick format and every system that reads player inputs, but the change is straightforward. Sixteen players opens the door to larger team games, hero line wars with many lanes, and bigger co-op experiences.
Channeling Spells
Proper native support for channeled abilities. A channeling spell locks the caster in place, ticks a callback every frame, shows a cast bar in the UI, and can be configured to cancel on movement, cancel on damage, or be interrupted by other abilities. This is critical for heal-over-time spells, charge-up attacks, and ritual mechanics that many custom game modes need.
Scriptable Unit Interaction Menu
When a player interacts with a building or unit, the game can now show a script-defined option menu. Each option is a label connected to a WarScript function — "Upgrade to Level 2", "Sell", "Set Rally Point", "Research Ability". This is how players will manage buildings in tower defence, shops in dungeon crawls, and any other unit-based interaction.
Custom Spawn Points
Mods can now assign per-player or per-faction spawn locations. A spawn point registry is populated by WarScript during the bootstrap phase, so each game mode controls exactly where players appear when the game starts or when they respawn.
Victory & Defeat System
Engine-level game-over states driven by WarScript. A mod calls victory or defeat on a player, the engine shows a result screen, stops the simulation, and allows return to the lobby or main menu. Clean, standardised, and essential for any competitive game mode.
Player Colours & Team Assignment
Visual player colours and team grouping for alliance presets. Teams can be configured through WarScript and automatically set the correct alliance relationships between players, making setup for team-based modes quick and consistent.
Phase 4
UI Extensions
New UI systems controlled entirely from WarScript. These give modders the visual tools to build polished, competitive game experiences with real-time feedback.
Leaderboard & Multiboard
A WarScript-controlled table rendered on screen with sortable columns and rows. Updated every tick, it can display kills, deaths, gold, resources, or any custom stat. The engine handles layout and rendering; the mod just sets the data.
Timer Display
A HUD-level countdown or countup timer. Essential for wave-based games, round timers, preparation phases, and any game mode with time pressure. Modders set the duration and the engine handles the display.
Custom Dialog Boxes
Modal dialogs with script-defined buttons, each wired to a WarScript callback. Used for role selection at game start, voting systems, confirmation prompts, shop menus, and any moment where the game needs the player to make a choice.
Floating Text & Screen Text
Trigger floating text at any world position — damage numbers, "+50 Gold", status messages — or pin persistent text to screen coordinates for wave counters, round indicators, and custom HUD elements. The popup system already exists in the engine; this gives WarScript full control over it.
Phase 5
Content & Standard Libraries
With the engine and APIs in place, Phase 5 delivers reusable WarScript libraries that solve common modding patterns, migrates the base game to the new systems, and ships sample mods that prove the platform and teach modders by example.
Standard Libraries
Seven reusable WarScript libraries ship with the engine so modders do not have to reinvent common systems. These are fully tested, documented, and designed to work together.
lib/waves.ws
Configurable wave spawning system with spawn points, path-following, per-wave enemy composition, inter-wave delays, and callbacks for wave completion and all-clear.
lib/income.ws
Periodic income system with configurable intervals, base amounts, interest rates on current gold, and per-player income overrides.
lib/lives.ws
Shared or per-player lives system. Tracks life loss, triggers callbacks on life lost and elimination, and integrates with the victory/defeat system.
lib/teams.ws
Team setup helpers that automatically configure alliances, player colours, and spawn regions. Define named teams with assigned players and the library handles the rest.
lib/scoreboard.ws
Scoreboard with auto-tracking for kills, deaths, and custom columns. Sortable, auto-updated, and connected to the leaderboard UI.
lib/building.ws
Building placement helpers with cost checks, upgrade chains, sell refunds, auto-generated interaction menus, and skill assignment for auto-attacking structures.
lib/rounds.ws
Round and phase management. Define named phases with durations and callbacks. Supports looping phases for preparation-combat-shopping cycles.
Base Game Migration
The base "Warman" game itself is migrated to the new key-value save store and WarScript hooks. Existing save fields become key-value entries, and a one-time migration converts old saves to the new format. This proves that the engine can run its own game as a mod — the ultimate validation of the platform.
Compile Step & Dependency Bundling
The Warman Editor gains a compile step that validates scripts, checks asset references, bundles dependencies, and produces a final .wm archive ready for distribution. This catches errors before publishing and ensures mods are self-contained.
Sample Mods
Four reference mods that each demonstrate a different genre and serve as learning material for modders.
Tower Defence
1–4 player co-op. Building placement, wave spawning, income, lives, and leaderboard. Uses lib/waves, lib/income, lib/lives, lib/building, and lib/scoreboard.
Hero Arena
2–8 players. Free-for-all or team combat with the alliance matrix, respawning, kill tracking, scoreboard, and round system. Uses lib/teams, lib/scoreboard, and lib/rounds.
Dungeon Crawl
1–4 player co-op with persistent saves. Multi-room exploration, enemy spawners, loot, shops, and hero progression using the key-value save store.
Hero Line Wars
2–4 players. Per-player lanes, income, unit sending, lives, custom spawn points, and leaderboard. Uses lib/income, lib/lives, and lib/scoreboard.
Confirmed Not Planned
These features have been evaluated and intentionally excluded. Some are solved by existing systems, and others are deferred to keep the scope focused.
Unit Control Groups
Hero-only control is a core design choice. All other units and buildings are managed by AI. This keeps the gameplay focused on action rather than micromanagement.
Fog of War
The camera is locked to the player's hero with no free panning. There is no maphack advantage to gain, so fog of war adds complexity without benefit. Deferred indefinitely.
Unit Training Queues
Buildings use the existing skill system to spawn units. A building can have skills that create units on cooldown — no dedicated training queue UI is needed.
Complex Damage Type Matrix
The three damage types (Physical, Magical, Pure) are kept simple. WarScript can layer custom damage modifiers on top for mods that want more nuance.
Weather Effects
Cosmetic weather is low priority. Modders can achieve rain, snow, and fog effects using particle doodads placed in the editor.
Mid-Game Join & Spectator
Not planned for the initial modding platform. Reconnect support and spectator mode are separate future features that may come after the core roadmap is delivered.
Start Modding Today
While the roadmap features are in development, the Warman Editor and WarScript are already available. Build maps, create quests, and start scripting right now.