Learn how to program a heroic trail of explorers through countless levels.Find Out More
You'll learn how to create a physics environment and populate it entirely through a property list.
By the end of this course, you'll be programming like a pro.Course List
One code base creates an App for both devices, with virtually no extra coding.
Like all our tutorials, you can download the movies to your computer to watch anytime (an internet connection is not needed after downloading). After your purchase, we can also enroll you in the course on Udemy.com so you can stream the videos to your computer, iPad, iPhone, Android or other tablet.
Sign up for either our Udemy course or download the HD videos from Payloadz and you'll also get project files, and updates anytime we add content to this course. We'll also post announcements when there's another Sprite Kit course available.
Justin Dike is the founder of CartoonSmart and has been teaching video tutorials professionally for over a decade. He is the author of iOS Game Programming with Xcode and Cocos2d, the developer of many iOS Apps, and he received his BFA in computer animation at the School of Visual Arts.
In this first series of lessons on Sprite Kit role playing games, we will create a physics-based world with a roaming hero that can collide with other heroes (and make them follow the leader). Nearly everything will be property-list driven (adjustable by changing text in a plist file) and we'll program options for each character to include / exclude front animations, side animations or back animations. We will look at making the character attack, emit particles, receive damage, have a health meter, advance levels, restart levels and much, much more! All using Xcode 5 and Sprite Kit.
Video 1 - In this video, we'll look at various versions of the demo project, each with slight tweaks to the Property List file that drives nearly everything in the published app.
Video 2 - In this part of the Sprite Kit tutorial, we will handle most of the initial setup for the project. We import in some images to use early on, setup folders for the texture atlases, create our property list file, constants file and Level / Character classes.
Video 3 - In this video, we will create a physics-based world with Sprite Kit. This world will contain everything in our role playing game.
Video 4 - Next we will add a character inside of the physics world. To test the physics we will add gravity (later we will disable it), and this will give us an opportunity to test the contact listener delegate and get feedback from the level class when our character collides with a wall.
Video 5 - In this tutorial we will begin using some of the data stored in our Property list file to populate elements in the game.
Video 6 - In this tutorial we will add visible paths around our Sprite Kit physics objects. This will help in debugging exactly when objects touch and show us the physics boundaries when we resize to something other than 100% of their corresponding image sizes.
Video 7 - In this video, we will add Gesture Recognizers to detect a swipe up, down, left, right, or a one, two or three finger tap, as well as a rotation recognizer.
Video 8 - In this video we will bring in other characters to our Sprite Kit world by parsing through the property list, determining if there is more than one item in the array, then adding that character.
Video 9 - In this video we will begin using the update method of the level class to essentially "run" the game and control if everything is paused or not. In turn, this will be used to fire each character's update method. We will also begin setting the initial directional movements for each character.
Video 10 - In this video, we will setup a delay for the movements of everyone but the leader. We'll also rotate the characters to face different directions as they move.
Video 11 - In this video we will learn how to stop the characters and make them fall into position.
Video 12 - In this video, we will define which characters follow the leader by default versus which will need contact with the leader before joining the team.
Video 13 - In this video, we will setup the properties we need for the rest of the series. This includes the SKTextureAtlas frames, health options, speed and more.
Video 14 - In this video, we will setup the SKActions used to show texture changes during the walk cycles. We'll look at SKTextureAtlas and SKTexture class.
Video 15 - Once the SKActions have been created for each possible direction to walk, we will write the code to actually run the SKActions (if they aren't nil). We will also change the zRotation and zPosition as needed for each view.
Video 16 - In this video, we will use the tap Gesture recognizer to attack, which will call our attack SKActions for various views.
Video 17 - In this video we will create a Sprite Kit Particle File, and add it as an effect when the character attacks. We'll setup some properties in the .sks file, and change other properties at runtime using the plist.
Video 18 - In this video we will create SKSpriteNodes for our health meters, and make the characters get damaged if they hit a boundary.
Video 19 - In this lesson, we will create a method to transition back to the Start Menu if the lead player dies and doesn't have any following players. Otherwise, the follower will take over the lead position.
Video 20 - In this tutorial, we will use two or three finger taps to switch out the leader with either the second or third player in the character chain. You can extend this to 4, 5, 6, etc taps.
Video 21 - In this video we will add an SKLabelNode, and write a conveinence method to handle fading and removing any SKNode.
Video 22 - In this tutorial, we will modify the code to bounce back any character that gets damaged by the wall. We will also add a Sprite Kit particle emitter to flame out the character while dying off.
Video 23 - In this tutorial, we will create a new class for coins, then have the character collect them using the physics contact listener.
Video 24 - In this tutorial we will using a static variable to keep count of the current level to load from the property list, and work on advancing levels when every coin has been collected.
Video 25 - In this tutorial, we will add options IF you want to provide alternate locations for the iPhone or iPad devices. If no alternative is provided the kit will use a default location.
Video 26 - In this tutorial, we will resize the Sprite Kit scene, which is the easiest way to scale up or down the entire world without having to account for a scale factor with our SKPhysicsBodies.
Video 27 - In this tutorial we will create an SKLabelNode which will count the number of coins collected. This will be included in our world instance, so we will move the label as the leader moves (which makes it appear to stay in one place).
Video 28 - In this tutorial, we will play around with some Sprite Kit physics properties and methods by bouncing coins around the scene (great inspiration for many other games.)
Below you can watch a sample of the project running in the iOS Simulator (it runs twice as fast on the iPad and iPhone).
Screenshots from various sessions in the course.
Program your own debug borders for the physics
Drive the entire game using a Property List
Create amazing FX within Xcode using the new Sprite Kit Particle Files.
Send coins or characters flying around the world by experimenting with the physics.
Only $15. Like all CartoonSmart tutorials, you can download these videos directly to your computer along with source files for the projects. You will also get access to our Udemy version of the course to stream the videos on your computer, iPad, iPhone, Android, or other mobile device. If you ever need to download your purchase again, you'll have access through Payloadz, our file delivery service.