Algo Bot Review
More than a two-bit operation
Programming is something of an abstract pursuit. This is why, if you ever ask a room full of programmers what their job is like, you’ll inevitably be bombarded with more head-scratching analogies than the opening chapter of a pulp romance novel. Programming is like being the detective in a murder mystery where you’re also the killer. Oh no, wait, programming is like being a writer except your editor misunderstands half the book because you forgot a full stop. No, no, programming is like putting a square peg in a round hole by convincing the hole that a square is just a kind of- oh, forget it. Algo Bot is here, and it has provided us with the simile to end all similes: programming is like being put in charge of a tiny, seemingly harmless robot that lifts things up, moves them around, puts them down, and occasionally – due to factors completely beyond your control – causes catastrophic nuclear accidents in space. And then your supervisor sticks the blame on you.
That’s the setup, at least: a crippled interstellar spaceship, a grouchy middle-manager robot, and you: a naive worker drone forever confined to the ship’s network of powered tracks. Algo Bot lives in that Zachtronics-style vein of puzzle games where solutions aren’t so much hiding in wait, ready to be discovered, as they are something that you need to engineer from the ground up, tweaking and re-deploying until they unfurl with the delicate, independent grace of a probe on the Martian surface. You have a set of starting conditions, a set of success conditions, and a toolkit of atomic commands – move forward, turn, grab, transmit, etc – with which you need to build your way between them. Your robot – sorry, ‘Algo Bot’ – starts off only able to execute commands in one long sequence, but over the course of the game you get steadily introduced to repeatable code blocks, variables, and even conditional execution. It won’t get you through your first semester of CompSci, but the mechanics do start to resemble basic programming language features if you’re prepared to squint a little.
Framing puzzle solving as a creative process has its strengths, of course. A lot of contemporary puzzlers, even the really good ones, feel like an invitation to bumble around and – when you eventually succeed – gape in awe at the devilishness of the designers, which is all very well but a tad humbling. Assembling an algorithm means occasionally surprising and impressing yourself, which makes for a nice change if (like me) you just spent the last few hours debugging a missing semicolon and doubting your choice of career. Again in the spirit of Zachtronics, it also means there are often multiple viable solutions, so there’s an element of ownership and even pride to your work that you don’t get with puzzles with one unique, developer-defined path – and you don’t have to tear your hair out over finding the perfect, optimal solution, either. Unless you want to, I suppose.
Most of the time, though, Algo Bot is about finding patterns and exploiting them. Your most prominent limitation – that is to say, the thing that stops you just writing horrible inefficient algorithmic soup and getting away with it scot-free – is that there are only a fixed number of slots you can drop commands into, and it’s usually significantly less than the amount that would be needed to just naively carry out your task. The key is recognizing when and where you’re able to section-off repeated chunks into macros, which gives the experience a pleasant element of planning as you carefully assemble your algorithm in pieces and work your way up. Laying your own foundations and figuring out how they fit together gives the game’s puzzles a nice solid intermediate step between “what on Earth am I looking at?” and “oh, right, of course” that many puzzle formulas, particularly those about blindly probing the possibility space, often lack.
There’s something questionable about being largely limited by number of commands, mind. Algorithm design is enjoyable because it’s an exercise in abstract problem-solving, but the problems Algo Bot presents to you are part of a narrow spectrum, where the question is rarely “how do I solve this task?” but “how, given a fairly obvious solution to this task, do I whittle it down to something I can fit in these slots?” It feels like a failure to fully realize the potential of the game’s framework, and – if I can have a little personal gripe – it’s doesn’t exactly encourage good programming practices either. Just because a piece of code is frequently repeated alongside a macro doesn’t mean it necessarily belongs inside that macro, you know? There are times when you’ll go through unnecessary extra steps in execution because you don’t have the room to just tell Algo Bot to just skip them. And if you’re defining another macro to go inside the first macro, because the first macro has an arbitrary maximum length… well, I just hope nobody takes this game as an educational experience, that’s all.
But that’s enough nasal whining about realism. Whether or not Algo Bot is any good at teaching programming fundamentals is immaterial compared to the matter of teaching its own mechanics, which it… is also not great at, actually. Most new elements are introduced with significantly nontrivial puzzles that complicate grasping them – or, in one memorable case, a puzzle that didn’t actually require you to use them at all – and are explained through somewhat poorly worded tooltips. Some crucial details get glossed over entirely and only become apparent through experimentation, like the fact that while your Algo Bot’s orientation is critical for the purposes of navigation, it doesn’t actually have to be facing something to interact with it. To its credit, the game does have some properly devious challenges hidden up its sleeve, but the difficulty curve is a little inconsistent, which – when you unlock puzzles in a strictly linear fashion – can lead to some serious stop-go-stop progress, where you end up gliding listlessly between brain-breaking stonewalls.
That’s not to say Algo Bot is particularly frustrating. On the contrary, with its soothing ambient soundscapes, it’s certainly more relaxing than the average integrated development environment, but there are still little frictional points here and there that end up becoming a minor nuisance over time, like biscuit crumbs in your bedsheets. The entire interface is mouse-driven, primarily built around drag-and-dropping commands into place, and while I’m sure we’re all 21st-century enough to acknowledge the intuitiveness of the humble mouse, it makes algorithm construction feel slow and clunky – especially when making repetitive motions. Some keyboard shortcuts would be welcome, that’s all I’m saying. Oh, and while we’re on time-saving measures, can we skip through execution a little faster? Algo Bot lets you play out your solutions at up to three times the normal game speed, but as you penetrate further into the game’s latter stages and its longer, more elaborate stages, even this warped pace begins to feel insufficient. Many of the animations for interacting with puzzle elements – such as those for downloading and uploading variables from a terminal – are needlessly slow for something you’re going to see hundreds of times, and having to sit through them every time you want to test your half-finished solution feels like being punished for trying to work iteratively.
After a while, though, Algo Bot just gives that ever-so familiar impression of being out of ideas. To a degree this feels like a product of the game’s underlying constraints: you always know exactly what the input is going to be ahead of time, so you never have to account for multiple possibilities, and because Algo Bot is a main character – well, sort of, to the degree that flailing one’s arms and making beep-boop noises counts as characterization – you can’t introduce a second bot and dive into the realms of parallel, interleaved execution. Instead, the game largely just complicates existing mechanics by adding extra slots for variables and macros, and while these do open up new pathways to some extent, they’re not the staggering new dimensions of possibility that Algo Bot needs by that stage. It’s possible for a puzzle game to get over this sort of roadblock with the help of some cleverly distracting writing, but while the clean futuristic setting, dry humour and sarky robots do sort of bring Portal to mind – in the same way that a distant layer of hot air in the Mojave Desert brings to mind a crystal-clear pool of refreshing cool water – by and large the story is just a convenient, unremarkable vehicle for shuffling you around the ship.
Algo Bot is a smart game. Smarter than me, for sure. It takes the problem of algorithm design – a field that is, at this very moment, causing innumerable PhD students around the globe to cradle their heads in their hands – and boils it down to an accessible, intuitive, (mostly) enjoyable puzzle experience. At times, its stripped-down approach feels stiflingly restrictive, to the point where it stagnates because there’s little it can feasibly add to the formula, but it still retains that critical satisfying core of creatively assembling a solution; engineering it piece by piece with an eye for efficiency and elegance. A host of smallish issues and a lack of overall endurance keep it from locking horns with Zachtronics puzzlers like TIS-100, but as a means of keeping your wetware cycles occupied, it might be just the solution in mind.