You are previewing Monkey Game Development.
O'Reilly logo
Monkey Game Development

Book Description

"

Create monetized 2d games deployable to almost any platform with this book and ebook.

  • Create eight fun 2d games.

  • Understand how to structure your code, your data structures and how to set up the control flow of a modern 2D game

  • Learn how to deploy your games to iOS, Android, XNA (Xbox, Windows Phone 7) and desktop platforms (Windows, OSX)

In Detail

Monkey is a programming language and toolset that allows its user to develop modern 2D games easily for mobile and other platforms like iOS, Android, HTML5, FLASH, OSX, Windows and XNA. With Monkey you can create best selling games in a matter of weeks, instead of months.

Monkey Game Development Beginners Guide provides easy-to-follow step by step instructions on how to create eight different 2D games and how to deploy them to various platforms and markets.

Learning about the structure of Monkey and how everything works together you will quickly create eight classical games and publish them to the modern app markets. Throughout the book you will learn important game development techniques like collision detection, handling player input with mouse, keyboard or touch events and creating challenging computer AI. The author explains how to emit particle effects, play sound and music files, use sprite sheets, load or save high-score tables and handle different device resolutions. Finally you will learn how to monetize your games so you can generate revenue.

"

Table of Contents

  1. Monkey Game Development
    1. Table of Contents
    2. Monkey Game Development
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. Who this book is for
      3. Conventions
      4. Time for action — heading
        1. What just happened?
        2. Have a go hero — heading
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Monkey—Huh?
      1. Game development for the rest of us
      2. Cross-platform development
      3. Compiler or translator?
      4. The Monkey toolbox
      5. Time for action — installing Monkey
        1. Please welcome… Monk
        2. MSERVER—Monkey's own web server
        3. What just happened?
      6. Let's have a little playtime
      7. Time for action — playing Pirate TriPeaks
        1. What just happened
      8. Time for action — playing Surviball
        1. What just happened?
        2. Playing to have fun, playing to study
      9. So let's go for something big? No!
        1. The alternative
        2. What just happened?
      10. Time for action — read the manual
        1. What just happened ?
        2. The Trans tool and the supported target platforms
          1. HTML5
          2. FLASH
          3. iOS
          4. Android
          5. XNA
          6. GLFW
        3. The Monkey standard modules
          1. Lang
          2. Lists
          3. Map
          4. Math
          5. Random
          6. Set
          7. Stack
        4. Mojo — The 2D framework/modules
          1. App
          2. Audio
          3. Graphics
          4. Input
        5. Monkey is extendable
          1. Your own modules
          2. Native source code
          3. Third-party modules
          4. Your own targets
        6. Your game is easily portable
      11. Summary
    9. 2. Getting to Know your Monkey—a Trip to the Zoo
      1. Call the Monk and start praying—the Monkey IDE
        1. Why learn about Monk?
        2. Starting up Monk
        3. Monk's user interface
          1. The toolbar
        4. The code editor area
        5. The info box
      2. Time for action — opening a sample script
        1. What just happened?
      3. Where is my navi?
      4. Time for action — navigating to the Main() function
        1. What just happened?
      5. Save... save... save!
      6. Time for action — saving a script
        1. What just happened?
      7. Projects—bringing in some organization
      8. Time for action — creating a project
        1. What just happened?
      9. The Monkey programming language
      10. Time for action — Monkey's Hello World
        1. What just happened?
      11. Running your first script in a browser
      12. Our first little game... PONGO
      13. Time for action — the basic structure of your game
      14. Pongo's data structure
      15. Time for action — adding some data fields
      16. Time for action — rendering the game field
      17. Time for action — drawing the ball and the paddles
      18. Time for action — player paddle movement
      19. Time for action — moving the enemy paddles
      20. Time for action — moving the ball
      21. Time for action — controlling the ball with the player's paddle
      22. Time for action — letting the enemy paddles fight back
      23. Time for action — acting on the different game modes
        1. What just happened?
        2. Have a go hero — enhancing the computer AI
      24. Exporting your game as an HTML5 website
      25. One more thing... comment your code!
      26. Summary
    10. 3. Game #2, Rocket Commander
      1. The game objects
      2. The basic file structure
      3. Time for action — building the basic file structure of the game
        1. What just happened?
      4. Hold that data—RocketCommander's data structure
      5. Time for action — creating the general data structure of the game
        1. What just happened?
      6. Detailing the Update process
      7. Time for action — detailing the Update process
        1. What just happened?
      8. Detailing the Render process
      9. Time for action — detailing the Render event
        1. What just happened?
      10. Enhancing the OnCreate event
      11. Time for action — detailing the OnCreate process
        1. What just happened?
      12. Let's build some cities
      13. Time for action — building some cities
        1. What just happened?
        2. Implementing the city class into the game
      14. Time for action — changing the gameClasses file
        1. What just happened?
        2. Modifying the RocketCommander class
      15. Time for action — spawning some cities in the game
        1. What just happened?
        2. Rendering the ground and the cities
      16. Time for action — rendering the cities
        1. What just happened?
      17. Get the launchers ready!
      18. Time for action — implementing the rocket launchers
        1. What just happened?
        2. Implementing the launcher class into the game
      19. Time for action — changing the gameClasses file again
        1. What just happened?
        2. Modifying the RocketCommander class
      20. Time for action — creating some launchers in the game
        1. What just happened?
        2. Updating the rocket launchers
      21. Time for action — updating the launchers
        1. What just happened?
        2. Enhancing the UpdateMenu method
      22. Time for action — modifying the menu update process
        1. What just happened?
        2. Rendering our precious rocket launchers
      23. Time for action — rendering the launchers
        1. What just happened?
      24. Fire! Blast them to pieces!
      25. Time for action — implementing some rockets
        1. What just happened?
        2. Implementing the rocket class into the game
      26. Time for action — modifying the gameClasses file
        1. What just happened?
        2. Modifying the launcher class
      27. Time for action — modifying the launcher class
        1. What just happened?
        2. Updating the rockets
      28. Time for action — updating the rockets
        1. What just happened?
        2. Rendering our furious rockets
      29. Time for action — rendering the rockets
        1. What just happened?
      30. And it goes BOOM!... Explosions
      31. Time for action — implementing explosions
        1. What just happened?
        2. Implementing the explosion class into the game
      32. Time for action — modifying the gameClasses file
        1. What just happened?
        2. Modifying the rocket class
      33. Time for action — modifying the rocket class
        1. What just happened?
        2. Updating the explosions
      34. Time for action — updating the explosions
        1. What just happened?
        2. Rendering beautiful explosions
      35. Time for action — rendering the explosions
        1. What just happened?
      36. Don't fear the enemy—bombs
      37. Time for action — creating the bomb class
        1. What just happened?
        2. Implementing the bomb class into the game
      38. Time for action — modifying the gameClasses file
        1. What just happened?
        2. Updating bombs
      39. Time for action — updating the bombs
        1. What just happened?
        2. Rendering beautiful bombs
      40. Time for action — rendering the bombs
        1. What just happened?
        2. Creating new bombs and checking for GameOver conditions, or new level conditions
      41. Time for action — modifying the UpdateGame method
        1. What just happened?
      42. Displaying the game score
      43. Time for action — displaying the game score
        1. What just happened?
      44. Summary
    11. 4. Game #3, CometCrusher
      1. Using a game framework—the fantomEngine
      2. Game resources
        1. Images
        2. Sounds
        3. Bitmap fonts
      3. The game objects
        1. Layers
        2. Background stars
        3. Comets
        4. The player ship
        5. The shield
        6. Shots
        7. Particles
        8. Game info text
      4. The basic file structure
      5. Time for action — create the main source file and its folders
        1. What just happened?
      6. Open the storage please—the data structure of CometCrusher
      7. Time for action — creating the data structure
        1. What just happened?
      8. First changes to the OnCreate method
      9. Time for action — modifying the OnCreate method
        1. What just happened?
      10. Detailing the Render process
      11. Time for action — detailing the OnRender method
        1. What just happened?
      12. This is a setup—creating the game objects
        1. Group yourself—layers
      13. Time for action — creating some layers
        1. Let them shine—the background stars
      14. Time for action — implementing some stars
        1. What just happened?
        2. The Hero—creating the player ship
      15. Time for action — setting up the player ship
        1. What just happened?
        2. Did you hear that—loading sounds
      16. Time for action — creating a method to load sounds
        1. What just happened?
        2. Did you see that score—the game UI
      17. Time for action — creating some game info text objects
        1. What just happened?
        2. Headlines—adding a title screen
      18. Time for action — adding a title screen
        1. What just happened?
        2. How good are you—the high score list
      19. Time for action — setting up the high score list
        1. What just happened?
        2. Rocks rocks rocks—fill the space with some comets
      20. Time for action — create a comet
        1. What just happened?
      21. Time for action — creating some comets
        1. What just happened?
        2. Mission complete... finalizing the OnCreate process
      22. Time for action — finalizing the OnCreate method
        1. What just happened?
      23. We need help—more methods for the Update process
        1. Loading and showing the high score list
      24. Time for action — loading a high score list
        1. What just happened?
      25. Time for action — showing the high score list
        1. What just happened?
        2. Activating the shield of the player ship
      26. Time for action — the ActivateShield method
        1. What just happened?
        2. Delta time related movement
      27. Time for action — determine the time delta
        1. What just happened?
        2. Updating the game statistic info text objects
      28. Time for action — updating the info text
        1. What just happened?
        2. Starting a new game
      29. Time for action — creating a StartNewGame method
        1. What just happened?
        2. Let the engine glow
      30. Time for action — spawning some engine particle FX
        1. What just happened?
        2. And it goes boom—creating an explosion
      31. Time for action — creating some explosions
        1. What just happened?
        2. Give me that gun—spawning a shot
      32. Time for action — spawning some shots
        1. What just happened?
        2. Save some high scores, will ya!
      33. Time for action — saving the high score list
        1. What just happened?
      34. Finalizing the OnUpdate method
      35. Time for action — finalizing the OnUpdate method
        1. What just happened?
      36. Bring in the action—shaping the engine class
        1. Crack these objects—object collision handling
      37. Time for action — detailing the collision detection
        1. What just happened?
        2. It's about time—acting on timer events
      38. Time for action — detailing the OnObjectTimer method
        1. What just happened?
        2. Everything is under control—object update events
      39. Time for action — detailing the OnObjectUpdate method
        1. What just happened?
        2. Did I win—checking the losing conditions with OnLayerUpdate
      40. Time for action — detailing the OnLayerUpdate method
        1. What just happened?
        2. Have a go hero — adding an enemy ship
      41. One last thing—creating a FLASH game
      42. Summary
    12. 5. Game #4, Chain Reaction
      1. Modifying the HTML5 canvas size
      2. Time for action — modifying canvas size
      3. Some development basics
        1. Frameworks/modules
        2. Sprite sheets
        3. Content scaling
        4. Touch input
        5. Suspend and Resume events
        6. Animation
      4. Game resources
      5. Game objects
        1. Layers
        2. Title screen
        3. Game background
        4. Atom tiles
        5. Game info text
      6. The basic app structure
      7. Time for action — creating the main source file and its folders
        1. What just happened?
      8. The data storage
      9. Time for action — creating the data structure
        1. What just happened?
      10. First changes to the OnCreate event
      11. Time for action — first changes to the OnCreate method
        1. What just happened?
      12. Detailing the OnRender event
      13. Time for action — detailing the OnRender method
        1. What just happened?
      14. Setting up the game objects
        1. Sound effects
      15. Time for action — loading the game sound effects
        1. What just happened?
        2. Game layers
      16. Time for action — creating layers for the game
        1. What just happened?
      17. Game screen
        1. Click here — Adding buttons
      18. Time for action — creating buttons
        1. What just happened?
        2. The info text objects
      19. Time for action — creating info text objects
        1. What just happened?
        2. The actual game screen
      20. Time for action — composing the game screen
        1. What just happened?
        2. Title screen
      21. Time for action — creating the title screen
        1. What just happened?
      22. Finalizing the OnCreate event
      23. Time for action — finalizing the OnCreate method
        1. What just happened?
      24. Helper functions for the update process
        1. Creating the atom elements
          1. Collision circle objects
      25. Time for action — creating collision circles
        1. What just happened?
        2. Atom elements
      26. Time for action — creating the atom elements
        1. What just happened?
        2. Starting a new game
      27. Time for action — creating a StartNewGame method
        1. What just happened?
        2. Time-related movement
      28. Time for action — implementing the GetDeltaTime method
        1. What just happened?
        2. Updating the info text objects
      29. Time for action — creating a method to update the text information
        1. What just happened?
      30. Detailing the OnUpdate event
      31. Time for action — finalizing the OnUpdate method
        1. What just happened?
      32. Introducing the OnSuspend event
      33. Time for action — modifying the OnSuspend event
        1. What just happened?
      34. Introducing the OnResume event
      35. Time for action — updating the OnResume method
        1. What just happened?
      36. The heart of the game - the engine class
        1. What are transitions?
        2. Touch me — acting on touch hits
      37. Time for action — enhancing the OnObjectTouch method
        1. What just happened?
        2. The eagle has landed—a transition is finished
      38. Time for action — detailing the OnObjectTransition method
        1. What just happened?
        2. It's about time—timer events
      39. Time for action — acting on timer events
        1. What just happened?
        2. Captain! Collision ahead!—doing collision checks
      40. Time for action — detailing the collision detection
        1. What just happened?
        2. Have a go hero — enhancing Chain Reaction
      41. Creating an Android app
        1. Changing icons
        2. Do a name change
        3. Signing an application for the market
      42. Summary
    13. 6. Game #5, Balls Out!
      1. Which frameworks and modules are used?
      2. Game resources
      3. Our lovely game objects
        1. Layers
        2. The title screen
        3. Game background
        4. The ball
        5. Enemies
        6. The ball tiles
      4. The basic app structure
      5. Time for action — creating the basic file structure
        1. What just happened?
      6. Modifying the HTML5 canvas size for testing
      7. Time for action — modifying the HTML5 output
      8. The data storage
      9. Time for action — creating the data structure
        1. What just happened?
      10. First changes to the OnCreate event
      11. Time for action — first changes to the OnCreate method
        1. What just happened?
      12. Detailing the OnRender event
      13. Time for action — detailing the OnRender method
        1. What just happened?
      14. Setting up the game objects
        1. Make some noise—sound effects
      15. Time for action — loading the game sound effects
        1. What just happened?
        2. Lay your head on me—the game layers
      16. Time for action — creating layers for the game
        1. What just happened?
        2. Our beloved play field—the background screen
          1. Buttons—I need more text buttons!
      17. Time for action — creating text buttons
        1. What just happened?
          1. The background screen as usual
      18. Time for action — composing the game screen
        1. What just happened?
        2. Give it a name—the title screen
      19. Time for action — creating the title screen
        1. What just happened?
      20. Finalizing the OnCreate event
      21. Time for action — finalizing the OnCreate method
        1. What just happened?
      22. Helper methods for the update process
        1. Creating the tiles
      23. Time for action — creating the tiles
        1. What just happened?
        2. The main actor—creating the ball
      24. Time for action — creating the ball
        1. What just happened?
        2. Have a go hero — Add more player balls
      25. The bad guys—our beloved enemies
      26. Time for action — creating the enemy class
        1. What just happened?
      27. More helper functions
        1. Spawning an enemy
      28. Time for action — spawning an enemy
        1. What just happened?
        2. Starting a new game
      29. Time for action — creating a StartNewGame method
        1. What just happened?
      30. Bring me up-to-date—detailing the OnUpdate event
      31. Time for action — detailing the OnUpdate method
        1. What just happened?
      32. Eye candy—particle effects
        1. The particle emitter class
      33. Time for action — creating the particle emitter class
        1. What just happened?
        2. The last helper method
      34. Time for action — spawning a particle emitter
        1. What just happened?
      35. The heart of the game—the engine class
        1. Touch me—acting on touch hits
      36. Time for action — enhancing the OnObjectTouch method
        1. What just happened?
        2. Controlling the ball—acting on object update events
      37. Time for action — acting on object update events
        1. What just happened?
        2. What's the situation? Layer update events
      38. Time for action — acting on layer update events
        1. What just happened?
        2. We reached our parking position—a transition is done
      39. Time for action — detailing the OnObjectTransition method
        1. What just happened?
        2. Bump bump—checking for collisions
      40. Time for action — detailing the collision detection
        1. What just happened?
        2. Have a go hero — enhancing a chain reaction
      41. Creating an iOS app
      42. Summary
    14. 7. Game #6, At The Docks
      1. Frameworks and modules used
      2. Game resources
      3. The game objects
        1. Layers
        2. The default layer
        3. The title screen
        4. Game screen
        5. Wall tiles
        6. Floor tiles
        7. Target tiles
        8. Crate tiles
        9. The player machine
      4. The basic app structure
      5. Time for action — creating the basic file structure
        1. What just happened?
      6. Modifying the HTML5 canvas size for testing
      7. Time for action — modifying the HTML5 output
        1. What just happened?
      8. The storage for our data
      9. Time for action — creating the data structure
        1. What just happened?
      10. Setting up the game objects
        1. Slice over slice—game layers
      11. Time for action — creating layers for the game
        1. What just happened?
        2. The second-most important part—a title screen
      12. Time for action — creating the title screen
        1. What just happened?
      13. Detailing the OnCreate event
      14. Time for action — finalizing the OnCreate method
        1. What just happened?
      15. Some flexible methods for the update process
        1. Lads and gents… the main actor
      16. Time for action — creating the player
        1. What just happened?
        2. The level maps—loading the tiles
      17. Time for action — loading the level tiles
        1. What just happened?
        2. On your marks—starting a new game
      18. Time for action — creating a StartNewGame method
        1. What just happened?
      19. Bring me up-to-date—detailing the OnUpdate event
      20. Time for action — detailing the OnUpdate method
        1. What just happened?
      21. And action!—the engine class
        1. Move it… object updates
      22. Time for action — updating each object
        1. What just happened?
        2. Push push—checking for collisions
      23. Time for action — detailing collision detection
        1. What just happened?
        2. I can't see it anymore—the transition is finished!
      24. Time for action — detailing the OnLayerTransition method
        1. What just happened?
        2. Have a go hero — enhancing At The Docks
      25. Creating a XNA app
      26. Summary
    15. 8. Game #7, Air Dogs 1942
      1. Frameworks and modules used
      2. No silver, no gold, but… our game resources!
      3. The game objects
        1. Layers
        2. The title screen
        3. Game background
        4. The player plane
        5. The enemy plane
        6. Bullets
        7. Clouds
        8. Info text
        9. Smoke particles
        10. Explosions
      4. The basic app structure
      5. Time for action — setting up the basic file structure
        1. What just happened?
      6. Storing data
      7. Time for action — creating the data structure
        1. What just happened?
      8. First changes to the OnCreate event
      9. Time for action — first changes to the OnCreate method
        1. What just happened?
      10. Setting up the game objects
        1. Making some noise… sound effects!
      11. Time for action — loading the game sound effects
        1. What just happened?
        2. Lay your head on me… the game layers
      12. Time for action — creating layers for the game
        1. What just happened?
        2. Over high ground—the background screen
      13. Time for action — composing the background screen
        1. What just happened?
        2. Hope it won't rain—creating the clouds
      14. Time for action — creating the clouds
        1. What just happened?
        2. What is going on?—creating info text objects
      15. Time for action — creating info text objects
        1. What just happened?
        2. What are we playing here?—The title/menu screen
      16. Time for action — creating the title screen
        1. What just happened?
      17. Finalizing the OnCreate event
      18. Time for action — finalizing the OnCreate method
        1. What just happened?
      19. Methods for the update process
        1. The hero—spawning the player plane
      20. Time for action — spawning the player plane
        1. What just happened?
        2. Spawning an enemy
      21. Time for action — spawning an enemy plane
        1. What just happened?
        2. Starting a new game
      22. Time for action — creating a StartNewGame method
        1. What just happened?
      23. Detailing the OnUpdate event
      24. Time for action — detailing the OnUpdate method
        1. What just happened?
      25. Making it look nicer—some particle effects
        1. Emitting smoke
      26. Time for action — emitting the smoke
        1. What just happened?
        2. Boom!—Emitting explosions
      27. Time for action — creating the explosion
        1. What just happened?
        2. Pow!—spawning a shot
      28. Time for action — spawning a shot
        1. What just happened?
      29. The brain—Computer AI (Artificial Intelligence)
        1. Follow him!—creating a brain for the enemy pilot
      30. Time for action — following the player
        1. What just happened?
      31. The heart of the game—the engine class
        1. Time management—acting on object timer events
      32. Time for action — enhancing the OnObjectTimer method
        1. What just happened?
        2. It is gone!—a transition is done
      33. Time for action — detailing the OnObjectTransition method
        1. What just happened?
        2. Controlling the player plane—acting on object update events
      34. Time for action — acting on object update events
        1. What just happened?
        2. Hit it!—handling collision response
      35. Time for action — detailing the collision response
        1. What just happened?
        2. Did I win?—layer update events
      36. Time for action — acting of layer update events
        1. What just happened?
        2. Have a go hero — enhancing the game
      37. Creating a GLFW app
      38. Summary
    16. 9. Game #8, Treasure Chest
      1. Frameworks and modules used
      2. Reusing code
      3. The parts of the game... resources
      4. And here they are… the game objects!
        1. Layers
        2. Our precious title screen
        3. A menu screen
        4. The "high-score" screen
        5. A game background
        6. The worthy gems
        7. The gem selector
        8. Particle effects
      5. Preparation… the basic app and project structure
      6. Time for action — creating the basic file structure
        1. What just happened?
      7. Creating 2D arrays
      8. Time for action — creating 2D arrays
        1. What just happened?
      9. Storing information… the data storage
      10. Time for action — creating the data structure
        1. What just happened?
      11. First changes to the OnCreate event
      12. Time for action — first changes to the OnCreate method
        1. What just happened?
      13. About the OnRender event
      14. Setting up the game objects
        1. Klick, bang, swoosh… the sound effects!
      15. Time for action — loading the game sound effects
        1. What just happened?
        2. Lay your head on me…. the game layers
      16. Time for action — creating layers for the game
        1. What just happened?
        2. Our beloved play field—the background screen
      17. Time for action — composing the background screen
        1. What just happened?
        2. Give it a name… the title screen
      18. Time for action — creating the title screen
        1. What just happened?
        2. Game over… creating the "game over" screen
      19. Time for action — creating the "game over" screen
        1. What just happened?
      20. The menu please… creating the menu screen
        1. Buttons … I need more text buttons!
      21. Time for action — creating text buttons
        1. What just happened?
        2. The menu screen
      22. Time for action — creating the menu screen
        1. What just happened?
        2. What is the score?… creating the high-score screen
      23. Time for action — creating the score screen
        1. What just happened?
        2. Layer activation
      24. Time for action — creating the activate layer method
        1. What just happened?
      25. Finalizing the OnCreate event
      26. Time for action — finalizing the OnCreate method
        1. What just happened?
      27. Dealing with the high-score list
        1. Loading and saving the list
      28. Time for action — loading and saving the high-score list
        1. What just happened?
        2. Showing the high-score screen
      29. Time for action — showing the high-score list
        1. What just happened?
      30. Managing the tile map
        1. Getting tile map slot IDs
      31. Time for action — getting tile slot IDs
        1. What just happened?
        2. Setting tile map slot IDs
      32. Time for action — setting a tile slot ID
        1. What just happened?
      33. Check/mark the neighboring tiles
      34. Time for action — checking neighboring horizontal tiles
      35. Time for action — check neighboring vertical tiles
        1. What just happened?
        2. Clearing tiles
      36. Time for action — clearing the tile map
        1. What just happened?
        2. Counting matching tiles
      37. Time for action — counting matching tiles
        1. What just happened?
        2. The precious one… creating a gem
      38. Time for action — creating a gem
        1. What just happened?
        2. Refilling the tile map
      39. Time for action — refilling the tile map
        1. What just happened?
      40. Methods for the update process
        1. Starting a new game
      41. Time for action — creating a StartNewGame method
        1. What just happened?
        2. Give me some information… displaying info
      42. Time for action — updating the text info
        1. What just happened?
        2. Showing the "game over" screen
      43. Time for action — showing the "game over" screen
        1. What just happened?
        2. Showing the menu screen
      44. Time for action — showing the menu
        1. What just happened?
      45. Bring me up-to-date—detailing the OnUpdate event
      46. Time for action — detailing the OnUpdate method
        1. What just happened?
      47. Vroom… vroom—the engine class
      48. Eye candy—particle effects
      49. Time for action — spawning an explosion
        1. What just happened?
        2. Tick tock… acting on object timer events
      50. Time for action — acting on object timer events
        1. What just happened?
        2. Touch me—acting on Touch checks
      51. Time for action — enhancing the OnObjectTouch method
        1. What just happened?
        2. We've reached our parking position… a transition is done
      52. Time for action — detailing the OnObjectTransition method
        1. What's the situation?… layer update events
      53. Time for action — acting on layer update events
        1. What just happened?
        2. Have a go hero — enhancing Treasure Chest
      54. Summary
    17. 10. Make Some Money for Bananas
      1. Which markets exist for your game?
        1. iOS
        2. OSX
        3. Android
        4. XNA
        5. HTML5/FLASH
      2. Existing methods of making money
        1. Selling your game at a fixed price
        2. Subscriptions
        3. Advertisement
        4. In-App purchases
      3. Implementing advertising in your app
        1. Which ad providers exist?
        2. Implementing AdMob
          1. iOS
          2. Android
      4. Implementing MobFox in iOS
        1. Signing up at MobFox
        2. Creating the ID for an iOS app in MobFox
      5. Time for action — creating a new MobFox app ID
        1. What just happened?
        2. Implementing MobFox into your XCODE project
      6. Time for action — adding the MobFox framework to the XCODE project
        1. What just happened?
        2. Displaying MobFox ads in the app
      7. Time for action — modifying the code to display ads
        1. What just happened?
          1. Activating real ads
      8. Implementing MobFox in Android
        1. Creating the ID for an Android app in MobFox
      9. Time for action — creating a new MobFox app ID
        1. What just happened?
        2. Implement MobFox into your Android project
      10. Time for action — modifying the project to display ads in Android
        1. What just happened?
        2. Adding a backfill through InMobi
          1. Signing up at InMobi
          2. Create an Android app in InMobi
      11. Time for action — creating an app ID in InMobi
        1. What just happened?
          1. Setting the backfill option in MobFox
      12. Time for action — add a backfill in MobFox
        1. What just happened?
      13. Publishing in the Android market
        1. Create app icons
        2. Change the app label and the package name
        3. Setting the version code and name
        4. Rename the app package
        5. Remove the debug key from the package
        6. Create a private key to sign the app with
        7. Sign the package with your new private key
        8. Zipalign your app package
      14. Publishing in Apple's App Store
        1. Add the app icons
      15. Time for action — adding an icon to the Xcode project
        1. What just happened?
      16. Time for action — setting the product name in the target settings
        1. What just happened?
        2. Set the distribution code signing profile
      17. Time for action — setting the distribution code signing profile
        1. What just happened?
        2. Create a package to submit
      18. Time for action — creating the app package
        1. What just happened?
      19. Summary
    18. Index