above: Here's a UofM-produced video about my software engineering course, EECS 481, in which we made a video game designed to benefit those on the ASD spectrum

Winter semester of 2012, I took a software engineering course (EECS 481) as part of my major design experience.

Our assignment for the semester was to make a Microsoft Kinect game designed to be therapeutically beneficial to people with Autism Spectrum Disorder (ASD). Given that we were a class full of computer scientists, none of us knew anything about ASD; considering that we were making games designed to help people with ASD, we had to figure out what developmental deficiencies we could help improve through our medium of video games.

And theres also a USA today article about us here.


Because of the size of the class, we split into 9 or 10 teams of 3-5 people each. There were a total of five people on my team. We created a 70's themed dancing game by the name of Dancezilla. The game maps the player's movements to an in-game 3D character, so that anything the player does is mirrored on-screen. The object of the game is to dance while reaching for 3D spheres that are flying around you. When you successfully come into contact with one of the spheres, it explodes adding points to your funk-o-meter. Once the funk-o-meter is full, you have beaten the level.

Our goals in making this game were to aid in the development of the following skills:

  1. Process multiple stimuli - Certain patients of ASD often get overwhelmed when presented with what most of us would consider to be a reasonable amount of stimuli. Because of this, some ASD patients find it difficult to attend large events, movies, theme parks, etc. due to their very stimulating nature. We addressed this within our game by increasing the amount of stimuli that the user experiences as they advance through the levels–on level 1, they would only be presented with one or two spheres at a time, ensuring that they wouldn't become overwhelmed. As levels advance, the number of spheres increases, in addition to their speed increasing and the complexity of their paths increasing as well.
  2. Improve hand-eye coordination - Many ASD patients also struggle with simple tasks that require hand-eye coordination. By making it the player's goal to destroy spheres, and rewarding them when they do so (by adding funk to the funk-o-meter, and animating an explosion, something kids in our testing couldn't get enough of), Dancezilla encourages players to work on their hand-eye coordination, a skill required to make your body actually come into contact with the spheres.
  3. Remain in control under exertion - Some ASD patients, particularly younger ones often have a hard time remaining in control when physically or mentally exerted, often getting frustrated beyond being able to complete a task. We all know that dancing is physically tiring, however, Dancezilla-ing is both physically and mentally tiring, because it requires you to focus on destroying spheres while dancing. As I discussed before, Dancezilla is a game of increasing difficulty, so it helps the user grow more accustomed to increasing levels of exertion as the game advances. Similar to how this increasing difficulty helps ASD patients process multiple stimuli, it also helps them grow more comfortable with higher levels of physical exertion.

In addition to the features of the game I described above, I implemented what we ended up calling "Caregiver Mode", a game mode in which a caregiver of the ASD patient can use an Xbox 360 controller to spawn balls on command, or spawn a special ball that they can then control with the joysticks. This enables caregivers to use Dancezilla in any way they see fit. For example, if their patient has particular difficulty doing reaching over their body, I.e. using their right hand to pick something up that is to their left, the caregiver can position the special ball on the side of the player, and instruct them to destroy it using the arm on the opposite side of their body.

Pictured above: Screenshot of Dancezilla. I can't take a screenshot and play at the same time, so the 3D on-screen model is in his default position. Hopefully I can get a video uploaded at some point.