Tune Hopper Design Document 1.5


Published on

Here's the following design document which is closer to the Tune Hopper game currently available in the App Store.

As an upcoming developer for iPhone apps it would be best to read through this document and download the game here: http://itunes.apple.com/us/app/tunehopper/id466431933?mt=8#

Published in: Entertainment & Humor, Design
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Tune Hopper Design Document 1.5

  1. 1. Tune Hopper Game Design v1.5Tune HopperGame Design v1.5 Overview Game Design Overview Game Board Basic Game Play Game Difficulty Levels Game Difficulty Variables Rewards & Scoring Successful End of Song Unsuccessful End of Song Game Over Maximum Potential Score: Point Deductions: Wrong Notes Player Time Food Rewards:Game Sound Engine Song Notation This will follow a similar model to what we implemented in version 1.0 where music composer will deliver pitch files and sound sets to developer for integration into the game.Sprite Animation Engine Idle Loop Animations Animation Assets NeededMenu Design Main Menu Options Share Contact Us Credits Help Album Select Song Select Level Select In App Purchase Menus
  2. 2. In-APP Album Store Wireframe Mockup Testing PlanOverviewTune Hopper is a musical Simon Says Game that will offer players a rich sound scape withprogressively more difficult game play. Version 1.5 of the game will be based on the previouslydeveloped 1.0 version. This document mostly describes the upgrades and changes fromversion 1.0.Game Design OverviewGame play involves these primary components: ● Game Board (AKA “Tile Floor”) ● Game Controller (Game Rules) ● Game Sound Engine ● Sprite Animation Engine (“Greg”)Game BoardThe Game Board (also known as the “Tile Floor”) is comprised of columns of 8 rows. Thenumber of columns will be determined by the number of notes in a song. In future versions thetime signature of the songs may change, however for this version Common or “4/4” time will bethe only time signature. As such columns will always come in groups of 4 in this version whichwe will call a game measure. The total number of game measures is variable. Easy levels willhave 4 measures. Advanced levels can have more measures, up to 16 maximum. The numberof measures will vary based on the needs of a song.The game board will always have exactly 8 rows, never more or less. Each of these 8 rows isassociated with a specific sound on a scale, herein called a note. Different albums will havevarious instrument sounds used to represent each note.An iPhone screen is 320 Points Wide by 480 Points High. The previous version of Tunehopper had each note on the game board represented by a 40 x 40 point square which waschosen to fit 8 columns within the iPhone’s 320 Point wide screen. As the previous assumptionthat 8 notes needed to be visible at all times is not necessary and to enhance usability andengagement in game play we are increasing the size of each square to 54 x 54 points. Thisallows a about 6 note columns to be visible at any given point and an additional 48 points ofspace for menu buttons and other eye-candy. The majority of this space will be located at thetop of the game board, only leaving a few points of eye-candy (the cupboard doors) on thebottom.
  3. 3. As we are not currently creating an iPad optimized version of this game, discussion of the gameboard as it relates to the iPad will be skipped for now.Users can only ever interact with one column of notes at a time. Advanced levels of game playwill introduce the possibility of users playing “chords” of two or three notes simultaneously withineach column.Greg, the animated Character, who hopped along the bottom of the game board previously, willnow hop along on the board as players play notes. He will start out in a blank column and thenhop from column to column, landing on the correctly played note’s square. This means Gregwill now need to hop with variable heights instead of the fixed height he used previously. In thecase of chords, Greg will hop to the lowest note in the chord.As the game opens, Greg will hop from off screen left onto a blank column on the game boardwhere he will idle and wait. As Greg hops onto the board, we will fade the numeric value of thecurrent difficulty level in and out.In the upper left corner of the screen we will display the maximum potential score for the level.As deductions are made to the score during game play, we will animate the score’s displaydown.Game ControllerThis is what sets and enforces the rules of game play.Basic Game PlayBasic game play will follow this pattern: 1. Computer will demonstrate a sequence of notes. a. Initially this sequence will only be one measure of a song. b. In more advanced levels of play this sequence of notes can span two measures. Sequences will never be any longer than 2 measures in length. c. The computer will play back the sequence using proper timing/rhythm as provided for by the game’s sound engine. d. Depending on the difficulty level being played, the visual representation of the notes will change, starting with showing all notes in the measure to not showing any notes in the most advanced levels. (See discussion on difficulty levels for details) 2. The game will then wait for a player to repeat the sequence of notes the computer played. The game will always prompt a player which column on the game board notes will be played. The prompt will occur by a column highlight. a. If a player plays an incorrect note, player can keep trying to play the correct note until they get it correct. b. Each incorrect note played will deduct points from the player’s final score. Greg will also be disappointed and will react accordingly as specified by the Sprite
  4. 4. Animation Engine.c. If the player’s score drops to zero at any point during game play then they immediately loose the level and must begin again.d. If a player takes too much time to play a note then point deductions are made. These deductions are based on the song’s playback BPM and the difficulty level being played.e. The rhythm a user plays will be ignored by the computer. While we expect users to attempt to emulate what the computer played, their success or failure at following the song’s rhythm will have no effect on their score.f. When a player plays a correct note the game will prompt and wait for the next note in the sequence and Greg will react accordingly as specified in the Sprite Animation Engine.g. When a sequence is completed, Greg will celebrate as we loop back to # 1
  5. 5. 3. At the end of the song, Greg hops off the board. A refrigerator opens up and throws food at Greg. The amount and type of food is based on the number of points a player has received.Game Difficulty LevelsThere will be 12 difficulty levels. Users must achieve at least half of the maximum potentialscore achievable on any level of game play before they can advance onto the next difficultylevel.User’s will see level difficulty described as follows: Easy Levels 1 - 4 Medium Levels 5 - 8 Hard Levels 9 - 11 Expert Level 12We are providing multiple numeric levels within each difficulty level of easy, medium and hardso that users see a progression of difficulty instead of large jumps (except in the case of Hard toExpert where a bigger jump is made).Users will see both the numeric value and the text description of the difficulty level at the start ofgame play. Users will see the level number displayed in the song select screen where they willbe able to play any level up to the maximum level number they have played for a given song.After users have passed a certain level on a certain number of albums, the ability to play atvarious levels will be unlocked (this gives users an incentive to buy more albums beyond justwanting more music, though there’s no reason users have to buy more albums to unlock morelevels as they can always play through all levels starting at 1 for any album they have): Passed Level 11 on 1 Album Up to level 3 unlocked on all albums Passed Level 2 on 3 Albums Up to level 3 unlocked on all albums Passed Level 4 on 6 Albums Up to level 5 unlocked on all albums Passed Level 8 on 3 Albums Up to level 5 unlocked on all albums Passed Level 8 on 6 Albums Up to level 7 unlocked on all albums Passed Level 8 on 10 Albums Up to level 9 unlocked on all albums Passed Level 11 on 12 Albums Up to level 12 unlocked on all albums
  6. 6. When this “unlock” event happens, users will be congratulated with “Congratulations! You havenow unlocked level 3 on all albums. Play more albums to unlock additional levels.”Game Difficulty VariablesThe variables we will change to make game play more difficult with include: ● Playback BPM ○ This is the speed at which the computer will playback the notes in a measure. ○ 1 quarter note = 1 beat ● Visual Representations of the notes ○ This is what the user sees on the game boar as the computer plays each sequence ○ Starts at Highlight notes and stays lit and eventually goes to no highlights at all ● User Playback Time ○ This is how long a user has to repeat the sequence before point deductions start accruing. ● Length of Sequence ○ Either 1 or 2 measures. Varies up and down throughout the levels ● Total Number of Song Measures ○ Starts at 4 and goes up to the maximum of 16. ○ Songs will be composed to be flexible enough that they can be cut off at 4, 8 or 16 measures.See the Tune Hopper Variables Spreadsheet for details on what these variables will be set at.New Scoring SystemOn 2/19 we decided to change the scoring model so that the score is no longer based on adeduction system.Wrong notes have a deduction ofRewards & ScoringDuring song play, Greg will celebrate for every correct note played. Every wrong note playedwill be met with disappointment from Greg but he quickly gets over his disappointment andfocuses on the correct notes users play.There are two components of rewarding users when they complete a song: 1. Points accumulated for levels and songs played 2. Food that Greg eats based on the points a user scores.Players will want to score more points to make Greg happier with the amount of food he eats.
  7. 7. Scoring is based on the maximum potential score a user can accumulate for a given level. Wewill make deductions from the player’s score based on the number of wrong notes they playedand the time it took to play those notes.Successful End of SongWhen a user successfully completes a song, Greg hops off the board to a refrigerator.Displayed next to or above the refrigerator we see: ● Max Score: 0 ● Your Score: 0 ● Wrong Notes: 0Greg is anxiously waiting for the score tally then... 1. Wrong notes animates up from zero to the number of wrong notes played by the user. a. If there are no wrong notes, then the zero flashes in green and Greg celebrates. b. Maybe some applause sound effects here? 2. The max score animates up and away from zero to the maximum potential score available for the level. 3. The refrigerator door opens (happens during 2) 4. Food is thrown at Greg. 5. Greg eats his food and the point value of the food appears and floats up to the players score. 6. The point value fades out as the player’s score animates up in value 7. Greg is done eating when all the food he will get from the Player’s final score. 8. If a user has achieved a new record score we will display the text: “Congratulations, you have achieved a new high score!” 9. Once Greg is done eating, Greg will wipe his face with a napkin while the following buttons fade onto the screen above Greg: a. Play harder b. New SongIf a user has played all difficulty levels, then the only option will be New Song.When a user picks one of the menu buttons, Greg will hop off screen right as the screen fadesout and a new game board fades in.Various sound effects will play in sync with the animation, to include: ● Max score & Player Score Tally Animation Sound (2 notes & triplet?) ● Wrong Notes Tally Sounds: ○ Applause if no wrong notes ○ Tally sound as we animate up from zero ● Refrigerator Door Opening ● Food throwing ● “Ding” sound as food point value floats up to player score
  8. 8. Unsuccessful End of SongWhen a user completes a song but hasn’t achieved a high enough score to advance difficultylevels, we follow a similar pattern as when players successfully complete a song but with thefollowing changes: 3. The refrigerator door opens 4. A food scrap is thrown at Greg. 5. Greg eats the scrap and the point value of the food (the player’s score) appears and floats up to the players score. 6. The point value fades out as the player’s score animates up in value to arrive at their total score. 7. We will display the text: “Score higher to advance.” 8. Greg will beg for more food as the following buttons fade onto the screen above Greg: c. Try again d. New SongWhen a user picks one of the menu buttons, Greg will hop off screen right as the screen fadesout and a new game board fades in.
  9. 9. Game OverIf a Player’s score reaches zero at any point in game play, the game board will fade out (infuture versions maybe the game board will crumble or some other cool animation) while an endof game sound effect plays. Greg will hop to the center/bottom of the screen and then cry.The following text & menu buttons will fade onto screen centered above Greg while hecontinues crying: (This happens together in 1-2 sec) ● Sorry, your score has reached zero. ● Play Again ● Pick New SongWhen a user picks one of the menu buttons, Greg will hop off screen right as the screen fadesout and a new game board fades in.Maximum Potential Score:Each levels maximum potential score is the level number multiplied by 100 points. So level 1has a maximum potential score of 100 points while level 12 has a maximum of 1,200 points.Point Deductions: Wrong Notes ■ Easy Levels: Point deduction of 5 points * Level Number ■ Medium Levels: Point deduction of 10 points * Level Number ■ Hard & Expert Levels: Point deduction of 25 points * Level Number Player Time Player Time is based on a threshold value, calculated based on the level of difficulty. The threshold value is used to determine the number of seconds a user has to complete a sequence before point deductions begin to accrue. The formula for determing is the threshold value is: Threshold = 60 / BPM * LV * N ○ BPM is beats per minute associated with the level’s playback speed ○ LV is Level Value which is a variable we can tweak to change the amount of time. For instance in easy levels, LV is set at 2 giving the user double the amount of time it took the computer to play the sequence or what works out to being about 6 seconds ○ N is the number of notes in the sequence. For instance 4, on easy levels. Any amount of time a user takes to complete a sequence beyond the threshold value will incur the following points deductions: ■ Easy Levels: 1 point * Level Number * Seconds past threshold ■ Medium Levels: 3 points * Level Number * Seconds past threshold ■ Hard & Expert Levels: 5 points * Level Number * Seconds past threshold
  10. 10. Food Rewards:Food will be thrown at Greg based on a user’s score: ● If a user has achieved a score higher than 0 but less than or equal to half the maximum potential points associated with a level, Greg is thrown a “token” scrap of food. He eagerly eats the scrap and then begs for more food. A player can then either play the level again or select a new song to play. ● If a user has achieved a score higher than half the maximum potential score, Greg is fed an increasing amount of food proportional to the score a player has achieved. A player can advanced to the next difficulty level or choose a new song to play.Rewards will be randomly selected to throw at Greg. We will throw up to 3 pieces of food toGreg at level completion. We will round-off the player’s score and will loosely match the pointvalue of the food items we throw at Greg: Food Item Point Value Food Scraps Score up to ½ the maximum level score Candy/Cookie/Pretzel/Cupcake 100 points Fruit 200 points Vegetables 300 points Pizza/Pumpkin/Cake/Eggs 400 pointsExamples:Player Scores 650 points We could throw Greg (randomly chosen): ● 1 Meal Item, 1 Fruit Item ● 3 fruit items ● 2 vegetable items ● 1 Meal Item, 2 Candy ItemsPlayer is on Level 1 and Scores 43 Points. We would throw Greg a food Scrap Item.Player is on Level 8 and scores 350 points. We would throw Greg a food Scrap Item.(In both of these situations the player doesn’t achieve a score high enough to pass them on tothe next level so Greg only gets a food scrap and then begs for more food).Game Sound EngineThe game sound engine will be upgraded to playback notes and sound effects using Open AL.All music will still be played back using Apple’s AVAudioPlayer as it is the most efficient way to
  11. 11. playback MP3 compressed music files using the hardware decoder provided in iOS devices. Open AL will allow us to play up to 32 sounds simultaneously, giving us much more flexibilitywith sound design and fading multiple note sequences. It also gives us the ability to play chordsof notes.Tune Hopper Game Play will utilize these sound elements: 1. Music Files - encoded as MP3’s that are played back as rewards for users when they finish playing a song. These can be stereo files. 2. Note Sounds - 8 Mono sound files comprising an octave of sounds which will be mapped to each note on the game board. 3. Sound Effects - Noises Greg Makes & other miscellaneous sounds - Recommend Mono sound files.The menus will have music and sound effects as well but these will be operated separately fromthe game sound engine and will fade in or out as we enter or leave the menu subsystem.Sound Effects will include: ● Button select sound ● Loading sound ● Creature sounds (based on user touch action)Song NotationThis will follow a similar model to what we implemented in version 1.0 where music composerwill deliver pitch files and sound sets to developer for integration into the game.Because of the added complexity of chords and 1/8th notes, pitch files will have the followingadditions: ● All notes will be a half notes by default. - 4 ● A single * is placed after the note number (or chord) for a quarter note - 2 ● A double ** is placed after the note number (or chord) for an eight note - 1 ● A single ^ is placed after the note number (or chord) for a dotted quarter note -3 ● Multiple note numbers on a given line will be assumed to be a chord (up to 3 values per line) ● Note numbers in a chord can be separated by a /Example Measure: 1 2* 4/6 6* 8This will then be manually converted to the appropriate in game album file format.
  12. 12. Sprite Animation EngineAKA “Greg”Greg has 3 major states of being: 1. Idle, waiting for action 2. Reacting to Game Play 3. Eating RewardsIdle Loop Animations 1. Menu Idle ○ A random selection of idle animations to include waving at users. ○ When a user touches Greg he sticks out his tongue and then resumes idle loop. 2. Game Board Idle ○ A random selection of idle animations while waiting for users to play notes or while the computer is demonstrating sequences 3. Waiting for Food Idle ○ While scores are tallying and in between food being thrown at Greg (like a puppy eager to get it’s dinner)Animation Assets NeededHopping animation will have a mock up of the jump arch in pitch tiles to decide how this willlook. ● Complete Waving Animation ● Dancing Hula Hoop (in game reward) ● Dancing Jig (in game reward) ● Somersault (in game reward, possible added to ) ● Cart Wheel (changed animation from sumersault) ● Disappointed and begs for More Food (when he only gets a food scrap) ● Waiting for food (excited, begging for food) ● Wiping Face with a NapkinMenu DesignSection to put everything associated with menus.Discussion: ● Ability for players to start at different difficulty levels. ● Greg Hopping on and off of menu screens
  13. 13. Main MenuGreg randomly hops on the bottom of the screen, from left to right and then loops back to leftside of the screen.Options and share functionality integrated on this screen through separate pages for each. Thischange has happened since there is no room available for pop-up integration on the main menuShareFunctionality also leads to separate page due to no room available in main menu screen.
  14. 14. .OptionsRedoing functionality for Options to click to separate page with buttons, Contact Us, Credits,Reset Game in a row on this page with two ON / OFF switches below these buttons:switch to turn Greg’s sounds ON / OFFNo Musical Scale switch in 1.5 now. Just Greg sounds switch.Contact Us(click Contact Us button on screen after clicking options button)
  15. 15. Credits(click credit button on Options page)Won’t have Greg on this screen.Reset Game(button in Options page)(click reset button on Options page)Yes / No pop-upWon’t have Greg on this screen.Help(click Help button on any page except Main Menu)(HELP TEXT)_________________________________________Album SelectWill follow same model as currently implemented. See wireframe under in-app purchase forchangesWon’t have Greg on this screen.Song SelectRemove Stars.
  16. 16. Aesthetic changes TBD, will follow basic model of current screen.When a song is selected, will go to the level select screen. If you’re on level 1 we will gostraight to the game board and skip the level select.Will show score and the highest level user has played. If a user has not played a level, wewon’t show the level played.When a user has played all levels with a perfect score, we will highlight the score and level #with a bold, blue (same color as bg of Play button) font.4,560Level 12Won’t have Greg on this screen.Level SelectDisplayed when a song is selected to playNo level locking.Won’t have Greg.In App Purchase MenusSee section on in-app purchaseWon’t have Greg on this screen.
  17. 17. In-APP Album StoreThis is where users can buy more albums to play. Users will access the store using the “BuyMore” button on the bottom of the album selection screen.For reference, Apple’s Server Product Model works as follows:
  18. 18. Tune Hopper’s development server will use a combination of Amazon Simple DB, Amazon S3and a PHP Store Script to be written for this application and run on a web server.
  19. 19. Amazon Simple DB will store: ● List of Product (album) Identifiers and a link to album icon located on S3 and song preview file links ○ Plan to add additional data fields including description and artist name as well as more graphics for v2 ○ Pricing information will be stored and configured in iTunes Connect. ● List of receipt data for all transactions (receipts will be verified with apple before insertion into the database)Amazon S3: ● Repository for storing albums to be downloaded by users ● Secured so only our app can download files. App will only download if a valid transaction receipt for the album is found in Simple DB. S3 login credentials will be secured inside the Application’s compiled code. A hacker would have to break Apple’s app encryption, decompile the app and wade through a bunch of machine code to find the credentials. (It’s easier to pirate music, movies and TV shows on the Internet) We could do something more robust but this provides an adequate amount of protection for content that is only usable within this game. ● Each album will be a zip file that includes song sounds, music XML files and icons that will be downloaded and uncompressed inside the app.PHP Store Script: ● Validates transaction receipts and inserts into Simple DB if a valid transaction ● Recommend setting up a good PHP host at inappstore.tunehopper.comAll app downloads will happen in the background allowing users to continue playing the gamewhile they wait for downloads to occur. If a user exits the game before the download completes,when the app next launches it will continue downloading album(s) in the background.Insertion of albums into Amazon Simple DB and S3 will be a manual process.Wireframe Mockup
  20. 20. The $0.99 button imitates the same functionality on the iTunes stores of turning into a green buynow button that then sends the purchase to the apple iStore. Basically it has the same look feelas all other app purchases.We must indicate album difficulty thru max score on the album page preferable btn the .99button and the album icon or under the album icon. Song should also list their max scores aswell before the play button.
  21. 21. Testing PlanThere will be 3 phases of testing ● Alpha 1 (Silona and Reuel to verify functionality, timing, etc.) ● Alpha 2 (Add 5 users last week of Feb) ● Beta (Add 10 - 20 users first week of March)Bug tracking will occur using Bugzilla or similar to be setup on Eskieman.com