1 / 19

SuperBall: A Block-Breaking Game for iPhone

SuperBall is a popular block-breaking game for iPhone and iPod Touch. It features bonuses, multiple balls, and realistic physics. This game has reached the top 5 in the App Store and has over 1 million downloads. The final presentation for the game's development at the University of Anchorage Alaska mentions improvements in design, performance, and new features like a level creator and online high score submission.

Download Presentation

SuperBall: A Block-Breaking Game for iPhone

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iPhone Game:SuperBall 3 • Final Presentation • University of Anchorage Alaska • CS470

  2. Game Overview • SuperBall is a “block breaking” game for the iPhone and iPod Touch. • Included features such as bonuses, multiple balls and physics emulation. • Released on the App Store on the store’s launch. • Has had success as an iPhone game. • Got up to #5 in top 100 apps • 1,000,000+ downloads.

  3. Technical Goals • Re-write with better design that is easier to update. • Implement Model-View-Controller • Convert hard-coded levels to XML files • Improve Performance • Add New Effects • Add support for new features, including level creator

  4. Project Requirements User Interface / Navigation • Design the navigation to be easily extensible and managed from a single controller - Completed. • Provide a scrollable list for displaying high scores - Completed. • High score to be submitted online inside of app - Completed. • Provide a help and how to section - Not Completed. • Provide user interface for creating and saving level sets made via the level builder - Completed.

  5. Project Requirements Game Play • Improve game play rendering and performance with OpenGL - Completed. • Emulate impacts and collisions using a physics engine - Completed. • Add particle effects for impacts and special bonuses - Completed.

  6. Project Requirements Data and Model Layer • Represent level information in standard XML format - Completed. • Be able to save and retrieve level information via XML - Completed. • Manage created level sets data - Completed.

  7. Project Requirements New Features • Level builder capable of easily and quickly designing levels - Completed. • User submit-able level sets - Not Completed. • User downloadable level sets - Not Completed.

  8. Version Progression Version 0.6 Version 1.0 Version 2.0 Version 3.0 • Very basicNo memory management • Good UIBad Design • Better UINo LeaksPoor Design • Good DesignGreat PhysicsGreat Features

  9. Data Files • XML storing and retrieving of data files implemented, but slow. • From 5 to 10 seconds for a full level set. • No luck with various optimizations. • Instead, switched to Apple’s Property Lists. • Still stored as XML. • Much faster, 2 to 4 seconds. • But, larger files, by about 2x.

  10. XML vs. pList Example (a level set with one level with one rectangular block that is in the center of the screen with 3 hit points) <key>LevelsArray</key> <array> <dict> <key>BlocksArray</key> <array> <dict> <key>Height</key> <real>80.0</real> <key>HitPoints</key> <integer>3</integer> <key>Shape</key> <integer>0</integer> <key>Type</key> <integer>0</integer> <key>Width</key> <real>40</real> <key>XPosition</key> <real>160.0</real> <key>YPosition</key> <real>240.0</real> </dict> </dict> </array> <levelset> <level> <block> <type>0</type> <hp>3</hp> <shape>0</shape> <bonus>2</bonus> <angle>0.79</angle> <width>80.00</width> <height>40.00</height> <x>160.00</x> <y>240.0</y> </block> </level> </levelset>

  11. Beta Prototyping • Sent out multiple prototype “betas” to testers • Went through four revisions: • Beta 1: • No Gameplay UI, high scores, options etc • Just physics, main gameplay and basic level builder • Beta 2: • Added Gameplay UI, addressed some early bugs • Beta 3: • Addressed most bugs, updated graphics • Added level creator features, high scoring, options • Beta 4: • Complete, final version for testing

  12. New Features Chipmunk Physics • Greatly Improved Collision Detection • Allowed for new shapes, like triangles, squares, etc. • Complete physics based world • Paddle rocks based on how it is hit • Balls collide against one another • Blocks oscillate • Force of explosions seen against blocks • Even falling bonuses bounce against objects

  13. New Features OpenGL Rendering and Effects • Gameplay in OpenGL • Uses Cocos2D Game Template • New Effects • Spark Collisions • Particle Explosions • Ball Trails

  14. New Features Improved Navigation and UI • Navigation through standard Navigation Controller • Consistent Look & Feel • High scores list • In-App online Score Submissions

  15. New Features Level Set Creator • Create Complete Level Sets • Manage Multiple Sets • Rearrange & Delete Levels • Drag & Drop Blocks • Add bonuses • Test right away • Multi-touch rotate & scale • Even copy & paste

  16. Requirements: 6 hours Design: 30 hours Implementation: 153 hours Testing: 90 hours Write-up: 12 hours Presentation: 9 hours Estimation... Estimated Total: 300 Hours

  17. Requirements: 6 hours Design: 20 hours Implementation: 273 hours Testing: 80 hours Write-up: 12 hours Presentation: 9 hours Actual Total: 400 Hours

  18. Positive Reviews “Already my favorite ‘brick breaker’ game, the update to 3.0 makes it even better!” “They took ‘one’ of the best breakout games in the app store, and made it into the ABSOLUTE BEST breakout game. Excellent graphics, physics, sound, and gameplay. Nice Update! Go Get it!” “You’ve done it! You’ve made the best ‘Brick’ game ever. All others are currently being deleted and I just wanted to say congratulations!”

  19. Conclusion • Huge improvement in gameplay, performance, and overall fun. • Innovative new features, including physics based gameplay and level creator. • Great response so far. • Learned a lot about OpenGL, XML on iPhone and physics engines.

More Related