An AI teammate should say it's an AI
· 4 min read
Strandbreak Online is a co-op survival shooter: up to four players drop into a field, the horde grows, and the squad tries to outlast it. It has a solo mode and an online mode, and the online mode has the problem every small multiplayer game has. Most of the time, when you press ONLINE, nobody else is there.
The answer is a computer-controlled ally. What took longer than writing it was deciding the rules for when it shows up — and the version we shipped first got one of them wrong.
Rule one: in solo, never
The first version put the ally into every run, solo included. That was a mistake for two reasons.
The obvious one: a player who presses SOLO has asked to be alone. A partner they didn't ask for is not a bonus, it is a different game.
The less obvious one is in the numbers. The ally counts as a squad member, and the difficulty scales with the squad: each member brings their share of the horde. With the ally present, a "solo" run raised the cap on enemies on screen from 420 to 600, so a solo run wasn't solo in enemies or in damage either. Every balance table measured before the fix had been measured with a companion, and none of them could be compared with the ones after it.
Rule two: online, only until a person arrives
A player who presses ONLINE has asked for a squad and, today, usually finds an empty room. The ally is what stands between that and an empty field. It takes the second seat while the squad is one person.
It gives up that seat the moment a real player joins. Swapping the ally for a person doesn't move the difficulty dial in a jarring way: a person brings a full share of the horde and the ally a little over half, so the step up is small.
The ally isn't a copy of you, either. It picks the class that complements yours — the close-range bruiser gets a marksman, the hacker gets an engineer — because the game rewards squadmates who stand near each other, and an ally whose strengths overlap yours exactly is company without being help.
What decides which rule applies is the kind of session, not the number of players in it. A solo run and an online room with one person in it both have one player, and they get opposite answers.
Rule three: it says what it is
This is the rule that can't be trimmed. The ally's name always ends in (AI) — in the lobby seat, on the label over its head and on the results screen. Where a human player's seat shows their class, the ally's shows AI ALLY. And before the run starts, the lobby says it in one sentence: nobody else is here yet, an AI ally will come with you, and it steps aside as soon as a real player joins.
A bot wearing a player's name is a lie the player discovers at the worst possible moment: when they wonder why their teammate never answers, or why it plays a bit oddly. At that point the whole room feels fake, including the parts that aren't. Labelling it costs nothing and removes the question.
Plenty of online games fill rooms with unlabelled bots to look busy. It is an understandable temptation for a small game, and we think it's the wrong one. A game that is honest about being quiet at 3am is better than one that is secretly empty.
What it's built on
The ally isn't a separate system. The game already had a guardian AI that takes over a player's character when their connection drops, so the squad doesn't lose a gun because someone's train went into a tunnel. That was always its real job, and it still does it. What changed is only whether it can appear on its own, with nobody having disconnected — and the two rules above that decide when.
The general point
Filling an empty game with AI is a design decision, not a technical one, and it has to answer three questions: does the player want company here, what happens to it when a person arrives, and does the player know. Get the third one wrong and the other two don't matter.
Play Strandbreak Online — and if you're alone, you'll have company until you aren't.
Filed under gamedev, design, multiplayer.
