Warmonger
Play WarmongerSolo Personal Project ยท Hex-based tactical wargame built in vanilla JavaScript, with online leaderboards and mobile-first performance
Solo Personal Project ยท Hex-based tactical wargame built in vanilla JavaScript, with online leaderboards and mobile-first performance
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 WarmongerMy Role