← All posts

Studio3 min read

Terminal Leave: where things stand

The first devlog entry: what Terminal Leave is, what already works as of mid-July, who is building it, and what this devlog will cover.

A week ago this game got a name and a domain — Terminal Leave — and from that moment I'm keeping a development log. This post is the milestone where, for me, the project starts being a project rather than a hobby or a way to spend an evening.

What the game is

It's turn-based tactics for two players (for now, at least) where turns happen simultaneously. Both plan their soldiers' actions at the same time: routes, facing, fire, watching a sector. Once both have locked their orders, the server resolves the round and the players watch how their plans played out. Waiting for the other side's turn is kept to a minimum.

That's the core of the game, but there is a second half, no less important — the one that happens between battles.

Soldiers — each one has a name, a face, a country, stats and a service record. The dead don't come back, the wounded have to be saved, and those left behind in a defeat are listed as missing in action. They can't be brought back either.

Weapons and armour are specific items with a serial number and wear, and whatever stays on the battlefield can be taken by the enemy.

The game runs in the browser. The browser client is one of its core principles: it has to be playable anywhere, on any device. Why that matters is a story for later — Phase 3 or Phase 5, I don't know yet myself.

What already works

  • simultaneous turns on a shared timeline, and battles between two live players via matchmaking;
  • a battle against a bot (I got tired of playing against myself in two browsers, in a game with no graphics);
  • per-cell fog of war: cone vision, walls that block sight and stop bullets;
  • several kinds of weapons, magazines and calibres, grenades (which is overstating it: the grenades don't work, and the weapons differ only in damage);
  • battlefield loot and carrying out the wounded (in a backpack: carrying works, carrying off the battlefield doesn't);
  • squad headquarters: soldier files, warehouse, shop, hiring, memorial;
  • skills that grow from what soldiers actually do in battle. There are no levels;
  • no levels — medals and ranks are approved by the commander personally (I couldn't be bothered to work out the balance and mechanics of levels, so I made it a feature);
  • a no-loss training mode (I had to build it: after testing, the memorial had no room left for new names);
  • localisation in two languages.

It all works, even though there's hardly anything there yet.

Who I am

I'm building the game on my own — again, for now. I'm a backend developer by trade, working in Node. That's the main reason the game isn't a casual one: the server side is what matters here — only the server computes the battle, the client just shows the result.

I use AI agents as a development tool — as a team of juniors, if you like: the architecture, the decisions and the review stay with me, and their code has to be checked, fixed and redone. This isn't vibe-coding and it isn't an “AI-made game”.

What this devlog will cover

News on how the project is moving along, update reports, and plain notes.