SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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?

Contenu connexe

Tendances

The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineOrisysIndia
 
Unity introduction for programmers
Unity introduction for programmersUnity introduction for programmers
Unity introduction for programmersNoam Gat
 
Habitat Indie Game Development Pre-Post Mortem
Habitat Indie Game Development Pre-Post MortemHabitat Indie Game Development Pre-Post Mortem
Habitat Indie Game Development Pre-Post MortemCharles Cox
 
Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...danielandlubo
 
Unity 3D
Unity 3DUnity 3D
Unity 3Dgema123
 
Casual and Social Games with Unity
Casual and Social Games with UnityCasual and Social Games with Unity
Casual and Social Games with UnityTadej Gregorcic
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine OverviewSharad Mitra
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with UnityPetri Lankoski
 
A Brief Guide to Game Engines
A Brief Guide to Game EnginesA Brief Guide to Game Engines
A Brief Guide to Game EnginesDavid Parsons
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in UnityHakan Saglam
 
Android game engine
Android game engineAndroid game engine
Android game engineJulian Chu
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminarNikhilThorat15
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkGorm Lai
 
Introduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameIntroduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameSarah Sexton
 

Tendances (20)

Unity: Introduction
Unity: IntroductionUnity: Introduction
Unity: Introduction
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game Engine
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
 
Unity 3D, A game engine
Unity 3D, A game engineUnity 3D, A game engine
Unity 3D, A game engine
 
Unity introduction for programmers
Unity introduction for programmersUnity introduction for programmers
Unity introduction for programmers
 
Habitat Indie Game Development Pre-Post Mortem
Habitat Indie Game Development Pre-Post MortemHabitat Indie Game Development Pre-Post Mortem
Habitat Indie Game Development Pre-Post Mortem
 
Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...
 
Unity 3D
Unity 3DUnity 3D
Unity 3D
 
Unity
UnityUnity
Unity
 
Casual and Social Games with Unity
Casual and Social Games with UnityCasual and Social Games with Unity
Casual and Social Games with Unity
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine Overview
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with Unity
 
A Brief Guide to Game Engines
A Brief Guide to Game EnginesA Brief Guide to Game Engines
A Brief Guide to Game Engines
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in Unity
 
Android game engine
Android game engineAndroid game engine
Android game engine
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminar
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Unity 3D VS your team
Unity 3D VS your teamUnity 3D VS your team
Unity 3D VS your team
 
Introduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First GameIntroduction to Unity3D and Building your First Game
Introduction to Unity3D and Building your First Game
 
Game development unity
Game development unityGame development unity
Game development unity
 

Similaire à iOS Game Development with Cocos2d

An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game developmentAhmed
 
Funky game engines
Funky game enginesFunky game engines
Funky game engineseduriez
 
Gaming technology
Gaming technologyGaming technology
Gaming technologymax_montu
 
Gaming Technology Presentation
Gaming Technology PresentationGaming Technology Presentation
Gaming Technology PresentationMrQaz996
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NSai Krishna A
 
How hard can it be - Ui development at keen games
How hard can it be - Ui development at keen gamesHow hard can it be - Ui development at keen games
How hard can it be - Ui development at keen gamesJulien Koenen
 
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutesTroy Miles
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingKobkrit Viriyayudhakorn
 
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x EngineDuy Tan Geek
 
Cross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-jsCross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-jsTroy Miles
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gamingkoolshreeram
 
Socialize and Gaming on the move
Socialize and Gaming on the moveSocialize and Gaming on the move
Socialize and Gaming on the moveRIA RUI Society
 

Similaire à iOS Game Development with Cocos2d (20)

An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
 
Funky game engines
Funky game enginesFunky game engines
Funky game engines
 
Gaming technology
Gaming technologyGaming technology
Gaming technology
 
Gaming technology
Gaming technologyGaming technology
Gaming technology
 
Gaming Technology Presentation
Gaming Technology PresentationGaming Technology Presentation
Gaming Technology Presentation
 
prithiv's gaming technology.pptx
prithiv's gaming technology.pptxprithiv's gaming technology.pptx
prithiv's gaming technology.pptx
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai N
 
How hard can it be - Ui development at keen games
How hard can it be - Ui development at keen gamesHow hard can it be - Ui development at keen games
How hard can it be - Ui development at keen games
 
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutes
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
JRC Seminar (History of Video Game Industry)
JRC Seminar (History of Video Game Industry)JRC Seminar (History of Video Game Industry)
JRC Seminar (History of Video Game Industry)
 
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x Engine
 
Vido game and kinect
Vido game and kinectVido game and kinect
Vido game and kinect
 
Indie Game Development Intro
Indie Game Development IntroIndie Game Development Intro
Indie Game Development Intro
 
Cross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-jsCross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-js
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gaming
 
Socialize and Gaming on the move
Socialize and Gaming on the moveSocialize and Gaming on the move
Socialize and Gaming on the move
 
Zombi - Shoot for Survive
Zombi - Shoot for SurviveZombi - Shoot for Survive
Zombi - Shoot for Survive
 
Kinect
KinectKinect
Kinect
 
Motion Game
Motion GameMotion Game
Motion Game
 

Plus de Joseph Ku

R&B: When Ruby Met Bitcoin
R&B: When Ruby Met BitcoinR&B: When Ruby Met Bitcoin
R&B: When Ruby Met BitcoinJoseph Ku
 
Swift Introduction to Swift in Ruby
Swift Introduction to Swift in RubySwift Introduction to Swift in Ruby
Swift Introduction to Swift in RubyJoseph Ku
 
第一次去 WWDC 就上手
第一次去 WWDC 就上手第一次去 WWDC 就上手
第一次去 WWDC 就上手Joseph Ku
 
手機遊戲開發的兩三事
手機遊戲開發的兩三事手機遊戲開發的兩三事
手機遊戲開發的兩三事Joseph Ku
 
RubyMotion Gets A Cool New Friend: mruby on iOS
RubyMotion Gets A Cool New Friend: mruby on iOSRubyMotion Gets A Cool New Friend: mruby on iOS
RubyMotion Gets A Cool New Friend: mruby on iOSJoseph Ku
 
RubyMotion: Hack Your iOS App Like Never Before
RubyMotion: Hack Your iOS App Like Never BeforeRubyMotion: Hack Your iOS App Like Never Before
RubyMotion: Hack Your iOS App Like Never BeforeJoseph Ku
 
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineRuby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineJoseph Ku
 

Plus de Joseph Ku (7)

R&B: When Ruby Met Bitcoin
R&B: When Ruby Met BitcoinR&B: When Ruby Met Bitcoin
R&B: When Ruby Met Bitcoin
 
Swift Introduction to Swift in Ruby
Swift Introduction to Swift in RubySwift Introduction to Swift in Ruby
Swift Introduction to Swift in Ruby
 
第一次去 WWDC 就上手
第一次去 WWDC 就上手第一次去 WWDC 就上手
第一次去 WWDC 就上手
 
手機遊戲開發的兩三事
手機遊戲開發的兩三事手機遊戲開發的兩三事
手機遊戲開發的兩三事
 
RubyMotion Gets A Cool New Friend: mruby on iOS
RubyMotion Gets A Cool New Friend: mruby on iOSRubyMotion Gets A Cool New Friend: mruby on iOS
RubyMotion Gets A Cool New Friend: mruby on iOS
 
RubyMotion: Hack Your iOS App Like Never Before
RubyMotion: Hack Your iOS App Like Never BeforeRubyMotion: Hack Your iOS App Like Never Before
RubyMotion: Hack Your iOS App Like Never Before
 
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" EngineRuby on Google App Engine: Upgrade to Google App "Turbo" Engine
Ruby on Google App Engine: Upgrade to Google App "Turbo" Engine
 

Dernier

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

iOS Game Development with Cocos2d

  • 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? 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
  • 4. 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...
  • 5. 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
  • 6. Before we start... Don’t take any notes. This slide will be published with CC BY-NC-ND. You could interrupt me anytime.
  • 7. Before we start... Layers of iOS Cocoa Touch Media Core Services Core OS
  • 8. Before we start... iOS SDK 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 help you! Game Kit
  • 11. Let Apple help you! OpenGL ES 2.0 UIKit Core Animation AV Foundation Framework Accelerometer HTTP
  • 12. Let Apple help you! In-App Purchase iAds Airplay
  • 13. 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
  • 14. Babe, you are not alone Backgrounded Phone call Home button pressed SMS message etc.
  • 15. 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
  • 16. Game Engines for iOS iTorque 2D Full source. No royalties. One price. $99 Corona Free as a trial $199/year
  • 17. Game Engines for iOS Unity Professional 3D game engine $400 SIO2 Engine 3D game engine $499.99. Including source code.
  • 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
  • 22. Game design concepts Render Frame -> Game Sim -> User Input Render Frame -> User Input -> Game Sim CADisplayLink -> Render Frame -> User Input -> Game Sim
  • 24. Elements of cocos2d CCDirector Draw & Update Scene & Layer CCNode CCSprite CCAction
  • 26. 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
  • 27. Demo
  • 28. Demo
  • 29. 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
  • 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 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/
  • 33. References Game Programming Gems http://www.gameprogramminggems.com/ Game Developer Magazine http://www.gdmag.com/