Owner and lead instructor of CartoonSmart.com, Justin Dike teaches this course on Sprite Kit programming with Xcode 5 and iOS7. He brings his practical, easy style of teaching now to Sprite Kit, Apple's own 2D game engine. This introduction to Sprite Kit course is truly meant for beginners of all kinds. If you've never programmed before, be sure to watch the first section and get some of the basics under your belt. Following that, we will pick apart the Sprite Kit starting template, then move on in the final section to build a quick game.
Introducing Sprite Kit, Apple's 2D game engine. This series of video tutorials will cover just about everything about Sprite Kit, and create useable projects that could be the foundation of countless games.
The Xcode project for this first section is contained in the Supplemental Materials Tab
Tour of the Xcode Interface In this video tutorial we will tour the Xcode 5 interface. We'll look at all the essential areas you should know about as a first time programmer. We will also look briefly at Asset Catalogs, a new way of adding your launch images and app icons in Xcode 5.
(Optional viewing) This video will teach you to add your Provisioning Profiles in Xcode 5 using the developer portal and Organizer. You need to be a registered developer to install your profiles and test on your actual device. Otherwise, you can test your project on the iOS Simulator.
(Optional viewing) If you aren't familiar with Objective-C or programming in general, you'll want to watch this first video on basic variable types. We'll look at int, float, NSString, bool and CGPoint variables and quickly test logging them in the update loop of the Sprite Kit template.
The project for this video (and the next) is in the Supplemental Materials tab.
(Optional viewing) This course continues teaching the very basics of Objective-C. If you aren't familiar with if statements, while and for loops, or creating methods (with non-void returns and parameters) then you will definitely want to watch this quick primer.
This video will look at the Sprite Kit template and play around some with what already exists. If you skipped past the optional Objective-C basics tutorial, this video is also intended to give you a quick reminder of some core concepts to programming (returning SKLabelNode from a method, adding children, setting properties, etc)
This second video examining the Sprite Kit Template will teach you how to enable multiple touches in the view controller, detect touches ended, use childNodeWithName, and enumerate through children during the update method.
From here on out, the series will be building a sample Sprite Kit jumping game, where your goal is to avoid getting hit by boulders and timing a characters leap over them. This short first video will discuss importing images to an Asset Catalog (new to Xcode 5), using Retina Display images, and also show you tips on how to export images from a program such as Adobe Flash.
The image assets used in this project are included here.
This video discusses creating a Texture Atlas for Sprite Kit. If you are familiar with sprite sheets for optimizing game graphics, a texture atlas is exactly that. You can name a folder with .atlas extension and include your standard and retina images (with @2x.png extensions). This .atlas folder with get packaged as a texture atlas at compile time. (Code to use the atlas is discussed later).
In this video, we will add all of our children to the Sprite Kit scene, and create a method at a random interval to continuously add Boulder sprites. We will also look at the zPosition, xScale, name properties and more.
This video tutorial really gets the ball rolling with Sprite Kit. Pun intended. We'll be moving the boulder across the screen and detecting if it intersects with our character. We will also look at the enumerateChildNodesWithName method.
Check the Supplemental Materials for the Xcode project as it was at the end of this video.
This video discusses the concept of Casting in a Sprite Kit game. This is an important concept, and worthy of it's own video. We'll talking about when to cast an object, making sure it actually exists, and testing the kind of class that the cast object is.
In this video we will add our Sprite Kit Actions which will do all the work involved with making the character jump and use the texture atlas we imported earlier. We will look at adding a sequence of SKActions as well as declaring them in the header file for use every time we touch the screen. We will also use the SKAction performSelector method to control how often the character is able to jump (toggling on or off if the character can jump).
In this last video, we will test if the boulder has intersected with the character a certain number of times, and if so, we will transition to a new scene (actually the same scene over again) to restart the game.
The finished project has been uploaded to the Supplemental Materials page.
Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine.