Upload
modernzen
View
214
Download
0
Embed Size (px)
Citation preview
8/22/2019 Geenium Arcade - Engineering Projects
1/15
1
Geenium Arcade:
Final Report
David Baird, Andrew Collins, Johnny Melendez, Branden Olson, Robert Shockey, and Ian Van
Metre
8/22/2019 Geenium Arcade - Engineering Projects
2/15
2
Obesity presents a difficult and unfortunate problem that cannot be ignored, especially in
America. As of 2010, about one in three American adults are obese, and approximately 17% of
American children suffer from the condition. People in general ought to be healthier, and new,
creative ways to get healthy must be explored. Modern efforts strive to help; a classic example is
Wii Fit, an exercise game developed by Nintendo to promote interactive gameplay. In fact, this
type of gameplay succeeds in helping to chisel away this increasingly sedentary lifestyle trend.
Arcades began to boast Top Skater in 1997, which featured a skateboard controller interface to
combine physical activity with video games. Creations such as Dance Dance Revolution (DDR)
also shifted our concept of the video game into uncharted lands, adding some sweat to the life of
the gamer. With these breakthroughs in mind, Geeniums goal was to engineer a game for health:
a fun, addictive game that encourages exercise and makes physical activity fun. Over the weeks,
Geenium truly experienced the iterative engineering design process, step by step, until they
finally brought their initial idea to life.
After group discussion and input from Professor Siek and her colleagues, Geenium
decided to build the Geenium Arcade: an interactive video game consisting of several
programmed games using a DDR-like platform as the controller. Geenium programmed these
simple video games themselves using Scratch. Versions of Simon Says and Asteroids were the
two main goals, and since time allowed, a third game was added--Snake. Multiple Scratch
programs, however, require a menu. Thus, programming a switching function for the three
games was essential. Geenium also built the stepping pad themselves, with the buttons made
from polycarbonate and the frame constructed with wood. The final stepping pad was a three-
foot-wide square and approximately 2.5 inches tall. We used a Sparkfun Pico Board to allow for
the four inputs from the pad to the game.
8/22/2019 Geenium Arcade - Engineering Projects
3/15
3
The first prototype (Appendix 1, Figure 1) of the stepping pad was a simple, low fidelity
prototypetwo metal plates, one suspended above the other. The primary purpose of the first
prototype was to see if metal plates would be an appropriate button design if people would be
stepping on it. Geenium coded the buttons in Scratch to read electrical resistance via the Pico
Board. If the plates werent touching, no current would be conducted and the Pico Board would
read 100% resistance. Once the plates were touched, electricity was conducted, and the Pico
Board would send a variable reading for the resistance (typically zero, but always less than 80%
depending on how much pressure was exerted on the plates). Geenium programmed Scratch to
incorporate the input values using the sensing function, allowing a completed circuit to be used
as the control for the games. The first prototype was rigid and effective, so it was decided to
expand the prototype to include another button.
Since it was known that the metal plates would make an effective button switch, the
primary purpose of the second prototype was to see if the Pico Board could handle multiple
inputs at once. This was higher fidelity than the first prototype, but still relatively low fidelity.
The second prototype (Appendix 2, Figures 2 and 3) consisted of polycarbonate plates for the
button itself, metal plates for conduction, wood planks for structure, and plywood for the base.
The wooden planks had slits cut into the sides, and were spaced such that the polycarbonate
plates could sit in the slits, suspended above the base. Two metal plates were affixed to the
plywood below the polycarbonate. Two other metal plates were attached to the underside of the
suspended polycarbonate, above the affixed metal plates below. The second prototype used the
same resistance measurement system as the first prototype to provide input that Scratch could
use. The Pico Board and Scratch had no problems taking input from two buttons at once,
indicating that our next prototype could incorporate Geeniums goal of four inputs.
8/22/2019 Geenium Arcade - Engineering Projects
4/15
4
The third prototype (Appendix 3, Figures 4 and 5), the highest fidelity prototype,
consisted of a 3x3 lattice grid of 2x2x2 wooden planks with slits cut in them 1/8 from the
top of the planks, affixed to a plywood base, three feet by three feet. The polycarbonate buttons
(polycarbonate plates with metal affixed to the bottom) were slid into the center slots of each
side (center left, center right, etc.). Wooden blocks (2x4x1) had metal plates affixed to one
side and were then secured to the plywood base under the polycarbonate buttons with the metal
facing upward. Wires, attached with copper tape, ran from the Pico Board to the polycarbonate
buttons and their respective wooden blocks such that when the polycarbonate buttons were
pressed, the metal plates would touch to complete the circuit, allowing the Pico Board to send
resistance reports to Scratch, just like in the first and second prototypes. In the corners and center
of the lattice, wooden blocks (2x4x1.875) were added to the plywood and then slid
polycarbonate plates into the corner slits. The polycarbonate corner plates provide aesthetic
appeal while the corner wooden planks assure that the polycarbonate plates will not break if
stepped on. After three of the buttons and all corner plates were affixed, an acrylic plate was
engraved with the Geenium logo and became affixed into the slits in the wooden planks at the
center of the lattice. The final button was then slid into the frame. The polycarbonate buttons and
the corner plates were slid into the borders, which were then affixed to the plywood base. The
border on the front (the side of the up arrow) had a hole drilled into it so that the buttons wires
could be threaded out and to the Pico Board. The polycarbonate, buttons and corner plates alike,
were spray-painted white, while the wooden frame and borders were spray-painted blue. The
acrylic center was spray-painted white, with the engraved logo painted a cyan blue.
Iteration was extremely important in the third prototype. Attaching the wires with copper
tape was the final factor in completing the circuit effectively. After the third prototype was
8/22/2019 Geenium Arcade - Engineering Projects
5/15
5
completed, countless minor adjustments were made as needed. For example, Geenium
experienced issues with the down arrow button multiple times, so the circuit had to be rebuilt
and the edges of the metal plates taped down so that they could not come in contact if pressure
was not applied. Also, the initial acrylic center of the board cracked multiple times before and
during the user study, so Geenium had to rework the center with more support and an extra plate
of acrylic to prevent cracks. The third prototype embodied the relevance of the iterative design
process, and demonstrated the value of making changes to perfect the Geenium Arcade despite
the inconvenience. Efficiency is not the result of the first, but of the best.
Besides the construction, creating the Geenium Arcade consisted of an exceptional
amount of programming. Scratcha block-based programming language developed by MIT
allowed Geenium to create graphic effects that respond to variables and broadcasts with relative
ease. Geeniums programmers decided to program Simon Steps first as its proposed pseudocode
seemed the easiest to write. It took only four hours to finish a working version that worked on a
typical computer keyboard using the arrow buttons. However, the process included a few
setbacks, all of which were the result of small errors in the code. Next, Geenium took on
Asteroids, which was more difficult to code. The main reason for this was the amount of sprites
required: 26 total, each of which required many lines of coding. Sprites are Scratchs name for
the different objects shown on screen in front of the background. Nevertheless, it took the
programmers four hours to complete a working version of Asteroids, a similar time frame to
Simon. It still took more time to make some alterations, including editing the ship (turning it into
a small CU Buffalo), fixing some sprite costumes, adding a timer to each bullet so they could be
spaced apart, and creating a Game Over/ You Win function. The two main games were done
8/22/2019 Geenium Arcade - Engineering Projects
6/15
6
once the programmers altered the code so that the detection of resistance in the input values,
rather than the arrow keys, was used as the control for the games.
From this point, two programmers began working on the switching menu and two other
programmers started programming a rendition of Snake. These two tasks proved to be the most
difficult for the programming subteam; both programs took weeks to finish. The idea behind
Snake was that the head of the snake would stamp its color, and the tail would clear the stamp
as it passed over it. However, the team encountered multiple issues with the costumes and
coding, and the game was finally finished two days before the Expoa close call. The switching
menu consisted of a start screen that showcased thumbnails for the three games, and allowed the
player to scroll through them and select which game s/he wanted to play. Each game was then
added separately into the menu, which required the programmers to go through every line of
coding to ensure it was compatible with the menu (as the variables and broadcasts of all games
would now be included in one Scratch project). This process involved many difficulties,
including recursive functions, faulty syntax, and errors with variables. However, once each game
was imported successfully, the switching menu worked exactly as planned. For pseudocode of
the switching menu, see Appendix 4.
The Geenium Arcades user study consisted of seven males and two females for a total of
nine users, all aged between 18-19. Two females and five males claimed they played Dance
Dance Revolution before. Four males and both females admitted they exercised for health while
three males said they exercised for fun. A vast majority of the users confirmed they were
physically active during the study. All participants filled out a pre-survey before they tested the
Geenium Arcade, which was used to obtain these demographics.
8/22/2019 Geenium Arcade - Engineering Projects
7/15
7
After the pre-survey, the users read and signed a letter of informed consent before
playing the Geenium Arcade. At the time of the user study, Geenium had not yet developed
Snake or the switching menu, so the participants were allowed to choose between Buff Blast
(Geeniums version of Asteriods) or Simon Steps (a variant of Simon Says) while Geenium
members launched the individual games manually. The users could request to play either game
and were allowed to play for as long as they liked, switching between games as they pleased.
Each participant played the Geenium Arcade for an average of ten minutes, and were encouraged
to think aloud whilst playing, providing Geenium with valuable insights as to how the Arcade
could be improved.Notes were taken on the users comments and performance. After the
participants finished the test, Geenium had them fill out a post-survey. The post-survey inquired
as to the users feelings about the Geenium Arcade and what they thought should be improved or
revised.
According to the post-surveys, eight out of nine participants preferred Buff Blast to
Simon Steps, and two-thirds of users believed there was a reasonable amount of physical activity
involved in playing with the Geenium Arcade. There was a unanimous agreement that the
controls were exceptional and the difficulty of the games was reasonable. With participant
feedback and other comments made during gameplay, adjustments were made to Buff Blast and
Simon Steps in order to improve their overall quality.
While all the changes to the Geenium Arcade games were minor, the changes most
requested by the participants were in regard to Buff Blast. Most users felt the buttons were not
sensitive enoughthey felt they were constantly over-correcting for the direction of the
spacecraft. Another improvement implemented after the user study, was spacecraft deceleration.
Prior to the user study, the spacecraft could theoretically accelerate infinitely, as long as the user
8/22/2019 Geenium Arcade - Engineering Projects
8/15
8
was pressing the up button. This was fixed by incorporating a small but significant deceleration
value whenever the up arrow was not pressed.
After the Demo for Class, Geenium was given valuable recommendations for Design
Expo. However, many of these recommendations were not relevant to the prototype but instead
to the verbal presentation of the Arcade at Design Expo. Of course, all Geenium members
rehearsed the presentation and revised it according to the feedback. Geenium was given many
tips on verbal communication, but these would not help perfect the Geenium Arcade. The
suggestions relevant to the Arcade were about how it was not functioning during the Demo.
While the team did not understand exactly what caused the malfunction during the demo, they
ran through the components of our project in order to ensure their future functionality. The
project began working again soon after the demo. From there, Geenium only had simple bugs to
work out of Buff Blast and the Switching Menu, as well as a few alterations to the board due to a
faulty circuit.
As the Geenium Arcade is far from perfect, much work can be done in the future to
improve the game. Adding more games to the Arcade would allow more variety, increasing the
appeal and interest level for users. Possible additions include the famous Helicopter Game,
rhythm-based games resembling DDR itself, and more simple classis like Tetris. Variety in
games would also help people to be motivated in continuing to play with the Arcade, promoting
health overall. Another addition Geenium would like to incorporate into the Arcade involves the
inclusion of levels of difficulty. As of now, the Geenium Arcade has one level per game, with a
set level of difficulty. Geenium hopes to add multiple levels into Simon Steps, and multiple
stages in Buff Blast, adding difficulty with each increasing level. Another method for this might
include adding a difficulty variable into each game, where the player can choose between easy,
8/22/2019 Geenium Arcade - Engineering Projects
9/15
9
medium, or hard difficulty before starting the game. Integrating sound and better graphics would
increase the overall quality of the games, encouraging longer and more frequent use.
Other improvements could be made to the stepping pad itself. The buttons could be
equipped with pressure sensors acquired from a projects retail store such as Sparkfun
Electronics. The upside to this improvement would be that Geenium could incorporate sensitivity
and pressure differences to add difficulty settings into the games code.Increasing the platforms
size would allow for easier, yet more physical, gameplay. As of now, the Geenium Arcades
stepping pad is smaller than that of Dance Dance Revolution. Increasing the distance between
buttons would help increase the physical activity of users, and at the same time giving the user a
better idea of the special layout of the buttons. Many users would miss the intended button by
stepping too far out; a larger board would correct this issue.
8/22/2019 Geenium Arcade - Engineering Projects
10/15
10
Appendix 1
Figure 1, A rough sketch outlining the first prototype of the Geenium Arcade
8/22/2019 Geenium Arcade - Engineering Projects
11/15
11
Appendix 2
Figure 2, A rough sketch of the second prototype
8/22/2019 Geenium Arcade - Engineering Projects
12/15
12
Figure 3, A picture of the second prototype
8/22/2019 Geenium Arcade - Engineering Projects
13/15
13
Appendix 3
Figure 4, A picture of the third prototype with Simon Steps
8/22/2019 Geenium Arcade - Engineering Projects
14/15
14
Figure 5, A photo showing the inside of a button, containing the metal plate mounted on the wooden block, and the
polycarbonate plate with a metal plate affixed to its bottom.
8/22/2019 Geenium Arcade - Engineering Projects
15/15
15
Appendix 4
Switching menu pseudocode:
When the program is started
Switch the background to the menu screen and hide all non-menu sprites
Forever if the world state is zero (the menu)
If the left or right arrows have a resistance less than 80 move the game sprites in that
direction
If the up or down arrow is pressed
If only one game is touching the selection area
Select that game (broadcast the game)
Otherwise
Do nothing
When the name of the game is received play the game:
When the game ends
Broadcast that the game is over
Switch to the game over background if a loss otherwise the win background
Display that games replay button and the menu button
Forever if the world state is the games game over/ win state (5-Simon, 6-Buff Blast, 7-
Snake)
If the left arrow resistance value