iOS Game Development: When Cocoa Met Cocos...

Post on 13-Jan-2015

3,414 views 1 download

Tags:

description

 

transcript

iOS Game DevelopmentWhen Cocoa Met Cocos...

Joseph Ku (Chieh-Fang Ku)chiehfang.ku@gmail.com

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 Programming Gems

http://www.gameprogramminggems.com/

Game Developer Magazine

http://www.gdmag.com/

Any questions?