Author(s): Begbie C., Berg M., Briscoe M.
Year: 0
Language: English
Pages: 722
Table of Contents : Extended......Page 9
Introduction......Page 18
About this book......Page 19
iOS game development: a history......Page 21
Who this book is for......Page 22
Whatʼs ahead: an overview......Page 23
Section I: Getting started......Page 24
Section II: Physics and nodes......Page 25
Section III: Tile Maps......Page 26
Section IV: Juice......Page 27
Section V: Other Platforms......Page 28
Section VI: Advanced Topics......Page 29
Section VI: Bonus chapters......Page 30
License......Page 31
Acknowledgements......Page 32
Section I: Getting Started......Page 33
Chapter 1: Sprites......Page 34
Getting started......Page 35
Displaying a sprite......Page 46
Challenges......Page 55
Chapter 2: Manual Movement......Page 58
The SpriteKit game loop......Page 59
Moving the zombie......Page 61
Rotating the zombie......Page 77
Challenges......Page 79
Move action......Page 85
Sequence action......Page 88
Wait-for-duration action......Page 89
Run-block action......Page 90
Reversing actions......Page 91
Repeating actions......Page 94
Periodic spawning......Page 95
Remove-from-parent action......Page 97
Animation action......Page 98
Stopping action......Page 100
Scale action......Page 101
Rotate action......Page 103
Group action......Page 104
Collision detection......Page 105
The SpriteKit game loop, round 2......Page 108
Sound action......Page 109
Sharing actions......Page 110
Challenges......Page 111
Chapter 4: Scenes......Page 116
Win and lose conditions......Page 117
Creating a new scene......Page 119
Transitioning to a scene......Page 121
Creating a custom scene initializer......Page 122
Background music......Page 124
Challenges......Page 125
Chapter 5: Camera......Page 127
Lights, camera, action!......Page 128
A scrolling background......Page 130
An endlessly scrolling background......Page 132
Fixing the gameplay......Page 134
Challenge 1: Fixing the enemies......Page 137
Chapter 6: Labels......Page 138
Built-in fonts and font families......Page 139
Adding a label to Zombie Conga......Page 144
Alignment modes......Page 146
Loading custom fonts......Page 148
Updating the label text......Page 151
Challenges......Page 152
Section II: Physics and Nodes......Page 154
Chapter 7: Scene Editor......Page 155
Getting started......Page 156
Getting started with the scene editor......Page 159
File references......Page 165
SpriteKit Visual Debugger......Page 170
Animations and action references......Page 172
More about the timeline......Page 175
Challenges......Page 180
Chapter 8: Beginning Physics......Page 186
Physics in SpriteKit......Page 187
Getting started......Page 190
Creating a SpriteKit playground......Page 191
Circular bodies......Page 195
Edge loop bodies......Page 198
Rectangular bodies......Page 199
Custom-shaped bodies......Page 200
Visualizing the bodies......Page 201
Bodies with complex shapes......Page 203
Properties of physics bodies......Page 204
Applying an impulse......Page 207
Challenges......Page 209
Chapter 9: Intermediate Physics......Page 212
Custom node classes......Page 213
Connecting sprites to variables......Page 217
Adding physics......Page 219
Introducing SKTUtils......Page 225
Background music......Page 226
Controlling your bodies......Page 227
Finishing touches......Page 239
Challenges......Page 248
Getting started......Page 250
Introducing Level 2......Page 253
Loading levels......Page 255
Scene editor, round 2......Page 256
An overview of Joints......Page 261
Joints in use......Page 264
An overview of Constraints......Page 270
Creating and removing joints dynamically......Page 274
Compound shapes......Page 279
Level progression......Page 285
Challenges......Page 287
Chapter 11: Crop, Video, and Shape Nodes......Page 290
Getting started......Page 291
Crop nodes......Page 292
Video nodes......Page 298
Shape nodes......Page 310
Challenges......Page 317
Section III: Tile Maps......Page 319
Chapter 12: Beginning Tile Maps......Page 320
Getting started......Page 321
Creating a tile set......Page 322
Creating a tile map......Page 326
Adjacency groups......Page 330
Adding the player......Page 333
Adding a camera......Page 338
Player animations......Page 343
Challenges......Page 349
Chapter 13: Intermediate Tile Maps......Page 352
Tile map classes......Page 353
Replacing tiles with SKNodes......Page 357
Physics categories......Page 361
Obstacles and physics......Page 365
Tile user data......Page 367
Creating tile maps in code......Page 368
Power-ups with tile maps......Page 371
Breakables......Page 374
Challenge: Add a breakable tree......Page 379
Chapter 14: Saving and Loading Games......Page 381
Head-up display......Page 382
Game timers......Page 384
Winning the game......Page 386
Game state management......Page 387
Changing levels......Page 392
Scene user data......Page 394
Opening and closing the app......Page 396
Saving games with NSCoding......Page 401
Loading the game......Page 406
Cleaning up......Page 410
Challenge......Page 412
Section IV: Juice......Page 413
Chapter 15: Making Drop Charge......Page 414
Getting started......Page 416
Building the game world in the scene editor......Page 417
Writing the gameplay code......Page 426
Game over, man!......Page 447
Challenges......Page 449
Chapter 16: Particle Systems......Page 456
Getting started......Page 457
Programmatic particle systems......Page 460
Visually-created particle systems......Page 470
Challenges......Page 482
Chapter 17: Juice Up Your Game......Page 485
Three steps for adding juice......Page 487
Music and sound effects......Page 490
Frame animation......Page 496
Particle effects......Page 500
Screen effects......Page 505
Sprite effects......Page 507
Finishing touches......Page 510
Challenge......Page 511
Where to go from here?......Page 512
Section V: Other Platforms......Page 513
Chapter 18: macOS Games......Page 514
Cross-platform strategies......Page 515
Creating platform targets......Page 517
Creating a new target......Page 518
Events......Page 523
Scaling......Page 526
Going deep......Page 531
Challenge......Page 536
Design considerations......Page 537
Review......Page 538
The remote......Page 542
Finishing touches......Page 549
Designing games for your wrist......Page 552
Review......Page 553
Gesture recognizers......Page 560
Working with the Digital Crown......Page 564
The accelerometer......Page 568
Haptic feedback......Page 570
Finishing touches......Page 572
Where to go from here?......Page 574
Section VI: Advanced Topics......Page 575
Getting started......Page 576
Introducing Game Center......Page 577
Configuring your app to use Game Center......Page 578
Authenticating local players......Page 586
Adding achievements......Page 591
Initializing the built-in user interface......Page 596
Challenges......Page 600
Chapter 22: Game Center Leaderboards......Page 601
Creating a leaderboard strategy......Page 602
Configuring leaderboards in iTunes Connect......Page 603
Reporting scores to Game Center......Page 608
Displaying leaderboards......Page 610
Leaderboard sets......Page 612
Security in Game Center......Page 616
Challenges......Page 618
Chapter 23: ReplayKit......Page 619
Getting started......Page 620
Integrating ReplayKit......Page 621
Creating a recording strategy......Page 622
Modifying the user interface......Page 623
Checking for availability......Page 629
Starting and stopping recordings......Page 633
Previewing and sharing recordings......Page 640
ReplayKit 2......Page 642
Challenges......Page 643
Section VII: Bonus Section......Page 644
Chapter 24: Augmented Reality & ARKit......Page 645
Getting started......Page 646
Requirements......Page 647
Rendering the view......Page 648
World tracking with sessions......Page 649
Respond to session events......Page 651
The current frame, camera and anchors......Page 652
Adding bugs to the scene......Page 653
A brief introduction to 3D Math......Page 654
Light estimation......Page 658
Shooting bugs......Page 659
Level design......Page 661
Firebugs......Page 664
Anchor collision......Page 666
Where to go from here?......Page 670
Challenge......Page 671
Chapter 25: 2D Art for Programmers......Page 672
Choose your path: Hire or DIY?......Page 673
How to find and hire an artist......Page 674
Paying your artist......Page 676
Begin with a sketch......Page 679
Getting the sketch into Illustrator......Page 685
Tracing the sketch with vector lines......Page 689
Custom stroke widths......Page 694
Coloring your artwork......Page 697
A bit about shadow and light......Page 710
Exporting PNG files......Page 717
Challenges......Page 720
Conclusion......Page 722