a real-time, multiplayer word game

Players are given a randomly-generated acronym and, within a given time limit, must each come up with a "backronym" that matches that acronym. For instance, a player presented with "R A C Y G" might answer "Rancorous Aardvarks Chased Your Grandmother."

After all answers are collected, players vote on the best backronym; the one with the most votes wins.

The idea behind Acronauts been implemented in mediums as diverse as board games, Flash, and IRC chat, but as of 2013 no Internet versions appeared to be live. I decided to change that.

The good

Playtesters love it. Most suggestions are requests for additional features, rather than complaints about existing gameplay.

The "hidden" lobby that assigns players into games automatically has met with a positive response. Playtesters seem to enjoy being dumped into a room with strangers; I had assumed that they would want to endure the traditional process of manually selecting a game to join.

The bad

Playtesters almost universally complain about the lack of a chat function, even though anonymous chatrooms generally go downhill fast. This will be a difficult design decision to make down the line.

Lessons learned

When doing fast prototyping, write unit tests only for simple pipe-and-filter-style functions such as validity checks, sorts, and measurement conversions. Everything else can just be manually integration tested.

Be ready to change assumptions about target hardware. Acronauts was originally designed for iOS handsets, but playtesters seemed to gravitate towards playing on the desktop.

Architecting an application that responds to real-time events is tricky. Rather than attempting to predict every possible state that the application could wind up in, it's better to program modules how to recover when resources disappear or become unavailable.

Learn exactly how new, Object.create(), Object.prototype, and Object.constructor actually work before trying to build an object-oriented system in Javascript.

<< Back home