SO:B game devlog · version 0.9.0 (build 49)

Squad Ops: Blackout

Devlog · version 0.9.0 (build 49) · Godot 4.7 · Android + Windows


A top-down tactical shooter about a small squad working a flooded industrial district at night. You are usually outnumbered, the map is dark, and the enemy has radios. The game is built to be won with information rather than aim: where the patrol is looking, what your footsteps carry, and whether you are standing in a pool of light.

The stealth simulation is the core

Bots run a four-state brain — patrol → investigate → combat → search — and the interesting part sits between “saw something” and “is shooting me”: a suspicion meter from 0 to 1.

  • Vision is a 95° cone while sweeping and 130° once engaged, out to 920 px. At arm’s length recognition is instant; at range the meter climbs for a beat, and that beat is your window to slip behind a container.
  • Breaking line of sight drains the meter instead of resetting it, so a bot keeps working at your last known position before giving up and going back to patrol.
  • Sound is a hint, never recognition. Footsteps (170 px), sprinting (340 px) and unsuppressed gunfire (880 px) fill the meter to exactly half and pull the bot over. It still has to see you to fire.
  • Light matters. The player’s flashlight is the only shadow caster in the scene. Standing in shadow only conceals you while the lamp is off — and a muzzle flash gives your position away for a moment even from inside a bush.
  • A confirmed sighting is radioed to the squad within 620–980 px, and it feeds a global alarm meter with stages. Alarm decides how far a shout carries, how fast the map answers back, and how many reinforcements arrive — inside a per-mission budget, and it cools down while you stay quiet.
The counterplay I am happiest with is suppression. Any round that passes within about two body widths of an operative pins them for 2.2 seconds: they drop into a crouch, their aim error multiplies by 2.6, they move at 45% speed, and — this is the part that makes it tactical — they cannot hear anything while pinned. Suppressing fire is therefore both a way to survive a firefight you would otherwise lose and a way to buy silence for a teammate’s approach.

There is also a burning decoy flare that pulls patrols off a lane, and a plantable proximity mine.

Squad, loadout, progression

Six operators, each with one ability that enemies can also use: Vega (cloak — line of sight breaks past 160 px), Bastion (a shield that soaks damage for the squad), Lotus (area heal), Oracle (a 640 px wallhack scan), Havoc (a 95-damage frag), Wraith (a dash that ignores damage while it runs). Each levels 1–20, which scales health, ability power, cooldowns and weapon stats.

Six weapons: M9 pistol, Vector-9 SMG, AR-4 rifle, Breacher-12 shotgun (seven pellets), Longbow sniper, Vulcan LMG. Hitscan, with per-weapon spread, magazines plus reserve, reload, screen shake and tracer colour. Three enemy types — Jackal, Hyena, Vulture — run the same brain on different loadouts, and wave scaling raises their health, damage and aim skill.

Four ways to play, plus LAN

  • Story — three chained missions (Nightfall → Cold Canal → Last Light) with cutscenes, authored objectives, alarm and reinforcement pressure.
  • PvP — free-for-all against 0–7 bots across three difficulties.
  • Survival — ten escalating waves, best-wave record.
  • Co-op — wave holdout with your squad healed between waves.
  • LAN — server-authoritative ENet play, host plus three clients, automatic discovery and a lobby. Bots and the whole stealth/alarm simulation run on the host; clients get snapshots.

Vehicles and maps

Four maps ship today: Warehouse 7, Canal District, Pinewood, Red Basin. Ground is a chunked splat shader painted with an in-editor dock (four channels: grass, dirt, concrete, custom), which also creates maps and captures thumbnails.

Vehicles are not decoration: enemy trucks arrive, unload passengers and can be stolen. There is a driver turret, ramming damage scaled by speed, passengers that deploy mid-drive, and wrecks that keep burning. Blow up a truck before it unloads and the mission still demands the same kill count — the spawn budget is subtracted up front, so nothing disappears into an explosion.

Around that: auto doors that respect navigation, explosive barrels, medkit and ammo pickups, pine canopies that reveal contours, roofs that fade under, a canal with bridges, and blood under every corpse.

Tools behind the game

Two editor plugins do most of the content work. The splat paint dock above, and a mission flow editor — a card board where a mission is a linear flow of Start / Cutscene / Objective / Event / End cards. All three story missions are authored on it now, and a broken flow is rejected whole, so an old mission keeps running exactly as it did before the board existed.

What is deliberately not there yet

  • No recoil and no attachments. Weapon-mod crates (damage, rapid, mag, steady) stack on the player instead. Attachments are a design question, not an oversight.
  • Event cards work but carry no content — no shipped mission uses a map trigger yet.
  • English only. No localisation files exist.
  • Ground splat painting in-game and persistent craters are queued behind gameplay, on purpose.
  • Weak-device switches (footprints, noise ring, blood, shadows, weather) are presentation-only by design — a phone that drops them plays an identical match, because bot hearing, shadow concealment and damage never read those flags.

Where it stands

The loop is complete and playable end to end on both targets; what remains is content volume and feel. Next up: the transport/truck pass, more story missions on the flow board, and then the larger maps the mechanics deserve — the alarm, radio-net and reinforcement systems were built expecting maps considerably bigger than the current four.

One last thing: the soundtrack is a licensed track of mine, Black Desert — the menu uses a 16-bar edit of it and combat shuffles five wordless instrumental cuts made from the same stems.

Comments