When I was in middle school, I wanted to be a coder.
I was (and, I’m sure this is shocking to OPN readers, remain) an obsessive gamer, and the very little that I knew about how video games were made was that you had to know how to code to do it. So, I was gonna code, darn it, because I was gonna make games.
This was the very late 90s though, and coding and computer shit (even games, if they were of the PC kind) were not cool things to most people even in places that were hipper than the small oil- and agriculture-focused Texas plains town where I was living. Being in that town and having very few friends as into PCs as I was meant that, when I set out to learn me some programming, I had absolutely no idea how to go about doing it, and I had very few local avenues to pursue.
I did give it a go, though; I got my hands on some books about QBasic and Java and toyed around with some thoroughly low-end programs at home, and when I was at school, I'd practice writing the little bits of code that I knew by hand in those ubiquitous brightly colored spiral notebooks. This definitely got me some weird looks, but I was already the nerdy kid with the Robert Jordan books and a wardrobe that almost entirely consisted of shirts that said “Geek” on them from a cool new site called ThinkGeek, so there were fewer “What is that crap you're doing?” comments than you'd expect.
Finding this lone-wolfing of the path to programmer slow going, I also joined an after-school “Computer Science Club,” which (god, the 90s in rural Texas) also involved writing code by hand, this time only in obscure and completely outmoded languages, and even that took a major backseat to the true purpose of the club, which was to (tediously and with little actual explanation of the content) walk us through a book on these weird languages in order to eventually take some state-wide test for a competition, the winning of which was somehow supposed to make the school look good. (The school in question, by the way, was Pampa Middle School, or PMS. It only took about 320 million jokes and something insane like 60 years for them to finally change it to Pampa Junior Highschool in the late 2000s. That’s not important to this review, but I feel it my duty to share the fact that I was in PMS for three years at every chance I get in my professional life.)
What does all of this semi-interesting (I hope) personal stuff have to do with Algotica – Iteration 1? Well, I eventually quit trying to learn to code back then because, frankly, I just couldn't find a way to make it more engaging than spending hours misunderstanding most of dense books and going to those awful meetings, after which I’d go home to my POS computer and bang my head against the keyboard as the coding I'd “learned” inevitably didn't work. After a while, I just stopped trying, focusing my free time more on those giant fantasy and scifi tomes I lugged around everywhere, and also just playing games instead of trying to make them.
But, if I'd had a game like Algotica back then, I think I might very well be a coder today.
Algotica is, in essence, a teaching tool for the basic concepts of coding wrapped up in a cute and fun indie puzzler. The Steam Store page says about it, “If you wanted to start learning programming but it seems too difficult to understand, you don't have enough time, or you're just not sure that you need it - this game is a great place to start.” With my personal history with coding being right in line with that, that sentence is what drew me to Algotica, and I'm very glad I decided to try it, because it has been that intro to coding that I dreamed of back in the 90s.
Here’s how the game actually works, and how it teaches you about coding: Everything in Algotica happens in modular levels, each of which involves “programming” a cute little robot named Lony with instructions to move about the level, collecting items and interacting with gates, portals, “evil” programs and a ton of other level features. All of the levels are set within a fictional computer that belongs to a game dev (a bit of humorous if imperfect fourth-wall breaking goes on in the story) whom you discover, once he’s not looking, is imprisoning Lony and his fellow programs. The longer you play, the more commands and functions and other coding-lite abilities unlock for use with Lony, while the story progresses and the puzzles get more complicated.
While the puzzles aren’t all of equal amounts of fun, and I sometimes feel like the pacing of the difficulty up-ramping is strange (it especially seems like there are too many simple levels at the beginning, after which there are suddenly a bunch of hard ones in a row), I have to say, I have a ton of fun playing this game. There is something deeply satisfying about typing out Lony’s “programs,” hitting “Enter” to run them and then sitting back and watching what happens. And while I have no delusions that the simple programming in Algotica is like the real deal in more than a surface-level way, I do feel as I play that I’m learning aspects of actual coding, such as using trial-and-error to solve a problem, the importance of being efficient as I can be with my programs and the way different commands can be strung together to do something bigger than the commands by themselves.
That this is all presented in vivid and quite beautifully-crafted polygonal landscapes populated by tiny adorable programs just trying to get by and maybe find freedom, creating a world for themselves with cast-off gaming assets from their creator’s failed RPG (which they found and took for themselves) but looking to you to help them get out from under his thumb, only serves to make the learning more fun and rewarding. In fact, Algotica is so well-done in the aesthetics department that dev Alexander Khoroshavin was nominated for Best Visual Art for Algotica at Casual Connect Tel Aviv 2016. (It also won the Grand Prize at Game Jams Kanobu 2016.)
For someone who has always wanted an entry into coding that didn’t feel overwhelming, this little game really struck a chord with me, enough that I find myself easily forgiving or mentally justifying its flaws, of which it does have some. Perhaps most glaring, and I think this will be something just about every player notices, is that the text in the game is in dire need of a copy edit. It doesn’t take much time to realize that the game dev probably isn’t a native English speaker, and while that can often be endearing in a title, in Algotica it’s a crapshoot as to whether any given error will be just cute or bad enough to be confusing and cause you to not know exactly what is meant.
The game is also weirdly paced at times.
For instance, it takes quite a lot of play to earn new features for Lony, and while I understand that the title is meant as a teaching tool and it’s trying not to overwhelm you, I think some of the features you earn (like Arguments, which I didn’t get for two hours of play) could come a lot earlier in the story. This actually becomes a real problem at times, as you have access to some areas in the branching level map that require you to have earned an ability that comes later on in another branch, without which you can’t complete the level, but the game doesn’t tell you that. I spent a good fifteen minutes trying to figure out one level before I realized this, and it was starting to make me feel pretty damn stupid that I couldn’t figure out how to write the program I needed.
That negative feeling and some frustration that the shortcuts for commands almost never worked were enough in the early going of Algotica to be definite negatives, but they’re also the worst the game got. And if that’s as bad as a title gets, that’s honestly not too shabby.
While Algotica isn’t likely to blow your mind with excitement from its gameplay, and it’s not going to make you a master programmer, it is an excellent first step into the world of coding done up inside an adorable, engaging and truly fun indie game package, even if it’s one that has some flaws in the writing and pacing. And while it’s a lighthearted and low-stress good time to play even if taken as just a game, for those of us who have always wanted an intro into the labyrinthine world of programming but who were too overwhelmed to dive in on our own, it’s almost a godsend. There are other such beginner’s coding games out there these days, but it’s hard to imagine that any are as cute and endearing as Algotica- Iteration 1, and it would be an absolutely great game not just for adults looking to dabble in coding, but maybe even more (and more importantly) for curious kids. As a former such kid and now an adult who’s always wished he knew more about programming, I love this little game, and I doubt I’m the only one who’ll find it the way I did: as charming as it is enlightening. If learning something about coding but also playing a decent puzzler sounds fun to you, pick it up; you’ll learn a thing or two, and I can guarantee you’ll have a one cute darn time doing it.