top of page
Bug Squash Title Screen

Bug Squash

Bug Squash is an interactive Adobe Captivate game inspired by deduction-based visual novels. Players assume the role of an avatar character that applies David Agans’s 9 Indispensable Rules for Debugging to troubleshoot hardware and software issues commonly encountered by software engineers, along with the help of an on-screen assistant character.

Try a demo of the first 2 chapters of Bug Squash above

The Problem

Learning to debug quickly and efficiently is a fundamental skill for software developers of any experience level, and this is especially true for fledgling computer science students learning to program for the first time. As a computer science professor, I often see students struggle with debugging concepts at all points within the program. 

The Concept

The detective genre has been popular in media since Sir Arthur Doyle's Sherlock Holmes series and still captivates millions today in various forms of media. Whether with true crime podcasts or television shows like Law and Order, Monk, or House, following a brilliant detective and searching for clues to uncover mysteries is something that grips humans at their core. This often manifests itself in video games in the visual novel genre. Games such as the Ace Attorney and Danganronpa series combine a gripping narrative, unforgettable characters, and deduction-based puzzles for players to investigate and solve themselves.

A screenshoft of a bloody crime scene from an Ace Attorney game

In the Ace Attorney series, players investigate crime scenes to solve the murders their clients are accused of.


In the Danganronpa series, players investigate search for clues identifier murders amongst their peers.

When you have developed a certain amount of debugging prowess, it becomes more than just a valuable skill; it gets fun. Experienced software engineers are problem solvers at their core, and tracking down bugs in software is closer to a puzzle game than most outside of the profession would realize. Digging through code, looking for clues, and investigating error messages have obvious parallels to deduction-based video games, and, for me, the connections were clear.

The Planning

I created Bug Squash between August and September of 2023. While most of September was spent working with my character artist and composer to develop assets and place them in the game, the entirety of August was spent planning exactly how the game would work.

Initial planning began with completing a training needs analysis, developing an FPI diagram to ensure the project aligned with Merrill's First Principles of Instruction, and a Hierarchal Task Analysis diagram to outline how each chapter would flow through the concepts and reflect Merrill's First Principles.

A screenshot of Microft Word showing one page of a training needs analysis diagram

Preview of the training needs analaysis

Merrill's First Princples of Instruction Worksheet that outline's how Bug Squash aligned with Merrill's First Principles.

Preview of the FPI diagram


Preview of the HTA diagram

From here, I used these research documents to draft a game design document. In addition, I added additional components such as storyboards and narrative-flow charts that are not typically found in game design documents. In the end, I had a single document of over 20 pages that covered the mechanics, narrative, and direction of my game.

A screenshot of page 1 of the Bug Squash game design document

The game design document outlines the core of the game including mechanics, characters and high-concept

A flow chart depicting the character interactions of Chapter 1

Each flow chart is color-coded to reflect how chapter segments align with Merrill's First Principles of Instruction

Wireframes outlining Chapter 2 of Bug Squash

Rough storyboard outline the narrative and composition of each scene within the game

The Game

In Bug Squash, players are one-half of an indie game development team trying to release their first product. Players move through each level of Merrill's First Principles of Design throughout the game as they learn to use David Agans's 9 Rules of Debugging to solve real-world hardware and software issues. The game is broken up into four separate chapters, and each chapter builds on the narrative and concepts discussed in the previous chapters to guide players through the debugging process.


Each chapter begins with a narrative segment that describes the story elements and concepts that will be exercised throughout the chapter. For the first chapter, this begins with exposition to explain the characters' scenario.

The assistant character gives the player some words of encouragement.

Throughout the game players work along side the assistant character who drives the narrative of the game in addition to 

providing an explaination of the concepts.


Following the introduction, the player's assistant guides them through demonstrating each concept. These demonstrations explain how to apply the debugging topics learned, as well as how to navigate the game's interface and how to use new debugging "mechanics" within the game. Players work within a simulated integrated development environment for the coding-related segments, or IDE for short.

A game screenshot depicting the assistant character surprised by the programming syntax errors displayed on the screen.

The assistant character explaining how to reveal error messages for syntax errors within the game.


Once the demonstration portion of the chapter concludes, players must demonstrate the concepts they have learned. First, investigate the "scene" to try and identify potential issues, and then answer a brief knowledge check to verify their findings.

A screenshot of the game displaying code with several errors.
A screenshot of a multiple choice quiz question.

Players navigate the in-game interface to uncover "clues" about a potential issue, before answering a series of questions to

confirm their deductions.


Finally, within the Integration phase, players apply their findings to develop a solution to the issue using a drag-and-drop pseudo-coding interface.


Players drag-and-drop the correct code snippets into the matching slots in order to fix the program.

The Team

I wanted to create an Adobe Captivate game that captured players' curiosity and sense of accomplishment when playing these visual novel games. Designers can establish deeper connections and enhance long-term memory retention by providing students with a gripping storyline and memorable characters. I worked with talented character artists to create relatable, expressive characters to achieve this goal. In addition, I worked with a composer and sound designer to enhance the emotional connections between the player, characters, and story.

bottom of page