Description
Book SynopsisCreate fun and polished games and gamify your apps with GameKit and Game Center. This fully updated new edition of Kyle Richter's classic can help you reach new customers through social integrations, multiplayer, and achievements. Quickly add a level of polish to your apps that used to take weeks of hard work and late nights. Implementing a leaderboard and achievement system has never been so simple! Gone are the days of writing and maintaining your own server. You'll also see how to easily add advanced networking concepts like VoIP support in hours, not days. Game Center is heavily pushed and promoted by Apple. By adding Game Center into your game, not only do you gain access to polished and professional features but your app will see a boost in downloads and sharing. Expeditiously implement a plethora of advanced social networking concepts into your apps. Create custom Game Center Manager classes that can be rapidly deployed into any of your new or existing projects. And jump ri
Table of ContentsChapter 1: Getting Started with Game Kit and Game Center
Game Kit and Game Center a History
Game Center Benefits and Marketing
Game Kit: An Overview
Sample Game: UFOs
UFOs: Examining the Source Code
Getting Started with iTunes Connect
Chapter 2: Game Center: Setting Up and Getting Started
Game Center from the user perspective
Testing for Game Center
Authenticating with Game Center
The Sandbox
Watching for Status Changes
Working with GKLocalPlayer
Retrieving a Friends List
Friend List Avatars
Working with Players
Chapter 3: Leaderboards
Why a Leaderboard?
An Overview of Leaderboards in Game Center
Configuring a Leaderboard in iTunes Connect
Posting a Score
Setting a Default Leaderboard
Adding Score Posting to UFOs
Handling Failures When Submitting a Score
Presenting a Leaderboard
Customizing the Leaderboard
Mapping a Player ID
Local Player Score
A Better Approach
Chapter 4: Achievements
Why Achievements?
An Overview of Achievements in Game Center
Configuring Achievements in iTunes Connect
Resetting Achievements
Adding Achievement Hooks
Chapter 5: Matchmaking and Invitations
Why Add Matchmaking and Invitations to Your App?
Common Matchmaking Scenarios
Creating a New Match Request
Presenting Match GUI
Handling Incoming Invitations
Auto-Matching
Matching Programmatically
Adding a Player to a Match
iOS 5
Reinvites
Player Groups
Player Attributes
Player Activity
Using Your Own Server (Hosted Matches)
Chapter 6: The Peer Picker
Benefits of the Peer Picker
Real-World Examples
Working with Sessions
Presenting a Peer Picker
Advanced GKSession Interaction
The Peer Picker Delegate
Summary
Chapter 7: Network Design Overview
Three Types of Networks
Less Common Networks
Reliable Data vs. Unreliable Data
Sending Only What Is Needed
Prediction and Extrapolation
Formatting Messages
Preventing Cheating and Preventing Timeout-Related Disconnections
What to Do When All Else Fails
Chapter 8: Exchanging Data
Modifying a Single-Player Game
Setting Up Our Engine for Multiplayer
Putting Everything Together
Disconnections
Chapter 9: Turned-Based Gaming with Game Center
A New Sample Project
GKTurnedBasedMatchmakerViewController
Starting a New Game
Making the First Move
Continuing a Game in Progress
Ending a Match
Quitting and Forfeiting
Programmatic Matches
GKTurnBasedEventHandler
Chapter 10: Voice Chat
Voice Chat for Game Center
Voice Chat for Game Kit
Putting It Together
Chapter 11: In-App Purchase with StoreKit
Setting Up Your App in iTunes Connect
Adding Products to Your App
Purchasing a Product
Subscriptions and Renewals
Test Accounts and Testing Purchases
Submitting a Purchase GUI Screenshot
Developer Approval
Receipts
Tying Everything Together in UFOs