ios game development: when cocoa met cocos
DESCRIPTION
TRANSCRIPT
iOS Game DevelopmentWhen Cocoa Met Cocos...
Joseph Ku (Chieh-Fang Ku)[email protected]
Outline
Where to start?...
Let Apple help you!
Piece of cake?
Game engines for iOS?
What’s cocos2d?
Why cocos2d?
Game design concepts
Elements of cocos2d
Last but not least...
References
v1.0.2Build 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?