Dev Blog
Behind the Engine
Technical write-ups on building a hack-and-slash action RPG from scratch — networking, terrain, pathfinding, combat systems, and everything in between.
Lockstep Networking in an Action RPG
How Warman implements lockstep multiplayer for up to 8 players: input packing, simulation ticks, transport abstraction, and input delay calculation.
Terrain System: Tiles, Cliffs, and Water
A walkthrough of the Warman custom terrain engine. Grid-based terrain points, cell types, dynamic texture atlases, cliff generation, water layers, ramps, and how it all feeds into the pathfinding grid.
Pathfinding on a Multi-Height Grid
How Warman implements A* pathfinding on a 3D grid with multiple height levels, ramps, cliff edges, and connected surface detection. BFS-based connectivity, diagonal movement, and the AstarAgent movement system.
How Rooms and Maps Connect
How Warman structures its game world: room-based level design, terrain generation per room, portal connections, on-demand room loading, and how mod scenarios use the same system as the base game.
Skills, Modifiers, and the Effect Stack
How the Warman skill and modifier system works under the hood: ScriptableObject-based skills with cast behaviours, modifier stacking and duration, event-driven modules, and how effects chain together.
Item Generation and Random Effects
How the Warman item system generates loot with random effects. Tiered effect values, offensive/defensive bias balancing, rarity scaling, and the reroll system at the blacksmith.
Building AI Companions with WarScript
How the Warman AI companion bots work: a WarScript-driven brain with A* pathfinding, kiting combat, portal navigation with memory, stuck detection, and the command API that scripts use to control behaviour.
Interactables: The Wiring System
The interactable wiring system that powers Warman level logic. Levers, switches, logic gates, enemy spawners, vendors, and how outputs chain together to create dynamic level behaviour.
Projectiles and Path Manipulators
How Warman handles projectiles: object pooling, pluggable path manipulators for straight-line, sine-wave, and spiral movement, pierce mechanics, group deduplication, and on-despawn skill casting.
The Damage Pipeline
A breakdown of the Warman damage pipeline: physical, magical, and pure damage types, damage snapshots for consistent calculations, penetration, crit mechanics, species-based multipliers, and the custom physics layer.
Custom Binary Serialization
How Warman serializes everything with a custom binary format: network ticks, save files, room data, and mod content. The IBinarySerializable interface, extension methods, and why JSON was never an option.
Determinism: What It Actually Takes in Unity
What deterministic lockstep requires in Unity: per-event seeded randomness, the two-context rule, and tests that catch desyncs before they ship.
How Warman Uses WarScript
How Warman integrates WarScript: attribute-based C# bindings, per-companion script isolation, and scripts that never touch simulation state directly.
The Entity Hierarchy: DamageTarget, Unit, WarmanPlayer, Enemy
How Warman structures DamageTarget, Unit, WarmanPlayer, and Enemy, and how the full damage pipeline runs through a single deterministic function.
Audio Pipeline: Runtime WAV Decoding and Normalization
How Warman decodes and normalizes WAV files at runtime for mod audio, covering 8/16/24/32-bit PCM without Unity's build-time asset pipeline.
Camera Follow and Room-Bounds Clamping
How Warman handles camera interpolation at 30 tps, why pivot clamping fails, and how frustum corner raycasting keeps the view inside room bounds.
Procedural Name Generation Across 8 Languages
How Warman generates fantasy names that feel native across 8 languages, from English to Japanese, using phoneme sets and syllable profiles per language.
No articles for this filter.