About

One Developer.
One Engine.

Warman is a hack-and-slash action RPG built almost entirely by a single person. Custom terrain, custom networking, custom physics, custom everything, because off-the-shelf solutions didn't fit the game I wanted to make.

The Game

Warman started with a simple question: what if an action RPG had nothing but the action? No story to sit through, no NPCs to talk to, no filler content to pad the runtime. Just combat, loot, and the satisfaction of watching your character get stronger.

The result is a game where you create a hero, pick a weapon (which determines your class), and fight your way through procedurally-generated dungeons across multiple biomes. Items drop with random modifiers. Skills chain into modifier procs. The blacksmith lets you reroll and upgrade your gear. You can play solo or bring up to 7 friends along for co-op.

Warman launched into Early Access, went through over 90 updates, and reached its 1.0 release. Update 2.0 followed with a complete rewrite of the multiplayer, terrain, physics, and modding systems. The publisher is indie.io.

The Tech

Warman runs on Unity, but most of the gameplay systems are custom-built. The multiplayer uses a deterministic lockstep simulation where only player inputs travel over the network. The terrain is a grid-based system with dynamic texture atlases, height levels, cliffs, ramps, and water. Pathfinding runs on a 3D A* grid with BFS surface connectivity. All physics use custom circle-intersection checks, not Unity's physics engine.

The modding system is built into the foundation. The base game loads as a scenario, the same format that custom mods use. WarScript, a custom scripting language, powers game logic for both the base game and mods. The level editor, terrain tools, and Workshop publishing are all part of the shipped game.

Everything is serialized with a custom binary format. No JSON, no Protobuf. Network ticks, save files, room data, and mod content all use the same IBinarySerializable interface. This was necessary for deterministic lockstep. Every client must produce byte-identical output from the same inputs.

90+Updates shipped
8Player co-op
3Platforms
5Weapon classes

The Philosophy

Every design decision in Warman comes back to one principle: remove everything that isn't gameplay. If a feature doesn't make the combat better, the builds deeper, or the progression more satisfying, it doesn't ship. This extends to the tech. If Unity's built-in system doesn't fit, build a custom one that does. If a networking model has too much overhead, pick one that doesn't.

The dev blog documents these decisions in detail. Each article covers a system from the actual codebase: how it was designed, what tradeoffs were made, and why simpler approaches were chosen over complex ones.