Sprite Kit is a 2d game engine for creating apps for iOS / Mac OS devices. Sprite Kit comes included with Xcode and since it is developed by Apple, developers can be assured that future versions of the iOS / Mac OS support their past projects.  Sprite Kit is available for both Swift and Objective C based apps, and is very similar between the two.
This course teaches Xcode development using Swift 1.2 or Swift 2, Apple’s latest programming language. Swift can be used to create both iOS Apps to sell through the App Store, or Mac OS apps to sell through the Mac App Store. The project files in the course include both Swift 1.2 and Swift 2 versions (but the differences are trivial).
This course is taught by Justin Dike, owner and lead developer at CartoonSmart.com, creator of the Fantastic Worlds iOS Starter Kits, and author of iOS Game Programming with Xcode and Cocos2d (published by Focal Press). Justin has been programming iOS games since the release of the first iPhone and has been teaching development for just as long, covering mostly game related topics. He's proficient with Cocos2d, Sprite Kit, Objective-C and most recently Swift.
This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledge...
Watch a Preview of Each Finished Project...
In this first project we will populate a perpetually moving "world" node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more!
In this series of videos we will modify the project from the first section and create "level units", for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player.
In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a "road" unit or "water" unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more!
In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track "level unit" locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them)
Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we’ll give our character some typical side scroller controls (jumping, running, sliding and gliding). We’ll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we’ll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects.
Some Mighty Parting Gifts!
By the end of this series, not only will you have learned how to code every project, you'll also GET every project. You're welcome to use these as templates to kick-start production of your next app...
Get Lifetime Access to this course for a one-time purchase price. You can download (or stream) the movie files and download any source projects. Already have Lifetime Access? You can get started watching the video tutorials from right here. Both Monthly and Yearly Subscribers can stream every video tutorial on the site. Yearly subscribers get access to the latest version of every starter kit whenever they want, plus access to hundreds of dollars worth of royalty free game art (yes, it’s an amazing deal). You can cancel your Monthly or Yearly subscription anytime directly through Paypal. Already a Subscriber? Get started on the course from right here.Learn more about Sprite Kit
Developed with Swift
Learn more about your instructor...
Endless Levels, endless fun.
A variety of Swift & Sprite Kit projects, taught over 6 fun hours!
Session 1 - The Endlessly Moving World Node
Session 2 - Endless Level Units
Session 3 - An Endless Frogger Project
Session 4 - Endless RPG Style Level
Session 5 -An Endless Runner
Two affordable purchasing options...
Purchase Option 1 - Lifetime Access
Purchase Option 2 - Subscription Access