Review: Codemancer: Yer a Programmer, Harry
The very first computer games I played on any computer were games that were designed to teach me something—math, reading, etc. These weren’t games that were designed just for fun, but with the ulterior motive of teaching you something. The genre called edutainment almost has a derogatory meaning, especially for those old enough to see through the charade. Codemancer feels dangerously close to edutainment, but manages to skirt the line with challenging puzzles and complex but rewarding gameplay.
In Codemancer you play as young Aurora, a girl about to start her first day at school for budding Codemancers—those who wield magical runes to invoke constructs and familiars to do their bidding. The setup feels very Harry Potter, with a charming art style and a whimsical presentation. Aurora uses her runic codemancing abilities to control her familiar through encounters on a series of hexagonal play spaces.
One of the first things you do is choose a familiar, which will be your companion and the one you’re commanding when you codemance. You have a choice between a cat, a dog, and a bird, and these choices are purely cosmetic. Aurora and her familiar hit it off right away and start to establish trust, and because Aurora controls her familiar through codemancey, consent and trust between the two is established early on. That’s a good step to take in a game where you literally control another being’s actions.
Aurora’s first day at school eventually takes a turn for the worse when her father is abducted, and she must go on a journey to save him. She’ll meet interesting characters, and perform various codemancing feats to overcome the myriad of obstacles she encounters.
Codemancer’s puzzles start off simple, but become deviously complex the further you go. You’ll start with something relatively easy like “move from start to exit,” but puzzles eventually become much more involved. Soon, objectives will include flipping switches, defeating constructs, and cleverly planning your way around obstacles—or figuring out ways you can make the constructs clear the way for you.
The series of commands you use to control Aurora’s familiar can get pretty complex, but Codemancer eases you into it. The commands you use—depicted by pictographic runes—are extremely simple to start, and Codemancer teaches you the steps so gradually, you may not even be aware you’re learning something.
Aurora will start her familiar off by having them jump forward and turn. Eventually, Aurora can instruct her familiar to attack, wait (it’s more useful than it sounds here), and even control other constructs, to which she can issue concurrent commands. These constructs, can then, in turn, issue their own commands to other constructs. Before you know it you’ll be developing sequential algorithms, looping commands, and other sophisticated strings of commands that will have you running one program at the same time as others.
Codemancer is a great introduction or refresher to problem solving and planning. Since your moves aren’t done in real time, it requires you to be able to visualize what your next step would be, after visualizing sometimes dozens of other intricate steps. If it doesn’t work out, you have to go back and figure out what went wrong. This seems pretty analogous to debugging lines of code when something goes wrong–and something will inevitably go wrong.
Once you start having to command constructs to do tasks, which include commanding THOSE constructs do further tasks, etc. Codemancer starts to feel a little unwieldy. Sometimes the strings of runes—or lines of code, however you want to think of it—become so complex, it feels tedious. Part of the challenge ends up being the need to keep track of these series of commands, making me wish for some quality of life changes.
The ability to save/copy/paste commands, make annotations, and other additions would be welcomed by me, and would remove some of the tediousness involved. This was something I especially wanted when I would back out to the menu, only to discover I had to restart an entire set of puzzles I was working through. Getting the solution working to a puzzle you already solved was sometimes frustrating, and I found myself erring in my haste, forcing me to debug. Though, there seems to be a lesson in that too.
Despite my desire for those quality of life updates, the user interface is extremely intuitive, and makes the whole thing something anyone can jump into. There aren’t complicated instructions, just the freedom to try different things—a perfect environment for learning. The UI also looks like it’d be great on touchscreen, though I spent my time with Codemancer on PC.
Codemancer takes strides to be inclusive, which makes it perfect for kids getting into programming—and well, anyone, really. It bills itself as “non-violent,” but it’s more “semi-violent.” “Attack” is a command, and enemies will attempt to harm you. You can destroy enemies using attack (or you can have another construct attack instead), but it is explained early on that you are just harming constructs, things without real “life.” But, you are technically harming them through violence, still. Perhaps a “deconstruct” or similar command instead of “attack” would be a way around this.
As an education tool, Codemancer is great. It allows you to try things without punishing you for the attempt. Any series of runes you enter will be attempted. That means you don’t have to learn any specific language, or avoid syntax errors. Codemancer, as I suspect is true for ‘real’ programming, can be tedious at times—but it’s just so damn charming, that I worked through it to find the fun. And Codemancer is fun—something that a lot of educational games strive for, and fail at.
Codemancer is available now on iOS, Steam, Google Play and itch.io
If you like the video game, tabletop, or other technology content that Third Coast Review has to offer, consider donating to our Patreon. We are the only publication in Chicago that regularly reviews video games, and we cover lots of local Chicago-based events and more. If you want to contribute to our coverage of Chicago’s video game scene (and more) please consider becoming a patron. Your support enables us to continue to provide this type of content and more. Patreon.com/3CR