iOS / OSX Game Development - From Start to Store in Swift
3.6 (299 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,207 students enrolled

iOS / OSX Game Development - From Start to Store in Swift

Learn to create amazing games from scratch in minimal time by properly understanding the SpriteKit framework and Swift.
3.6 (299 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,207 students enrolled
Created by Neil North
Last updated 1/2016
English [Auto]
Current price: $18.99 Original price: $29.99 Discount: 37% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11 hours on-demand video
  • 3 articles
  • 11 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Use Xcode to create apps
  • Understand and read Swift code
  • Build games using the SpriteKit framework
  • Upload apps to the app store
  • Understand the science of game design
Course content
Expand all 99 lectures 10:52:57
+ Introduction
4 lectures 20:25

Course overview which previews everything you will be learning in this course

Preview 02:48

There are many platforms and developer tools / languages available, so why should you use SpriteKit in the Swift language?

Preview 07:55

Outlines the content of this course.

Preview 07:00

What you need for this course and how to set it up

Preview 02:42
+ Fundamentals of SpriteKit
20 lectures 01:39:32

High level summary of SpriteKit and it's contents

Welcome to Nodes
Swift 2.0 Changes to "Introduction to Xcode (Playground)"

Get a run down on the Xcode IDE and familiarise yourself with it's key features.

Introduction to Xcode (Playground)
Swift 2.0 Changes to "Nodes in Swift"

See some simple SKNode examples in Swift code.

Nodes in Swift

Get a run down on the Xcode IDE and familiarise yourself with it's key features.

Introduction to Xcode (Projects)

Learn about SKNode and SKSpriteNode

Introduction to SKNode and SKSpriteNode

See how SKNodes and SKSpriteNodes work in Swift code

SKNode and SKSpriteNode in Swift

Learn about SKLabelNode and SKEmitterNode

Introduction to SKLabelNode and SKEmitterNode

See SKLabelNodes and SKEmitterNodes in Swift Code.

SKLabelNode and SKEmitterNode in Swift

Learn about the Game Loop, Physics and SKAction class

Making Things Move

See SKActions in Action using Swift

SKActions in Swift

Learn how the update: function works and see the game loop in action in Swift.

The Game Loop in Swift

Get a brief introduction to the physics engine and see how objects react in Swift.

Physics in Swift

Learn about how to handle screen taps on an iOS device or button presses and mouse clicks on a Mac

Controlling the Game

Learn how to interact with your game in multiple ways using iOS and Mac controls schemes.

Control Methods in Swift

Learn how to build games for scalability

Game Design Architecture

See a game design architecture in action using Swift.

Basic Game Architecture in Swift

Use normal maps with SKLightNodes to enhance the lighting quality of your 2D sprites.

Introduction to Normal Maps for use with Lighting

Master the SKLightNode and make some really cool effects, great for cave exploration games and rogue like games.

SKLightNode and how to use it
SpriteKit Quiz
6 questions
+ Create your first Game (Pre-Start)
10 lectures 55:39

Learn about my 10 Step process

Preview 08:40

Some basic design strategies

Designing your First Game

What to do before you lock in your game and name.

Pre-Start Research

What to try and when you know you are ready to continue.

Build a Prototype

Plan out the design of your game.

Design your Game Architecture

Create or find the images, sounds and music you need to make your game really pop!

Source your Resources

How to locate and use royalty free assets.

Finding Royalty Free Game Assets

Use adobe flash to create a title for your game

Create a Title Graphic

Some really cool tips and tricks when working with Adobe Illustrator for generating game artwork.

Resource files attached -->

The latest version (02) contains Apple TV screen resolutions.

Create a Graphic Design Workflow for Swift 2.0

Create game icons to use in your game

Create Game Icons
+ Building the App - Updated for Swift 2.x and GameplayKit
30 lectures 03:50:18

Throwing it all together. Creating a product you can be proud of.

Build your Game Engine

Course files for the lecture.

Course Files

Starting the template with iOS, OSX and tvOS targets.

Starting the game template (iOS / OSX / tvOS)

bring in useful helper classes and format the template

Adding functionality to the template

Start adding functionality to game engine

Building the game engine - Part 1

Start adding functionality to game engine

Building the game engine - Part 2

Begin importing the game resources.

Import the game resources in to your template

How to create and transition to a main menu scene

Adding a main menu scene

Preparing the gamescene camera node and state machines

Preparing the GameScene, Camera Node and State Machines

Creating the tile map world layer

Create a tile map constructor

Prepare the SKNode for your tile map layer

Prepare a tile map layer and add to your scene

Basic content creation for the tile map world

Creating a visual level editor - Part 1

Create a visual level editor for your game

Creating a visual level editor - Part 2

The basics of making levels in your new level editor scene

Preview 05:34

Create a parallax background using ECS

Create a parallax Background

Add a player using ECS entity component systems

Create a player entity with components

How to make the character look right :)

Fixing the character proportions for each animation state

SKPhysics and collision detection.

Add physics and collision detection to the player

Implement physics to the rest of the game world.

Adding physics to the game world

Create your levels and set up world physics

Finish the physics in the tile layer and default maps

Using SKConstraints is a good way to add functionality to the camera

Making the camera more powerful using constraints

How to implement a pause button on the GUI

Implementing a Pause button

Control the player.

Handling interactions and controls

Use the physics contact delegate to enhance the functionality of your entities

Enhancing physics contacts to trigger events

Create a character and level select screen

Create a character select and level select screen

Pick levels from your level select screen.

Building out the level select screen

Implement a post screen

The post screen for wins and losses

Sounds and controls for the apple TV

Sounds and Apple TV controls

A small fix for OSX controls

Fixing the controls for OSX

Icons, top shelf and loading screens

Icons, Top Shelf and Loading screens
+ Finishing the App (Post Production to AppStore)
9 lectures 36:59

Marketing prior to game release.


All the links shown in this lecture

Pre-Marketing Links

Make sure you cover all bases

Marketing Checklist
7 questions

Beta testing and self testing.

Testing your App

Submitting your app to the store and preparing for launch.

The Product Submission and Launch

Check out the developer area after registering an apple ID.

Introduction to Apple Developer Accounts

The process of setting up your App ID, provisioning profile.

Creating Bundle IDs

A quick tour around ITC.

Introduction to iTunes Connect

Create your new apps in ITC.

Setting up the App in iTunes Connnect

Submit for APProval.

Submitting the app to Apple
+ Wrapping it Up
1 lecture 01:35

So you've submitted your app to the store, your marketing plan is in place, where do you go from here?

Congratulations and where to go Next?
+ Holiday Season Bonus Q and A: Year 1
4 lectures 49:29

A look back at 2015 in apple software development and what to expect in the coming year.

Preview 04:08

Question: How can I create a virtual thumb stick for my game?

Answer: Watch this video and find out!

Creating a virtual thumb stick using SKConstraints

Question: How can I persist game save data across iOS, tvOS and OSX seamlessly?

Answer: Watch this video and find out!

CloudKit for saving game data

How to enhance the GKComponent to move the character freely.

Enhancing the movement component for left and right
+ Swift 1.0 to 1.2 Legacy Lessons
21 lectures 02:38:59

Course Files

Course Files

Handling Swift 1.2 migration and what to look out for while completing this course.

How to Handle Migration to Swift 1.2

A quick run through oh how to upgrade your app to Swift 2.0

How to Handle Migration to Swift 2.0

A run through of the cross platform template that has been created for you and where to access it.

Template Walkthrough

Set up files, bring in resources, create scenes

Prepare the structure of Project

Add buttons and artwork.

Setup the Main Menu

Setup the main game scene the way you had previously structured it.

Preparing the GameScene

Make your moving background really pop!

Create a Parallax Background

Use TileMaps to layout your levels.

Setting up Game World with Tiles

Learn about this book which I love and have learnt a lot from.

Affiliate - iOS Games by Tutorials

Create the player class and add it to the scene.

Create a Player

Look at setting up a HUD with Controls.

Create a HUD with Controls

Look at setting up your player with Jump and Throw commands, as well as pausing the entire scene.

Jump, Throw and Pause

Look at adding objects to the scene.

Create a Destructible Crate

Create kill zones and win areas.

Triggers for wins and losses and Gem Collecting

Setup the additional scenes required and link them accordingly.

Character Picker, Level Picker and Post Scene

Add sound effects and music to the game

Sounds and Music

How to use Glyph Designer 2.0 from 71 Squared to improve your fonts.

Taking Advantage of Glyph Designer

As the game is, not all is explained and it doesn't meet Apple expectations under the HIG.

Refine your game UI to meet UX Standards

Learn how to add icons to both your iOS and Mac builds.

Add Icons to the Game

Add levels, skins, etc to give your game longevity.

Create the Content
  • It is recommended that you have completed a foundations of programming or Swift training course and are familiar with Swift
  • Have a Mac with Xcode installed
  • (optional) Have an Apple developer account and test device
  • (optional) An image editor like PhotoShop

Learn how to make amazing games with SpriteKit and GameplayKit using the modern Swift 2.x language. See the entire process from starting a new project, through building the app to publishing on the AppStore and even marketing it!

You will be provided with the full source code built to current Swift standards in best coding practices which you can use to produce as many apps as you wish. This will include a template to help save you hours developing your games.

The template and game source code is worth hundreds of dollars on its own, and it is yours just for owning this course.


  • Understand the key functions of SpriteKit via informative animated videos.
  • See real code examples in Xcode of these key SpriteKit functions in Swift.
  • Gain a basic understanding of game architecture and design patterns.


  • My 10 step process of game development from initial design to submitting to the AppStore.
  • Step by step, create a full game from scratch using great design strategy (Most courses only show you how to make small unscalable apps, not this one!).
  • How to research the competition.
  • How to set up a marketing plan that will actually bring in customers with some basic keyword ASO (App Store Optimisation).
  • Benefit from my 5 years developing for the AppStore, learn in hours what took me years.

Course Updated: 14/04/2015 - Swift Version 1.2

UpdateCourse Updated: 30/03/2015 - Lighting Videos AddedCourse Update

Course Updated: Swift 2.0, GameplayKit (90% of the course rewritten for maximum quality!) includes tvOS compatibility.

Are you sick of doing course that take forever because the instructor is chatty or unprepared?

Are you sick of people teaching you coding techniques which work for small games but aren't scalable to something you can actually be proud of?

I'm passionate about great coding practices and making great products. If you are sick of amateurs wasting your time and would like to make great games, then please check out this course.

Who this course is for:
  • This course is for people new to SpriteKit or wish to gain a greater understanding of SpriteKit and it's functions
  • You should already have a reasonable understanding of Swift before starting this course.