Geenium Arcade - Engineering Projects

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