Revamping the Carnival Exergame Design for DREAM Project
(This article refers to research done under the DREAM exergaming mobile app project)
January 4, 2019
I was tasked with revamping the resistance-based carnival game for the DREAM app. Using the existing GUI setup and code written by team members from the previous year, my tasks were the following
– perform updates to the carnival game
– develop a scoring system for earning points within the game
– set a calibration mechanism to accommodate short and long bursts of activity in the EMG threshold detection
– implement visual feedback to motivate the user
Initial Design and Game Mechanics
The existing design featured a vertical bar of a high-striker game that filled with a solid yellow color as muscle contractions were detected.
The original game mechanics detected every contraction and accumulated the intensity values to drive the bar higher and higher until the bar filled completely and rang the bell. Progress was determined by the height of the bar.
Adjustments
I made changes to the existing game mechanics. Rather than accumulating the EMG values per repetition and increasing the height of the yellow bar more each time, the yellow bar would only increase to the height corresponding to the intensity of the held contraction and would reset once the contraction is released. Basically, as soon as a muscle contraction is detected, so long as the contraction is held, the EMG values are accumulated and increase the bar over time. Harder, more intense contractions result in faster rise times. Once released, the bar resets.
Contraction detection is determined by setting threshold levels to the EMG values.
If the current EMG value exceeds the upper threshold, the app registers the beginning of a rep and begins an accumulation of values until the conclusion of the rep, triggered by the value falling below the lower threshold.
This dual-threshold design accommodates room for error caused by noise when a user holds the position over time.
The image below shows an EMG profile for one single held contraction. The green and red horizontal lines represent the upper and lower thresholds. The shaded region indicates the EMG values accumulated for the single contraction initiated when the EMG crosses the upper threshold (green) and ends when the EMG value falls below the lower threshold (red).
A countdown timer was also added to the game to limit playtime to 2 minutes. The user had to perform as many reps as possible within the time frame to obtain one of three virtual prizes (small, medium, and large).
Visual information was implemented into the interface to display the current score as well as some feedback messages when contractions were performed, saying things like “great one!”, “just one more!”, and “awesome!”. Calorie counts are also displayed and updated in real-time.