Book Image

Mastering Cocos2d Game Development

By : Alex Ogorek
Book Image

Mastering Cocos2d Game Development

By: Alex Ogorek

Overview of this book

Table of Contents (15 chapters)
Mastering Cocos2d Game Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • analytics
    • about / Analytics and user data
  • Apple iOS program
    • using / Step 1 – become a developer through Apple's iOS program
    • URL / Step 1 – become a developer through Apple's iOS program
  • app review websites
    • URL / App review sites
  • audio types
    • difference / Seeing the difference in audio types
    • URL / Seeing the difference in audio types

B

  • BMFont
    • saving, file suffixes used / Saving your BMFont using file suffixes
    • saving, directories used / Saving your BMFont using directories
    • exporting / Exporting the BMFont and importing to Xcode
    • importing, to Xcode / Exporting the BMFont and importing to Xcode
  • body
    • about / Overall structure of Chipmunk
  • button press visuals
    • about / Button press visuals
    • CCButton class, modifying / Modifying the CCButton class
    • units, combining / Pulse on unit combine
  • buttons
    • creating, via CCButton / Creating buttons via CCButton and CCLayout
    • creating, via CCLayout / Creating buttons via CCButton and CCLayout
    • Restart button, adding / Adding the Restart button
  • buttons, game
    • creating / Creating buttons and text (labels)
  • Bézier curve
    • movements, creating on / Creating movements on a Bézier curve
    • examples / Examples of using a Bézier curve
    • map route / Sample project – Bézier map route
    • curved M-shape / Curved M-shape

C

  • CCButton
    • buttons, creating via / Creating buttons via CCButton and CCLayout
  • CCLayout
    • buttons, creating via / Creating buttons via CCButton and CCLayout
  • CCPhysicsBody
    • adding / Making the objects fall – adding CCPhysicsBody
  • Chipmunk
    • defining / Learn how Chipmunk works
    • structure / Overall structure of Chipmunk
    • physics bodies, types / Types of bodies
    • static bodies / Types of bodies
    • dynamic bodies / Types of bodies
    • kinematic bodies / Types of bodies
    • used, for collision detection / Using Chipmunk for just collision detection
    • physics body, turning into sensor / Turning the physics body into a sensor
  • class
    • implementing, into official CCScene subclass / Turning a class into an official CCScene subclass
  • Cocos2d
    • downloading / Step 3 – download Cocos2d (via SpriteBuilder)
    • downloading, URL / Step 3 – download Cocos2d (via SpriteBuilder)
    • setting up / Setting up Cocos2d for use with physics
    • Chipmunk physics, creating / Building a world for physics to exist
  • Cocos2d-Swift GitHub repository
    • URL / Git and GitHub/Bitbucket
  • Cocos2d engine
    • working / Overview of how the Cocos2d engine works
  • collision detection
    • Chipmunk, using for / Using Chipmunk for just collision detection
  • collisions, in Chipmunk
    • handling / Handling collisions in Chipmunk
    • collision delegate, setting / Setting the collision delegate
    • collision tags, setting on game objects / Setting collision tags on game objects
    • detecting / Detecting collision

D

  • D-pad adaptation
    • versus touchscreen controls / Touchscreen controls versus D-pad adaptation (and why it matters so much to know this distinction)
  • data
    • tracking / Tracking and visualizing the data
    • visualizing / Tracking and visualizing the data
  • default image
    • adding / Adding a default image
    • loading screen, adding / Adding the loading screen
    • LoadingScene, using from MainScene / Switching to LoadingScene from MainScene
  • depth perception, via device tilting
    • about / Depth perception via device tilting
    • parallax scrolling / Isn't this parallax scrolling?
    • Depth sample project / Sample project – depth
    • parallax node, creating / Creating the parallax node and adding the objects
    • objects, adding / Creating the parallax node and adding the objects
    • depth, visualizing / Visualizing the depth
    • equilibrium, restoring / Restoring equilibrium (calibrating to the new rotation)
    • scrolling example / A quick scrolling example
  • directories
    • versus file suffixes / File suffixes versus directories
    • about / File suffixes versus directories
    • used, for saving BMFont / Saving your BMFont using directories

E

  • enemies
    • interacting with / Interaction with enemies and scoring

F

  • file
    • creating, for scene / Creating a new file for the scene
  • file suffixes
    • versus directories / File suffixes versus directories
    • about / File suffixes versus directories
    • used, for saving BMFont / Saving your BMFont using file suffixes
  • Flurry
    • about / Analytics and user data
    • benefits / Analytics and user data
    • signing up for / Signing up for Flurry
    • URL / Signing up for Flurry
    • adding, to project / Adding Flurry to your project
  • Flurry API
    • URL / Logging events

G

  • GAF
    • about / Choosing tools and getting started, GAF
    • URL / GAF
  • game
    • initial code, creating / Creating the initial code for the scene to open
    • running, on simulator / Run it on the simulator – doesn't require an iOS developer license
    • running, on device / Run it on the device – requires an iOS developer license
    • button, linking / Linking the button in the game to go to the menu
    • button, linking in menu / Creating and linking a button in the menu to go to the game
    • button, creating in menu / Creating and linking a button in the menu to go to the game
    • releasing / Releasing the game and steps after it
    • updating / After submission
    • beta testers / Beta testers and the target market
    • app review sites / App review sites
    • sources / Other sources of information
  • Game Center leaderboards
    • about / Game Center leaderboards
    • App ID, creating / Creating the App ID
    • app, creating in iTunes Connect / Creating the app in iTunes Connect
    • creating / Creating the leaderboard
    • GameKit framework, adding / Adding the GameKit framework
    • GameKit helper files / GameKit helper files
    • user, authenticating / Authenticating the user
    • Game Center button, creating / Creating the Game Center button
    • score, submitting / Submitting the score
  • game mindset
    • preparing / Preparing the mindset
    • physics engine, using / The physics engine
    • In-App Purchases (IAPs) / In-App Purchases
    • analytics, using / Making use of analytics
    • complex mechanics / Complex mechanics and special effects
    • special effects / Complex mechanics and special effects
    • complex mechanics / Complex mechanics and special effects
  • games
    • sharing, on Facebook / Sharing on Facebook and Twitter (and more)
    • sharing, on Twitter / Sharing on Facebook and Twitter (and more)
    • built-in share feature, using / Using the built-in share feature
    • Share button, creating / Creating the Share button
    • variable, creating for current score / Creating a variable for the current score
    • UIActivityView object, creating / Creating the UIActivityView object
    • UIActivityViewController, displaying / Displaying UIActivityViewController
    • screenshot, adding to share / Adding a screenshot to the share
  • ghosts
    • creating / Three ways to make unit streamers or "ghosts"
    • sample project / Sample project – ghosts
    • particle systems / Method 1 – particle systems
    • sprites / Method 2 – sprites or nodes
    • nodes / Method 2 – sprites or nodes
    • constant line / Method 3 – constant line
  • Git
    • about / Choosing tools and getting started, Git and GitHub/Bitbucket
    • URL / Git and GitHub/Bitbucket
  • GitHub/Bitbucket
    • about / Choosing tools and getting started, Git and GitHub/Bitbucket
  • GKHelper class
    • URL / GameKit helper files
  • Glyph Designer / Choosing tools and getting started
    • about / Glyph Designer
    • URL / Glyph Designer
  • goals
    • setting / Setting flexible, focused goals
    • expand / Expand
    • focus / Focus
    • flexible / Flex
  • gravity
    • setting, by tilting device / Setting gravity by tilting the device
    • accelerometer, setting up / Setting up the accelerometer
    • data, reading / Reading the data
    • manipulating / Manipulating gravity to your heart's content
  • ground object
    • creating / Adding the ground and walls

I

  • icons
    • about / Icons
    • template / Template
    • adding, to project / Adding the icons to the project
    • asset catalog, using / Asset catalog
  • IDE
    • downloading / Downloading the IDE and Source Code
  • In-App Purchases (IAPs)
    • about / In-App Purchases
    • references / In-App Purchases
  • iOS game controls
    • examples / Bad examples of iOS game controls
  • iTunes Connect
    • app, preparing on / Preparing the app on iTunes Connect
    • URL / Preparing the app on iTunes Connect

L

  • labels, game
    • creating / Creating buttons and text (labels)
    • CCLabelTTF, using / Let's get some text displayed – CCLabelTTF
    • CCLabelBMFont, using / Let's get some text displayed – CCLabelBMFont
  • log events
    • about / Logging events
  • loop background music
    • playing / Playing sound effects and loop background music
    • setting / Getting some background music going

M

  • menus
    • creating / Creating menus, scenes, and scene transitions
  • movements
    • creating, on Bézier curve / Creating movements on a Bézier curve

N

  • nodes
    • creating / Creating nodes and units (sprites)
  • NSNotificationCenter
    • using / Talking between scenes

O

  • OALSimpleAudio
    • about / Learning about OALSimpleAudio
    • effects, preloading / Preloading effects
    • files, loading asynchronously / Loading files asynchronously
    • effects, unloading / Unloading effects
  • objects
    • creating / Setting up a project and creating basic objects

P

  • parallax scrolling / Isn't this parallax scrolling?
  • Particle Designer / Choosing tools and getting started
    • about / Particle Designer
    • URL / Particle Designer
  • physics bodies
    • URL / Types of bodies
  • Playgrounds
    • Swift, learning through / Learning Swift through Playgrounds
    • organizing / How Playgrounds are organized
    • results over time, viewing / Viewing the results over time
  • project
    • setting up / Setting up a project and creating basic objects
  • proof of concept
    • about / Why prototype?
  • prototype
    • about / Why prototype?
    • playtesting / Playtesting and feedback analysis
    • feedback analysis / Playtesting and feedback analysis
    • turn-based game / Project for the book
    • turn-based game, implementing / A quick mock-up
    • Cocos2d engine, working / Overview of how the Cocos2d engine works

R

  • Restart button
    • adding / Adding the Restart button

S

  • scenes
    • creating / Creating menus, scenes, and scene transitions
  • scene transitions
    • creating / Creating menus, scenes, and scene transitions
  • slide transition
    • about / Slide transition
    • generic slide function, creating / Creating a generic slide function
    • background, extending / Extending the background
    • scene, replacing with rubber band transition / Replacing the scene with a rubber band transition
    • in MenuScene / Transition in MenuScene
    • in GameOverScene / Transition in GameOver
    • polishing / Other ideas for polishing
  • sliding feature
    • adding, to units / Adding subtle sliding to the units
    • one unit, sliding / Sliding one unit
    • all units, sliding / Sliding all units
  • sound effects
    • playing / Playing sound effects and loop background music
    • sounds, when button clicked on / Sounds when a button is clicked on
    • sounds, on unit movements / Sounds on unit movements
    • sounds, on unit combination / Sounds on unit combination
    • sounds, when user loses / Sounds when the user loses
    • modifying / Modifying the sound effect on the fly
    • volume / The volume (or gain), pitch, and pan
    • pitch / The volume (or gain), pitch, and pan
    • pan / The volume (or gain), pitch, and pan
    • looped sound effects, stopping / Stopping looped sound effects
    • combine sound effect, modifying / Modifying the combine sound effect
    • examples / Other great sound places
  • sound files
    • playing / Prerequisites
  • sounds
    • turning on / Turning sounds on and off
    • turning off / Turning sounds on and off
    • main menu, using / No options or settings? Main menu it is!
    • buttons, creating / Creating the buttons
    • keys, creating / Creating the keys
    • sound and music Boolean, grabbing from NSUserDefaults / Grabbing the sound and music Boolean from NSUserDefaults
    • values, setting / Setting and saving the values
    • values, saving / Setting and saving the values
    • background music and sound, pausing / Pausing/resuming background music and sound
    • background music and sound, resuming / Pausing/resuming background music and sound
    • MainScene sound, handling / Handling MainScene sound
    • GameOverScene, repeating / Repeating for GameOverScene (and any other scenes)
    • AppDelegate music, handling / Handling AppDelegate music
    • sound/music starts, enabling / Making sure that sound/music starts enabled
  • Source Code
    • downloading / Downloading the IDE and Source Code
  • SpriteBuilder
    • new project, creating via / Creating a new project via SpriteBuilder
    • URL / Creating a new project via SpriteBuilder
  • SpriteBuilder projects
    • exporting, to Xcode / Exporting SpriteBuilder projects to Xcode
  • sprite sheets
    • using, with TexturePacker / Begin using sprite sheets with TexturePacker
    • background, setting up / Setting up the background
  • sprite sheets, with TexturePacker
    • saving, to project location / Saving to the project location
    • images, scaling / Scaling the images and publishing the sprite sheet
    • publishing / Scaling the images and publishing the sprite sheet
    • importing / Importing the sprite sheet and loading it into the memory
    • loading, into memory / Importing the sprite sheet and loading it into the memory
  • Swift
    • working / How Swift works
    • learning, through Playgrounds / Learning Swift through Playgrounds
    • about / Learning more about Swift
    • game, creating / Creating a game in Swift instead of Objective-C
    • game, goal / Goal of the game
    • project, starting / Starting a new Swift project
    • font files, adding / Adding the font files
    • Bridging-Header, importing / Importing Bridging-Header and loading MainScene
    • MainScene, loading / Importing Bridging-Header and loading MainScene
    • background, creating / Creating the background, turret, and score label
    • turret, creating / Creating the background, turret, and score label
    • score label, creating / Creating the background, turret, and score label
    • turret, rotating with touchMoved / Rotating the turret with touchMoved
    • bullets, shooting / Shooting some bullets
    • enemies, spawning / Spawning enemies and sending them towards the center
    • GameOverScene class, creating / Transitioning to GameOver
    • collisions, handling / Handling collisions
    • score, counting / Counting the score
    • difficulty, increasing / Increasing the difficulty
  • Swift blog
    • URL / Learning more about Swift

T

  • table
    • adding, for scores / Adding a table for scores
    • CCTableView, versus UITableView / CCTableView versus UITableView
    • high scores (NSUserDefaults), saving / Saving high scores (NSUserDefaults)
    • creating / Creating the table
    • scores, displaying / Showing the scores
  • template
    • URL / Template
  • TexturePacker
    • about / TexturePacker
    • URL, for downloading / TexturePacker
    • using / Not using TexturePacker – A brief how-to
    • sprite sheets, using with / Begin using sprite sheets with TexturePacker
  • Texture Packer / Choosing tools and getting started
  • tools
    • selecting / Choosing tools and getting started
    • Texture Packer / Choosing tools and getting started, TexturePacker
    • Particle Designer / Choosing tools and getting started, Particle Designer
    • Glyph Designer / Choosing tools and getting started, Glyph Designer
    • VertexHelper Pro / Choosing tools and getting started
    • GAF / Choosing tools and getting started, GAF
    • Git / Choosing tools and getting started, Git and GitHub/Bitbucket
    • GitHub/Bitbucket / Choosing tools and getting started, Git and GitHub/Bitbucket
    • VertexHelper / VertexHelper
  • touch creation
    • enabling, of object / Enabling touch creation of our object
  • touchscreen controls
    • versus D-pad adaptation / Touchscreen controls versus D-pad adaptation (and why it matters so much to know this distinction)
    • examples / Great examples of touchscreen controls
  • turn-based game
    • about / Project for the book
    • implementing / A quick mock-up
  • tutorial, game
    • about / Tutorial
    • variable / Tutorial phase variable and the NSUserDefaults key
    • NSUserDefaults key, using / Tutorial phase variable and the NSUserDefaults key
    • text, displaying for each phase / Displaying text for each phase (and CCSprite9Slice)
    • advancing / Advancing the tutorial
    • advanceTutorial function, calling / Advancing in all the right places
    • text, removing / Removing the previous phases' text
    • finger, noticing / Fingers pointing the way
    • nontutorial movement, rejecting / Rejecting non-tutorial movement

U

  • unit
    • defining / Defining and adding a unit to the screen
    • adding, to screen / Defining and adding a unit to the screen
  • units
    • creating / Creating nodes and units (sprites)
    • moving around, with touch controls / Moving the units around with touch controls
  • unit streamers
    • creating / Three ways to make unit streamers or "ghosts"
  • user data
    • about / Analytics and user data

V

  • VertexHelper
    • about / VertexHelper
    • URL / VertexHelper
  • VertexHelper Pro / Choosing tools and getting started

W

  • walls
    • creating / Adding the ground and walls
  • world
    • about / Overall structure of Chipmunk

X

  • Xcode
    • downloading / Step 2 – download and install Xcode
    • installing / Step 2 – download and install Xcode
    • device, adding / Adding a device
    • SpriteBuilder projects, exporting / Exporting SpriteBuilder projects to Xcode