How To Make 2D iPhone Games Using Swift 3 and iOS 10
4.6 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
116 students enrolled
Wishlisted Wishlist

Please confirm that you want to add How To Make 2D iPhone Games Using Swift 3 and iOS 10 to your Wishlist.

Add to Wishlist

How To Make 2D iPhone Games Using Swift 3 and iOS 10

Create and Make Money With 2D iPhone Games. Designed for Beginners. Designed to Move Fast.
4.6 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
116 students enrolled
Created by Craig Anthony
Last updated 3/2017
Current price: $18 Original price: $75 Discount: 75% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 9 hours on-demand video
  • 7 Articles
  • 12 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • You will be able to make your own 2D games for iPhone and iPad.
  • You will understand and utilize dozens of unique capabilities within your own games.
  • Understand how to blend code, graphics, and audio to make a successful game.
View Curriculum
  • A basic understanding of the Swift language is recommended, but even without it you will be able to follow the examples and make them work.
  • The latest version of Xcode (which is free to download from Apple).
  • This course was developed using a Mac computer. No Windows support is included.


This course is now included as part of a larger course offered by Craig called the "iOS and Swift 3 App and Game Development Fast Track". While the current course you are reading about has significantly dropped in price, you might get more value for your money by purchasing the "iOS and Swift 3 App and Game Development Fast Track" instead. It includes all the lectures of this 2D games course, plus sections on Swift and iOS development, In-App Purchases, Firebase and the cloud, and much more. Plus, the "iOS and Swift 3 App and Game Development Fast Track" will continue to grow throughout the remainder of the year with more great coding content.

The "How To Make 2D iPhone Games Using Swift 3 and iOS 10" course is still available for students to purchase, but it may be unpublished in the future. CURRENT STUDENTS WILL CONTINUE TO HAVE LIFETIME ACCESS.



Want to build iPhone and iPad games? (And learn how to monetize them?)

You've come to the right place. This course is perfect for the beginner. It's a fast-paced course designed to focus on progress. I want you building, not sitting there learning boring theory.

I promise you, you won't believe how quickly you learn the major ideas behind some of the world's most popular and exciting games.

Why is this course perfect for a beginner?

Well, I was a beginner once, too. I wanted to learn how to make great games but I couldn't find any resources that 'clicked' with me (and they were all boring text tutorials or books). That's exactly why I made this course and structured it the way I didn't.

With each lecture, you build upon the current project by adding one or two more pieces of functionality. The course moves fast, teaches you so may new things in a logical progression, nothing too tough at first, and nothing too easy later on. It's an extremely satisfying pace.

Just imagine what you'll be capable of...

When you are finished, you'll have dozens of unique tools at your fingertips that you can use to create awesome games of your own, guaranteed. (Don't forget, you can always get your money back within 30 days).


As of now, in no particular order, you'll learn about the following over multiple projects: setting up a game, scaling items, sprites, background images, foreground images, animating objects in various ways, buttons, labels, the update loop, shooting weapons, physics in games, dragging objects around the screen, utilizing touching actions, utilizing swiping objects, particle systems in games, basic physics bodies, custom physics bodies, manipulating gravity, saving data such as best score, endlessly scrolling the game, destroying objects, creating multiple levels, creating a main menu screen, creating a game over screen, playing and stopping background music, sound effects, screen shakes, game state machines, randomly spawning enemies and objects, detecting contact between objects, handling collisions between two objects, error handling, device orientation, sprite anchor points, generating random numbers for different uses, handling when a player wins or loses, creating an "invincibility state" for players, applying vector impulses to objects, detecting when a player scores, pausing and un-pausing a game, creating a countdown timer for a game, information on images and graphics, using the accelerometer, switching between game states during play, splash screens and game icons, sharing gameplay screen shots with friends, adding the capability to rate the game on the app store, setting up and implementing In-App Purchases, restoring purchases, and more!

Sign up today, and here is what you'll get:

  • 2D Games Course: Approximately 9 hours (so far!) of high quality production content. I take massive pride in the quality of my work and work meticulously to record and edit this content.
  • Bonus Course: In-App Purchases: See below for a detailed description of this 1.5 hour course on creating In-App Purchases for your games. It teaches the two most common products, consumable and non-consumable purchases.
  • Growing Content: New Sections, Projects, Lectures, and Resources will be added to the course as they are completed. You'll get messages when something significant is added.
  • Access to completed project files in case you get stuck (you won't!) and other useful PDF resources every iOS game developer should have.
  • All the knowledge you need to get started building your own 2D iOS games!
  • HD 1080p screencasts with high quality audio.
  • A dynamic instructor. I'm not a mono-tone, boring computer geek. (Actually, I used to make my living presenting.)

Don't Waste Any More Time, Enroll Today!

Forget poorly produced YouTube videos and out-of-date materials. This inexpensive course gives you everything you need to gain a solid foundation in 2D iOS game development, all in one nice place and in a reasonable amount of time. (Who needs these 50+ hour courses? We've got lives to live, right?)

What Are The Requirements?

  1. No prior game development knowledge is required.
  2. This course was designed for Mac users. Unfortunately, there is no Windows support at this time.
  3. A basic knowledge of the Swift language is preferred. But, even without it, you will be able to follow along and build the project, you just may need to study Swift's syntax on your own. This course is about building games, not basic Swift.
  4. The latest version of Xcode is required and can be downloaded for free from Apple.


** As mentioned above

Newly Added to this 2D Game Course: "In-App Purchases (IAPs) for iPhone Apps - iOS 10 and Swift 3"

Most mobile developers monetize their games by including various In-App Purchases in the app. It's an important skill that any game developer should learn. 

Fortunately for you, I have decided to include my complete course on this topic called: In-App Purchases (IAPs) for iPhone Apps - iOS 10 and Swift 3. This course is published already on Udemy, and if that's something you may want by itself, please check it out!

With this added course, you will:

Build a Solid Understanding of IAPs and Implement Them Into Your Apps Quickly Using Swift 3 and iOS 10.

  • If you have little or no experience with IAPs, this course is for you.
  • Designed to make learning IAPs as crystal clear as possible.
  • Structured as an easy, step-by-step process, from downloading a starter project to testing IAPs on your device.
  • Extremely practical course with as little "theory" as possible - get building things fast!
  • Uses a pre-made starter app. No need to have your own app made!
  • Fully updated for Swift 3 and iOS 10.

When I first started building IAPs to my apps I was clueless. I searched online for long periods of time and always came up with terrible, outdated material from previous versions of Swift and iOS. It took me well into the double-digit hours to put all the pieces together and get things working. It was extremely frustrating.

I couldn't find a single resource that walked me through the entire process step-by-step. That's exactly why I made this course. This is THE resource I wish I had when I first started with IAPs. This course walks you through everything you need to do into order to get your IAP ideas up and running on your own apps.

Here's exactly what you'll learn in the 14 lectures of this bonus course:

  • The process of successfully implementing IAPs into your apps
  • Setting up an app on iTunes
  • Preparing an app to include IAPs
  • Setting up IAPs on iTunes
  • Sandbox testing
  • StoreKit and all the code you need to learn
  • Consumable products
  • Non-Consumable products
  • Product requests
  • Handling the Payment Queue
  • Restoring purchases
  • Testing purchases on your device
  • And more!

So go ahead and start the course. You'll learn how to make 2D games AND learn how to create In-App Purchases for iPhone and iPad. 

Don't forget, there is a 30-day money back guarantee. So what do you have to lose? Go ahead and enroll today...there's a whole new world of possibilities...

Become a game developer today!


(Please note: there is no guarantee that you will make money developing games. This course only teaches how to code; it does not teach anything about business or marketing. But you're smart enough to realize that!)

Who is the target audience?
  • This course is made for students who want to begin learning how to create 2D games for iPhone and iPad.
  • This course is best suited for students with no (or little) experience programming iOS games.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
70 Lectures
Before We Code - Start Here
3 Lectures 10:14

A brief introduction to the course and a message from Craig, the instructor.

Preview 01:36

Learn about an important way to develop games and see why it's important to "Ready. Fire. Aim." instead of trying to be perfect the first time around.

What is "The Puzzle Piece Method" of Game Development?

Learn the essential information about SpriteKit, Apple's 2D game framework, that every beginning game developer must know to create great games.

Preview 04:05
Project #1 - Your First Game! A Spaceship Game
13 Lectures 02:06:43

Here you get the project started and learn a few things about the GameScene and GameViewController files (the main files behind 2D games on iOS).

Starting the Project, the GameScene, and GameViewController

Backgrounds are key to most games. Here you add that first and build upon the game by adding your first Sprite to the game (the spaceship). You will also learn about anchor points, which are extremely important when adding objects to your game.

Adding a Background, Adding a Sprite, and Learning About Anchor Points

Here you learn the code necessary to move the spaceship across the screen automatically.

Animating the Spaceship's Movement

Here you learn how to drag objects across the screen using your fingers.

Dragging the Spaceship Around the Screen

In this lecture, you will add a button to fire the spaceship's laser, add the laser itself, and add the first sound to the game. Plus, you'll learn a few more key coding concepts that almost all iOS games use.

Adding a Shoot Button, Laser Weapon, and Laser Sounds

Make the game look better by adding a moving star field to the background. This adds the feeling of motion to the  game. This uses "Particle Systems" but do so programmatically instead of using a Particle file. A key skill to have for game development.

Adding Moving Star Fields to the Background

Here you use a Particle System file to add flaming exhaust to the rocket ship. 

Using a Particle System to Create Spaceship Exhaust

Here you will implement code to create and spawn enemies in the game - deadly UFOs! Here you will also learn about randomization, scaling objects, rotating objects, and some new animations.

Randomly Spawning Enemies and Moving Them

Here you learn how to tell if a UFO has hit the spaceship and what to do when one does.

Checking Collisions Between the Spaceship and Enemies

Here you learn about labels and how to ensure they are updated properly and at the right time.

Adding a Label to Track Lives

Here you learn how to add a background music player to the game. Plus you'll learn how to play, pause, and/or stop the music at the right times.

Adding Background Music

At this point the game is done, however you'll make it even better by adding a main menu screen and a game over screen. You'll learn all the code to smoothly transition between the main menu, the game itself, and the game over screen at the appropriate times.

Adding a Main Menu Screen and Game Over Screen

Project #1 - Final Files & Resources
Project #2 - Beginning Game Physics, Building A Basic Physics Simulator
7 Lectures 41:19
Setting Up the Physics Project

Physics bodies are the star of the show. They allow all the magic to happen. Here you'll add physics bodies to all the sprites and learn few tips for building physics-based games.

Adding Basic Physics Bodies to the Project

Adding Complicated Physics Bodies to the Project

Here you will randomly add more objects to increase the complexity of the physics simulator.

Increasing the Complexity of the Physics Simulator

Beyond the effects of gravity, you'll apply impulses to the objects in the simulator. Here is where you will see the magic of the physics engine. It's quite a thing to see and very satisfying to create.

Creating a Pulse Function to Apply Force to the Sprites

The physics engine isn't just about gravity and forces. There are A LOT of ways to customize every physics body in your games. You can make things slippery, bouncy, adjust velocity, subject or not subject to rotations, and more. You'll learn them all here.

Various Properties of Physics Bodies

Project #2 - Final Files & Resources
Project #3 - A Multi-Level, Physics-Based Game
9 Lectures 01:33:00

Here you set up the project, add the files for the levels, and add code to test transitions between levels.

Setting Up the Project, Adding Level Files, and Creating the Playable Area

In this lecture you prepare the first level of the game, using code to setup the background and the various sprites within the level.

Creating the First Level

Here you learn about contactBitMasks, categoryBitMasks, and collisionBitMasks to gain much more control over your physicsBodies, allowing them to interact in interesting ways.

Detecting Collisions Between Physics Bodies

Handle touches by knowing where a physics object is and destroying it with a touch. 

Destroy Objects By Touching Them

Here you will quickly set up the other levels in preparation for the rest of the game's functionality. There are some new objects to be seen!

Setting Up the Other Levels

In this lecture you will implement functionality to determine if the player has won (or lost) the level, and how the game move's forward based on that result.

Handling a WIN and Progressing Through Levels

Here you will add a special object to the final level that utilizes up, down, left, and right swiping actions.

Utilizing Swiping Actions

Make the game more difficult by adding a Timer. If the clock runs out, the player loses. Plus we'll add  background music to the game.

Adding a Countdown Timer and Background Music

Project #3 - Final Files & Resources
Project #4 - Endlessly Scrolling Game, Plus Multi-States! (A clone of Fat Jimmy)
20 Lectures 02:44:11

Here is the Starter File - Please Download

Here is the Starter File - Please Download

After downloading the Starter File, watch this lecture to get an overview of what's inside it.

Review of the Starter File

Here you learn how to use a WorldNode and learn how to scroll a background, and two foregrounds forever.

Using WorldNode and Scrolling Backgrounds Endlessly

Here we implement one of three different components in the game.

Creating a SpriteComponent File

Here we create the file which will define Fat Jimmy's movement in the game!

Creating a MovementComponent File

Here is where we code Fat Jimmy's animations!

Creating an AnimationComponent File

Here you learn about GKEntity and add the file that defines Fat Jimmy.

Adding the PlayerEntity to the Game

Creating an Entity for the Obstacles

Here you learn about the power of GameState Machines, and we add various states to the game which make the flow of the code much more manageable.

The GameState Machine and Creating Multiple States - Part 1

Part 2 of GameStateMachines

The GameState Machine and Creating Multiple States - Part 2

The GameState Machine and Creating Multiple States - Part 3

The GameState Machine and Creating Multiple States - Part 4

Spawning and Stopping Obstacles

Detecting When a Player Scores and Tracking It

Learn how to save the current round's score, the player's best score ever, and the player's lifetime score.

Saving Player Scores: Current, Best, and Lifetime

Learn how to pause and unpause the game during play!

Adding a Pause Button to the Game

When people physically shake their iPhone, you can make it do some cool things!

Utilizing When a Person Shakes the iPhone Device

Want to allow people to rate your app? Here's how to help them do it...

Adding a Button to Rate the App in the App Store

Learn how to help users tap a button an easily share a screenshot of their game.

Adding a Button to Share Screen Shots Directly From the Game

Adding a Splash Screen and App Icons
Project #5 - Using the Accelerometer in Games
2 Lectures 14:43
Accelerometer Demo Lecture

Project #5 - Final Files & Resources
1 Lecture 01:58
Thoughts on Creating Images and Graphics
2D Game Course Conclusion
1 Lecture 00:33
Parting Words
BONUS CONTENT: In-App Purchases for iPhone Apps Course
14 Lectures 01:14:51
  • Here we quickly cover everything you will learn in the course and be able to do once you are finished. Just a summary of what's ahead.

Preview 01:17

  • This lecture explains where and how you can download the pre-made starter project, which is a simple game ready for In-App Purchases (IAPs) to be added to it!

The Starter Project and How To Download It

Here is a lecture describing the how an IAP is successfully implemented in an app. Conceptually, it's important to understand each step involved and here we provide a simple presentation of the entire process.

The Process of Successfully Implementing an In-App Purchase (IAP)

Learn how to set up the starter project on iTunes.

Setting Up the App and iTunes

Learn how to create and properly setup each and every IAP you have in iTunes.

Setting Up In-App Purchases on iTunes

Learn a very simple way to create a "sandbox" user so you can test the functionality of your IAPs without spending money. This is a critical part in the IAP process and this method is the easiest out there.

Creating a Sandbox Tester to Test IAPs

Here you learn how to configure the app in Xcode so it can utilize IAPs and you start the basic coding that every IAP requires.

Stubbing Out Required Code and Preparing the App for In-App Purchases

Here you learn about the differences between the two most common types of In-App Purchases.

Consumable and Non-Consumable Products - What They Are

Here you learn to have the app request a product list from iTunes and confirm In-App Purchases are enabled and connected to the app.

Preview 07:18

Here you add two products to the app and learn about a very important concept regarding the StoreKit queue.

Adding Two Non-Consumable Products (plus important Queue information)

Here you add a consumable product to the app. 

Adding a Consumable Product

Without IAP restoration, your app will be rejected. Learn how to add this capability to your apps.

Adding Restore Capability

Use your sandbox tester (created earlier) to test all the IAP functionality of your app. Critical to do before submitting for app review.

Testing Your IAPs and Restore Capability on Your Device

IAPs Conclusion and What To Do Next
About the Instructor
Craig Anthony
4.5 Average rating
50 Reviews
3,044 Students
4 Courses
Mobile App Developer and Teacher

Hi, I'm Craig!

I'm a 100% self-taught iOS developer (trust me, it's possible!). All of my time is spent programming mobile apps and games, and teaching others how to do the same.

I used to work in another industry for 10 years but I got quite tired and bored of it, so I decided to leave it behind forever.

App and game development is so much fun. And, it's a great and flexible way to make a living. Sure, it takes a certain type of person with a special type of curiosity to learn coding, but if you are reading this bio, I'm guessing you ARE that type of person.

When I learned to code, I didn't find any resources that completely clicked with me. That's exactly why I developed the courses I have available for you. My goal is to teach you simply, quickly, and to focus on building things. I hate the theoretical part of programming and just want to create. 

My promise and guarantee to you is that you won't find an easier way to learn coding than my courses, or your money back.

Why not take my courses and start on a path to a whole new future? 

* Please note discounts may be slightly higher than advertised amount due to rounding and currency conversion.