iOS Game Development
   When Cocoa Met Cocos...




                      Joseph Ku (Chieh-Fang Ku)
                         chiehfang.ku@gmail.com
Outline
Where to start?...     Why cocos2d?

Let Apple help you!    Game design concepts

Piece of cake?         Elements of cocos2d

Game engines for       Last but not least...
iOS?
                       References
What’s cocos2d?


                                                       v1.0.2
                                         Build 201105100800
Who am I?
Joseph Ku (Chieh-Fang Ku)(@josephku)

  I started to learn programming since 1990,
  because I wanted to be a game
  programmer.

A video gamer since 1985

A Linux user since 1996

Ruby lover and Guitar Hero rocker
Who am I?

Game development history
  1989: My first board game -          喰       (not published)

  1991: My first RPG game - The Legend of Love (not for public)

       All written in x86 Assembly language

  1992: Audio card driver of Rich 2

  (...Time flies......)


                                                  To be continue...
Who am I?

Game development history
  2003: Former contributor of Crystal Space (3D game engine)

  2004: Experimental 3D game engine - JBOX

  (...Time flies again......)

  2010: My second board game - 5 Elements (Ready to sell)

      Nobody bird me...... Orz
Before we start...


Don’t take any notes. This slide will be
published with CC BY-NC-ND.



You could interrupt me anytime.
Before we start...
Layers of iOS

  Cocoa Touch

  Media

  Core Services

  Core OS
Before we start...

iOS SDK
  XCode Tools

     XCode

     Interface Builder

     Instruments

  iOS Simulator

  iOS Developer Library
Before we start...
480x320

  iPhone, iPhone 3G, iPhone 3GS, iPod Touch

960x640 (Retina Display)

  iPhone 4, iPod Touch 4G

1024x768

  iPad, iPad2
Let Apple help you!
Game Kit
Let Apple help you!
OpenGL ES 2.0

UIKit

Core Animation

AV Foundation Framework

Accelerometer

HTTP
Let Apple help you!


In-App Purchase

iAds

Airplay
Piece of cake?

It’s is not as easy as you thought!

Better than developing games on PS2

  PS2: CPU 294.912MHz, RAM 32MB

  iPhone: 800 MHz, RAM 512MB

Multiple function device
Babe, you are not alone

 Backgrounded

 Phone call

 Home button pressed

 SMS message

 etc.
Endless tuning

One second is a long time

Load the assets you need interactively with
the player

Optimize loading times

Playing again and again and again
Game Engines for iOS
iTorque 2D

  Full source. No royalties. One price.

  $99

Corona

  Free as a trial

  $199/year
Game Engines for iOS
Unity

  Professional 3D game engine

  $400

SIO2 Engine

  3D game engine

  $499.99. Including source code.
Cocos2d
What’s cocos2d?

Accurate name: cocos2d for iPhone

Based on Cocos2d which was written in
Python

Written in Objective-C

App Store approved

  More than 2500 games use it
Why cocos2d?
Free.

  Open source game engine

  MIT license

Integrated with Box2D and Chipmunk

Supports Retina Display

Integrated Pause/Resume
Game design concepts


Graphics

Audio

Input

(AI)
Game design concepts


Render Frame -> Game Sim -> User Input

Render Frame -> User Input -> Game Sim

CADisplayLink -> Render Frame -> User Input
-> Game Sim
Game design concepts
Flow
Elements of cocos2d
CCDirector

Draw & Update

Scene & Layer

CCNode

  CCSprite

CCAction
Elements of cocos2d
Last but not least...

External display support

  New UIScreen

  “View Programming Guide for iOS”

     Windows -> Displaying Content on an
     External Display

     Added on 2011-03-08
Demo
Demo
Last but not least...

Keep watching on AirPlay APIs

How about writing a game for Mac App
Store?

Be a real game developer

  Game Programming Gems series

  Game Developer Magazine
References

iTorque2D

   http://www.garagegames.com/products/torque-2d/iphone

Corona

   http://www.anscamobile.com/corona/

Unity

   http://unity3d.com/
References

Shadow Era

   http://www.shadowera.com/

SIO2 Engine

   http://sio2interactive.com/

Cocoa2D for iPhone

   http://www.cocos2d-iphone.org/
References

Game Kit Programming Guide

   http://developer.apple.com/library/ios/documentation/
   NetworkingInternet/Conceptual/GameKit_Guide/

View Programming Guide for iOS

   http://developer.apple.com/library/ios/documentation/
   WindowsViews/Conceptual/ViewPG_iPhoneOS/
References


Game Programming Gems

   http://www.gameprogramminggems.com/

Game Developer Magazine

   http://www.gdmag.com/
Any questions?

iOS Game Development: When Cocoa Met Cocos...

  • 1.
    iOS Game Development When Cocoa Met Cocos... Joseph Ku (Chieh-Fang Ku) chiehfang.ku@gmail.com
  • 2.
    Outline Where to start?... Why cocos2d? Let Apple help you! Game design concepts Piece of cake? Elements of cocos2d Game engines for Last but not least... iOS? References What’s cocos2d? v1.0.2 Build 201105100800
  • 3.
    Who am I? JosephKu (Chieh-Fang Ku)(@josephku) I started to learn programming since 1990, because I wanted to be a game programmer. A video gamer since 1985 A Linux user since 1996 Ruby lover and Guitar Hero rocker
  • 4.
    Who am I? Gamedevelopment history 1989: My first board game - 喰 (not published) 1991: My first RPG game - The Legend of Love (not for public) All written in x86 Assembly language 1992: Audio card driver of Rich 2 (...Time flies......) To be continue...
  • 5.
    Who am I? Gamedevelopment history 2003: Former contributor of Crystal Space (3D game engine) 2004: Experimental 3D game engine - JBOX (...Time flies again......) 2010: My second board game - 5 Elements (Ready to sell) Nobody bird me...... Orz
  • 6.
    Before we start... Don’ttake any notes. This slide will be published with CC BY-NC-ND. You could interrupt me anytime.
  • 7.
    Before we start... Layersof iOS Cocoa Touch Media Core Services Core OS
  • 8.
    Before we start... iOSSDK XCode Tools XCode Interface Builder Instruments iOS Simulator iOS Developer Library
  • 9.
    Before we start... 480x320 iPhone, iPhone 3G, iPhone 3GS, iPod Touch 960x640 (Retina Display) iPhone 4, iPod Touch 4G 1024x768 iPad, iPad2
  • 10.
    Let Apple helpyou! Game Kit
  • 11.
    Let Apple helpyou! OpenGL ES 2.0 UIKit Core Animation AV Foundation Framework Accelerometer HTTP
  • 12.
    Let Apple helpyou! In-App Purchase iAds Airplay
  • 13.
    Piece of cake? It’sis not as easy as you thought! Better than developing games on PS2 PS2: CPU 294.912MHz, RAM 32MB iPhone: 800 MHz, RAM 512MB Multiple function device
  • 14.
    Babe, you arenot alone Backgrounded Phone call Home button pressed SMS message etc.
  • 15.
    Endless tuning One secondis a long time Load the assets you need interactively with the player Optimize loading times Playing again and again and again
  • 16.
    Game Engines foriOS iTorque 2D Full source. No royalties. One price. $99 Corona Free as a trial $199/year
  • 17.
    Game Engines foriOS Unity Professional 3D game engine $400 SIO2 Engine 3D game engine $499.99. Including source code.
  • 18.
  • 19.
    What’s cocos2d? Accurate name:cocos2d for iPhone Based on Cocos2d which was written in Python Written in Objective-C App Store approved More than 2500 games use it
  • 20.
    Why cocos2d? Free. Open source game engine MIT license Integrated with Box2D and Chipmunk Supports Retina Display Integrated Pause/Resume
  • 21.
  • 22.
    Game design concepts RenderFrame -> Game Sim -> User Input Render Frame -> User Input -> Game Sim CADisplayLink -> Render Frame -> User Input -> Game Sim
  • 23.
  • 24.
    Elements of cocos2d CCDirector Draw& Update Scene & Layer CCNode CCSprite CCAction
  • 25.
  • 26.
    Last but notleast... External display support New UIScreen “View Programming Guide for iOS” Windows -> Displaying Content on an External Display Added on 2011-03-08
  • 27.
  • 28.
  • 29.
    Last but notleast... Keep watching on AirPlay APIs How about writing a game for Mac App Store? Be a real game developer Game Programming Gems series Game Developer Magazine
  • 30.
    References iTorque2D http://www.garagegames.com/products/torque-2d/iphone Corona http://www.anscamobile.com/corona/ Unity http://unity3d.com/
  • 31.
    References Shadow Era http://www.shadowera.com/ SIO2 Engine http://sio2interactive.com/ Cocoa2D for iPhone http://www.cocos2d-iphone.org/
  • 32.
    References Game Kit ProgrammingGuide http://developer.apple.com/library/ios/documentation/ NetworkingInternet/Conceptual/GameKit_Guide/ View Programming Guide for iOS http://developer.apple.com/library/ios/documentation/ WindowsViews/Conceptual/ViewPG_iPhoneOS/
  • 33.
    References Game Programming Gems http://www.gameprogramminggems.com/ Game Developer Magazine http://www.gdmag.com/
  • 34.