Why I built it
Real-time strategy games usually need a large download, a strong PC, and a store account. I wanted the full genre (bases, economy, armies, aircraft) in a browser tab that opens in seconds, on an ordinary laptop, in Persian or English.
What I built
Razmak is a complete RTS. You build a base, collect supplies, train an army, and destroy the enemy. You play against an AI with three difficulty levels, or against other people online.
- A 3D battlefield rendered with three.js and WebGL 2
- 15 units and 13 buildings: infantry, vehicles, gunships, bombers, and drone swarms
- An AI opponent that plans its economy, builds an army, and attacks in waves
- Online multiplayer with rooms and lobbies, plus saves and replays
- A guided first mission for players who are new to strategy games
- A full Persian interface with right-to-left text, and an English interface
- A small macOS desktop app that opens the same game
The hard part
A match that cannot cheat or drift
The simulation is deterministic and separate from the graphics: it has no three.js code and no browser code. The same input always gives the same result. That makes replays exact and lets the server run the real match. Each player sees only what their units can see, so hidden enemy data never reaches the browser.
One game, two places
Live matches run on the server; saves and replays run the same simulation in the browser. Both use one presentation layer, so a replay looks exactly like the match did.
Where it stands
Razmak is in active development, with more than 2,200 commits so far. You can play it now at razmk.ir. The source code is private.
Let's talk
Email me about a project, a problem, or an idea: hello@moazennia.ir. I read every message myself and reply. My CV is available on request.