"Bot is sus?" dev log

Bot is sus is a puzzle game for introducing coding to students which I made. It puts three dimensions on the old paper movement coding games. The goal was to create an educational game for the Blocksmith platform that would be playable on web and mobile devices, specifically optimised for Chromebooks (common in classrooms). Its development spanned the course of about 21 months, going through several iterations before landing on the final version. I worked with my colleague Markus Nigrin.

The game started out as "MoveBot," a yellow cube with four directional buttons and a go button. It had some code written originally by Markus to read strings and output a move command. It was a start.

Naturally, the next step was to make a maze for the bot to solve. Actually solving it was pretty cumbersome. The player had to input 20 or so commands at once, so I scrapped this idea quickly.

I switched the robot to a drone and gave it the ability to fly up or down. I envisioned the game as a platformer, where the drone/robot would assist the player in traversing levels and solving puzzles with its variety of tools. Among the tools I made for it were a missile launcher, platform placer, and lazerbeam shield.

The first prototype of the game was a handful of levels in a "Portal" theme. This early version was complex. The drone could move in any direction or even return back to the player. I made a save system which allowed the player to save a string of commands in case they wanted to use it in a later level. By contrast however, the levels themselves weren't complicated. I cut down many of these features in favor of simplicity.

The game required players to parkour jump from platform to platform. Not everyone in our target audience has experience with first-person games. In the next version I removed the ability for the player to move and the focus became moving the bot to a goal.

Our target audience was K-12 students, so a more child-friendly theme was needed. We came up with a character named Lisa, a ladybug who finds herself trapped in a lab and needs the player's help to navigate her way out. She could eat berries which allowed her to fly up or down.

I added friends who the player can also control. Wyatt appears, a worm who can eat dirt blocks to clear the path or uncover berries for Lisa. Another friend is Bono, a butterfly who can shield Lisa from dripping water with his wings.

By allocating unique abilities more characters the levels became more interesting.

We let the project sit for a while. Then Markus got the opportunity to submit a game to hourofcode.org for hour of code day on December 12th, 2021. He did some research on the keyword trends and suggested we re-theme the game to include "sus" somewhere in the title. We came up with "Bot is sus?" and a character who is accused by her crew and needs to escape the ship by climbing into vents.
The ladybug idea had leverage, but susbot did serve us well capturing attention through the title and thumbnail; together they have a great hook and a reference to "Among Us," a game already popular with our target audience at the time.

We kept gameplay simple, introducing a few buttons at a time in easy levels to ease the player in. Later levels become more complex involving Wyatt, a laser shield robot.

I solved several major bugs and issues that came up during testing. Among them were lag, smoothing out the robot's movement, and movement overshooting which happened sometimes on certain devices. I optimized the game to play smoothly on iPads and Chromebooks which are common in classrooms. My colleague Colin Falconer tested the game on a variety of platforms and was a great help!

A chunk of the code on the robot controller. There is a hidden feature in the game which allows the player to code with loops.

Upon release thousands of students from across the U.S. and U.K. played the game. Our dev team took the opportunity and implemented detailed analytics tools. Unfortunately, we found that most players did not play until the end. Using level-by-level retention data we made updates to fix major issues and improve the game.

In retrospect I think our biggest mistake was not testing the game correctly. We only tested the game internally, and by release, no K-12 students had tested the game. In a future project I would test with at least one person from our target audience instead of assuming what they would find fun or not.

Making levels easier or harder helped improve retention. Another thing that helped was to reward the player with cosmetics for completing levels.

I was quite proud of the duck cosmetic; I named him Bernard. He makes a quack sound occasionally and is the most expensive hat. There are also headphones which emit music note particles.

Play Bot is Sus on Blocksmith XR

This was one of the more rewarding and successful projects that I finished. I learned about simplicity and about trying different directions. I learned the importance of testing. I got to interpret user data and make updates.
If I had more time to work on the project (or got the opportunity to make a Bot is sus 2) there are several things I would add. One of them being a security camera that can see several squares of the level. Should the bot step on a square that the security camera can see, several lasers are turned on. The player would strategize when and where to turn on the lasers in order to pass through. I would also add some physics based element, like crates that the bot must push into the right places to pass through, similar to slide puzzles.