iOS Game Development
Developing Games for iPad, iPhone, and iPod Touch
By Thomas Lucka
A K Peters/CRC Press – 2013 – 394 pages
A K Peters/CRC Press – 2013 – 394 pages
To create successful games for the iPhone family of mobile devices, developers need to know how touch-input, real-time graphics, and sound come together in the iOS environment. iOS Game Development: Developing Games for iPad, iPhone, and iPod Touch takes you from the basics of app coding to releasing and marketing your game on the App Store. The book offers a wealth of previously unpublished information about the iOS platform.
The text focuses on the concrete requirements of game developers, presenting in-depth details on each step in the mobile game development process. It explains the use of OpenGL ES for 2D/3D graphics and OpenAL for sound, both of which are recommended for game performance on the iOS platform. It also covers new APIs such as the GLKit, GameKit, and Box2D Physics Engine.
To better understand the explanations, the author encourages you to access more than 30 iOS example apps from his website. Each app represents a small piece of the complex field of game development in a straightforward manner. The apps can be run on any device in the iPhone family and have been extensively tested with various iOS versions.
Suitable for both newcomers and more advanced developers, this color book helps you get started with iOS game development. By following the book’s clear descriptions and example programs, you will understand how to implement the fundamentals in smaller game projects and be able to create your first game for the App Store.
Introduction—Let There Be…Games!
Why Program Games for the iPhone?
Welcome to the World of Apple—the iPhone Phenomenon
The iPhone Family—Specifications
All Beginnings Are Easy
The Basics—How Does It All Work?
The Source of Power—The iOS Dev Center
Downloading and Installing Xcode and the iOS SDK
Using Xcode Templates
Hello World with Console Output
Hello World with Text in a View Instance
Who’s Afraid of Objective-C? A 15-Minute Crash Course
The Life Cycle of an App
Broad Support: Universal Apps
Support for Retina Displays
Game Development from 0 to 60 in No Time Flat
How Do Games Work?
The 2D Coordinate System
Setting Up an Example Project
Integrating, Loading, and Displaying Images
The Game Loop and Frames—Bringing Pictures to Life
Clipping and Animation
Collision Control, Please!
All Together Now: GameManager and Sprite Management
Zappp, Brzzz, Booom, Pennng! Background Music and Sound Effects
Making Connections: Multiplayer Games with Game Kit and Game Center
Setting Up iTunes Connect
The Road to the Game Center Test App
OpenGL ES: Turbocharged!
Why OpenGL ES?
What Is OpenGL ES, and How Is It Constructed?
OpenGL ES: Basic Questions
Properly Integrating OpenGL ES
The OpenGL Coordinate System
Simple Drawing Operations
Digression: Math Plotter
And Pictures? What Is All the Talk about Textures?
Onward to the Matrix: The Transformation Functions
Animations with Texture Clipping
The Final Frontier: Scrolling and Parallax Scrolling
Going Out with a Bang: An OpenGL ES Shooter
Support for Retina Displays under OpenGL ES
The Third Dimension: 3D Games
How Are 3D Games Constructed?
The Basic Framework
The 3D Coordinate System
Drawing Simple Shapes
Texturing 3D Objects
Let There Be Light
Creating, Loading, and Integrating 3D Models
Additional 3D Models with Texture
First-Person Perspective: Setting and Deploying the Camera
Spaceflight: A 3D Game Is Born
On the Trail of Angry Birds—Physics Engine Box2D
How Do I Integrate Box2D?
What Goes Up Must Come Down
Sprites under Box2D
A Box2D Game: Free the Birds
The GLKit Framework—OpenGL ES Made Easy
A First Example
GLKitView and Game Loop
GLKit and 3D—Using a Camera according to the GLU Model
Complete Control: Game Sounds with OpenAL
Encapsulation of the OpenAL API
How Is Sound Formed?
Creating a Polyphonic Sound Engine
Waiting to Be a Millionaire
Your Gateway to the World—iTunes Connect
Test, Test, Test: But How Does a Game Get into My Device?
Release and Distribution