Warmonger

Play Warmonger

Solo Personal Project ยท Hex-based tactical wargame built in vanilla JavaScript, with online leaderboards and mobile-first performance

The Build

A turn-based tactical wargame running entirely in the browser, with no engine and no framework behind it. The hex maths, pathfinding, line of sight, fog of war, combat resolution, opponent AI and every frame of animation are hand-written vanilla JavaScript.

Runs are scored and posted to online leaderboards, so a campaign isn't just something you finish โ€” it's something you rank on. Getting that right meant validating and persisting results server-side rather than trusting anything the client sends, then feeding it back into the UI without a page reload.

The real work was performance. A hex battlefield can hold hundreds of animated sprites at once, and it all had to hold up on a phone โ€” so the build is mobile-first by necessity, not preference. Countless hours went into culling what's off-screen, batching draws, keeping asset loading lean and making touch controls feel as precise as a mouse. Getting a full tactical wargame to run smoothly in a mobile browser was, by a distance, the hardest part of the project.

Play Warmonger

My Role

  • Sole developer & game designer
  • Hex engine, pathfinding & combat systems
  • Online leaderboards & score validation
  • Mobile-first performance optimisation
  • Opponent AI & campaign generation
Warmonger title screen Warmonger campaign map with branching nodes Warmonger battle on the grassland hex map Warmonger battle in a ruined city Warmonger fog of war and line of sight Warmonger spell and fire effects across the battlefield Warmonger battle in the frozen wastes

The Artwork Behind It

HTML / CSS3 / JavaScript
Hex Engine & Game Systems
Mobile-First Optimisation

Like what I do? Get in touch.

Email me here