The Mainframe

The Mainframe is a 2D game created with Unity designed to teach students about basic Java principles like recursion, loops, and arrays.

Role

Game Designer and Developer

Tools

Unity

Timeline

1 month

Background

Game Design Class

During my last semester of college, I had the pleasure of working in a group to design and create a game that aims to teach people about basic Java principles. The project required us to combine our skills in game development and programming to create an interactive yet educational experience. It was a fulfilling project that gave me and my group members the opportunity to develop our skills, explore new ideas and create something impactful that could potentially benefit people who are new to programming.

Proposal

The Mainframe

"The Mainframe" is a 2D game created with Unity that tells a story set in an evil and sentient supercomputer. The player assumes the role of a user who is trapped inside the supercomputer. To escape, the player must navigate through various levels within the mainframe. In each level, they encounter intricate worlds and must reach specific sections where they solve computer science puzzles. These puzzles are presented as java problems that need to be solved in order to progress. We have designed four levels for our game, each covering a different computer science topic. The levels aim to both challenge and educate the player about computer science.

Decisions

Level Design

Our group decided to make use of different game types for each level to maximize user experience and fun. We recognized that using the same type of game mechanics for every level could lead to monotony, so we employed a variety of concepts. For instance, some levels featured critical thinking to solve puzzles, while others include traversing through a maze . Through these diverse types of game play, we were able to offer the player a wide range of experiences, keeping their interest and engagement high throughout the game.

Color

Visual Design

Because our game takes place inside of a motherboard, we chose to follow a theme that is similar to “matrix code.” We felt that the setting and the tone of our game would be captured. We followed the green color scheme as well as the futuristic atmosphere that it induces.

Evaluation

Testing

After finishing the initial version, we allowed users to test our game in order to get feedback on it. From what we’ve gathered many students thoroughly enjoyed the game and liked the aesthetic of the game. They informed us that the game was fairly balanced and that there are no “fun killers” in the game.

One big issue with our game that some people pointed out is the accessibility. Our game wasn’t accessible to people with disabilities such as a visual impairment. Due to our game being very text-heavy, one of the best ways to ensure that the game is more accessible is by implementing a text-to-speech feature that reads out the educational texts to the player.

Impact

Did people learn?

Along with testing usability, we also tested whether or not the game succeeded in its purpose to educate the players. We conducted a pre-test that helped us gauge the initial knowledge of our testers before playing the game. After playing the game, we conducted a post-test that consists of topics that were taught in the game. To ensure that the results aren’t skewed, we grouped the points scored by the user’s major:

Unsurprisingly, students already majoring in computer science did better on the pre and post-tests than students from other majors. To ensure that we are getting the most accurate results, we changed the questions so the users rely on their knowledge rather than memory of previous answers.

One trend that can be found with our results is that players did learn from playing our game. According to the graph, most of our testers’ post-test scores were higher than their pre-test scores. Our game seemed to be an educational tool for people of all majors and many found it interesting enough to want to learn more about Java.

How can we improve our product?

Next Steps

While many students expressed that they enjoyed our game, there are still improvements that can be made. One major improvement is increased accessibility. After completing the evaluations and doing a thorough review, we were made aware that our game isn’t very accessible. One way that we can improve this is by adding a text-to-speech system. As our game is very text-heavy, this will greatly improve the user experience for people with visual impairment and people in general.