Game review

Conflict Management

6 / 10

Developer
Markus Fisch
Publisher
Independent (js13k 2018 entry)
Released
1 January 2018
Platforms
Web browser (desktop and mobile)
Genre
Turn-based tactics
Monetisation
Free, open source, no ads and no in-game purchases
Players
Single-player only (versus a local AI)

The short version

Conflict Management packs a hand-rolled WebGL renderer, shadow mapping, and a genuinely tactical turn-based battle — cover, movement range, auto-engage-on-approach — into roughly 10KB for js13k 2018, and the unified tap/drag input scheme it built for that jam runs cleanly on a real touchscreen with zero console errors. What it does not have is a second thought for the phone it now has to run on: the fixed, narrow-FOV camera that suited a wide desktop browser window in 2018 crops a five-a-side isometric battlefield down to one or two visible fighters on a portrait phone, and there is no menu, HUD, or instruction of any kind to help a first-time player figure out what just happened. A clever toy for ten minutes; not something to hand a friend on their phone without a warning.

Biggest strengths

  • The entire input scheme — select, move, pan the camera — runs through one unified pointer path (src.js's setPointer function feeds identically from touchstart/touchmove/touchend and mousedown/mousemove/mouseup), confirmed by actually playing it with playtest.js's real touch emulation on a 390x844 profile: tap-select, tap-to-move, and a held drag-to-pan all fired correctly with zero console or page errors across every run, on both phone and desktop
  • Cover is a genuine mechanic, not set dressing: the low-poly rock formations are checked by the same getBlockableNear/getFirstBlockableFrom functions the AI uses to decide whether it has a clear line to a target, so standing behind one actually changes what can reach you
  • The ground tint is a real (if quiet) rules readout — green marks how far the selected unit can move this turn, red marks which enemies fall inside that reach — which is the game's own answer to the js13k judges' complaint on record that "it's not very obvious what the range of one person is"

Biggest weaknesses

  • The camera has a fixed, narrow field of view and no zoom control whatsoever. On a 390x844 phone portrait viewport that crops the 2-versus-5 battlefield down to whichever one or two fighters happen to be on screen, against the full seven-unit field visible at a glance on a 1280-wide desktop window — a real cost for a game whose entire appeal is reading a tactical situation
  • There is no on-screen instruction of any kind — no menu, no HUD, no tutorial, not even a win/lose message. The 200-entry js13k competition page explains the controls in two sentences; the game itself explains nothing, and a player who lands on it via the shelf rather than js13kgames.com has to reverse-engineer tap-to-select from trial and error
  • It is one fixed skirmish, not a game with levels: two defenders against five attackers, and when it ends — either way — it just restarts the identical encounter ten seconds later. No score, no difficulty change, nothing carried forward or unlocked

Who it's for: js13k and low-poly-WebGL curiosity seekers who don't mind reading the source to understand the rules

Our recommendation: Worth a look on desktop for the size-budget craft alone; skip it on phone unless you're prepared to fight the camera as much as the enemy

6 / 10

Every js13k entry starts from the same constraint — the whole game has to fit, zipped, inside 13 kilobytes — and most of what separates a memorable one from a forgotten one is what its author chose to spend that budget on. Markus Fisch spent his on a real WebGL renderer with shadow-mapped lighting and low-poly animated units, and on a turn-based tactics engine that plays out on a continuous 3D plane rather than the grid the genre almost always defaults to. Both of those choices still hold up in 2026. What doesn't hold up is that this is a 2018 entry built and tuned for a wide desktop browser tab, now being asked to run on a phone it was never designed to fit on, and nothing about the presentation was ever adapted for that.

Tap to move, and the fight happens on the way

The control scheme is the reason this game belongs on a "playable with thumbs" shelf at all, and it earns its place: reading src.js shows every touch and mouse event funnelling through one setPointer function, so the exact same code path drives a tap on a phone and a click on a desktop. In practice that means tap a unit to select it (a white ring appears), tap a spot on the ground to send it there, and if that walk puts it within striking distance of an enemy, the unit attacks on its own the moment it arrives — no separate "attack" button, no menu, just movement that resolves into combat when it gets close enough. Playtesting this directly, not just reading that it should work, confirmed it: a tap-select followed by a tap-to-move on a simulated 390x844 touchscreen moved the unit, a second short move brought it into contact with an enemy, and the fight resolved automatically with a visible attack animation, all with zero console or page errors across repeated runs on both the phone and desktop profiles.

Camera control uses the same finger. Press and hold, then drag, and the view pans across the battlefield — code-wise this is the same pointer handler measuring how far you've moved before deciding a tap was actually a pan, not a command, which is exactly the right call for a single-input control scheme. It works cleanly in testing on both device profiles. The obstacles scattered across the map — the same low-poly rock shapes visible everywhere in Fisch's other js13k work — are not just terrain to walk around. The functions that decide whether an AI unit has line of sight to a target are the same ones checking whether a rock blocks a path, so standing behind one is a genuine, checkable tactic rather than a visual flourish. That single detail is what makes this feel like a tactics game with real ideas rather than a tech demo with a scoreboard bolted on.

A camera that was never asked to fit in a pocket

The problem is everything the touch layer sits inside of. The game's field of view is fixed at roughly 22 degrees and there is no zoom control anywhere in the code — not a pinch gesture, not a scroll-wheel handler, nothing. On a 1280-pixel desktop window that's a reasonable, slightly tight framing that shows the whole 2-versus-5 battlefield at once. On a 390-pixel-wide phone held in portrait, the same fixed angle crops that battlefield down to whichever one or two units happen to be in frame, and reading the tactical situation — who's near whom, who's in cover, who's about to get flanked — means constantly dragging the camera around to reassemble a picture the desktop version simply hands you for free. This is precisely the kind of thing GAMES-SHELF's own admission criteria worry about: touch handlers that technically work are not the same thing as a game that is actually comfortable to play on the device it's being served to, and here the input works fine while the framing genuinely fights the player.

Made worse by the fact that nothing on screen explains any of this. There is no menu, no HUD, no button labelled anything, and no message when a battle ends — the js13kgames.com listing spells out the controls in two short sentences ("Tap or click to go somewhere or someone to attack that someone. Hold and move to move the view."), but that context lives on the competition's page, not inside the game itself. A player who reaches this through the shelf rather than through js13k has to work out tap-select and tap-move by trial and error, discover the reach-preview ground tint by accident, and infer that a battle ended from the enemy units either vanishing or cheering rather than from any text saying so. The competition's own judges hit this same wall at launch — Spartez Team's comment on the entry, still visible on its js13kgames page, says plainly that "it's not very obvious what the range of one person is," going on to describe losing repeatedly to misclicks before understanding the rules. The reach-preview tint (a green wash on ground within the selected unit's move range, red on any enemy that falls inside it) is a genuine, working answer to that complaint — but it is a 10%-opacity color wash with no legend, easy to miss entirely on a first playthrough, exactly as the judges found in 2018 and exactly as this review found again in 2026.

One skirmish, and that's the whole game

There is also just less here than the presentation suggests. This is not a campaign or even a short level set — it is one fixed encounter, two defenders against five attackers, and when it resolves, in either direction, the entire scene resets and replays from the start ten seconds later. There's no score, no difficulty setting, no unlockable anything, and — checked directly in the source — no audio code at all: no music, no hit sound, no death sound. For a genre that usually leans hard on audio and escalating stakes to sell tension, silence and an infinite loop of the same fight make repeat sessions feel more like watching a diorama reset than replaying a game.

The js13kgames.com entry page (the competition's own record, not a wayback guess) puts this at edition 7 — 2018, not 2019 as it had been logged — 10,128 bytes zipped, ranked 70th of 200 entries in the Overall category, and holding 3 stars from the site's own voting since. That's a modest, honest mid-pack finish for a 200-entry field, not an also-ran and not a standout, which tracks with what's actually here: a clever mechanical core wrapped in a presentation that was never revisited for the audience — phones — that this shelf exists to serve.

Pros and cons

Pros

  • The entire input scheme — select, move, pan the camera — runs through one unified pointer path (src.js's setPointer function feeds identically from touchstart/touchmove/touchend and mousedown/mousemove/mouseup), confirmed by actually playing it with playtest.js's real touch emulation on a 390x844 profile: tap-select, tap-to-move, and a held drag-to-pan all fired correctly with zero console or page errors across every run, on both phone and desktop
  • Cover is a genuine mechanic, not set dressing: the low-poly rock formations are checked by the same getBlockableNear/getFirstBlockableFrom functions the AI uses to decide whether it has a clear line to a target, so standing behind one actually changes what can reach you
  • The ground tint is a real (if quiet) rules readout — green marks how far the selected unit can move this turn, red marks which enemies fall inside that reach — which is the game's own answer to the js13k judges' complaint on record that "it's not very obvious what the range of one person is"
  • A full hand-rolled WebGL pipeline — shadow-mapped lighting, a fragment-shader ground tint, animated low-poly units — fits inside roughly 10KB of the competition's 13KB zip limit, with nothing else on the page: no framework, no libraries, no build tooling required to actually run it
  • Genuinely public domain: the repo's UNLICENSE file is the real Unlicense text, not a filename guess, so it can be hosted, modified, and redistributed with no restriction at all

Cons

  • The camera has a fixed, narrow field of view and no zoom control whatsoever. On a 390x844 phone portrait viewport that crops the 2-versus-5 battlefield down to whichever one or two fighters happen to be on screen, against the full seven-unit field visible at a glance on a 1280-wide desktop window — a real cost for a game whose entire appeal is reading a tactical situation
  • There is no on-screen instruction of any kind — no menu, no HUD, no tutorial, not even a win/lose message. The 200-entry js13k competition page explains the controls in two sentences; the game itself explains nothing, and a player who lands on it via the shelf rather than js13kgames.com has to reverse-engineer tap-to-select from trial and error
  • It is one fixed skirmish, not a game with levels: two defenders against five attackers, and when it ends — either way — it just restarts the identical encounter ten seconds later. No score, no difficulty change, nothing carried forward or unlocked
  • Completely silent: no music, no hit sound, no death sound, nothing. For a game about positioning and timing, losing every audio cue removes a channel of feedback most tactics games lean on

Category scores

Category scores are the reviewer's read on each area. They inform the overall score but do not average into it — the number at the top of the page is a judgement, not a calculation.

  • Gameplay 7 / 10
  • Visuals 7.5 / 10
  • Originality 6.5 / 10
  • Replayability 4 / 10
  • Interface 4 / 10
  • Controls 6 / 10