CrashCourse iPhone Game Programming
4.6 (15 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.
73 students enrolled
Wishlisted Wishlist

Please confirm that you want to add CrashCourse iPhone Game Programming to your Wishlist.

Add to Wishlist

CrashCourse iPhone Game Programming

Program an iOS game in Swift
4.6 (15 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.
73 students enrolled
Created by Michael Leech
Last updated 12/2015
English
Price: $20
30-Day Money-Back Guarantee
Includes:
  • 4.5 hours on-demand video
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
Program a basic iOS game in Swift
Implement Game Center into your Apps
Run an iOS app beta test
Submit apps to the App Store
View Curriculum
Requirements
  • A Mac Computer
Description

Throughout this course we are going to be developing an iOS game in Swift! We will be going to cover a lot to get you up and running as a game developer for iOS, covering everything from getting started with Xcode to beta testing to actually submitting your app the App Store.

We will be developing a side-scrolling game in which the user will play as a ninja that can jump, slide, and slash through obstacles. The game will keep track of points and will allow for saving your high score to game center to compare with friends. Assets for animations and the in-game scenery are all included.

The main timeline of the course includes going through some Programming Basics, Developing the Game, Implementing Game Center, Beta Testing, and finally Submitting Your App to the App Store. The course builds on programming concepts introduced at the beginning of the course to help you see how and where they are applied in a real-world setting.

It should take approximately ten to twenty hours to complete depending on your level of experience and depth of study in the concepts introduced.

You should take this course if you are relatively new to programming and want to learn through the experience of developing an iPhone game!

Who is the target audience?
  • Students who have minimal or no experience programming should take this course!
  • Students with moderate to high levels of experience will probably find this course slow.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 55 Lectures Collapse All 55 Lectures 04:44:12
+
Introduction to the Course
3 Lectures 10:07
A basic introduction the course, covering the the broad topics that we will go over.
Preview 01:39

Overview of the game and what features we will be implementing.

Preview 01:53

Setting up Xcode for the first time and a quick overview of how to navigate it.

Preview 06:35
+
Programming Basics
5 Lectures 25:59

Creating a basic program that prints out "Hello, world".

"Hello, world"
04:37

Introduction to variables.

Variables
05:51

Introduction to loops.

Loops
04:34

Introduction to arrays.

Arrays
06:08

Introduction to classes.

Classes
04:49
+
Setting the Scene
7 Lectures 51:39

Basic configuration of the view before getting started.

Preview 02:44

Explanation of SKNode and adding the background to the scene.

Preview 10:24

Creation and intro to the CCGround class.

Preview 07:49

Explanation of SKAction and getting our ground to move.

Preview 04:44

Making the ground repeat back so that it provides the illusion of moving infinitely.

Preview 06:49

Beginning use of our tile set.

Preview 11:04

Completing the tile set and finishing up the basic implementation of the ground class.

Preview 08:05
+
Creating the Hero Class
6 Lectures 35:59

Implementing a basic initializer for our CCHero class and adding the hero to the scene.

Adding the Hero to Our Scene
06:20

Introduction to animation and implementing the hero run animation.

Intro to Animation
06:47

Implementing the hero slide animation.

The Slide Animation
05:15

Intro to gesture recognizers and adding basic recognizers to the scene.

Adding Gesture Recognizers
07:07

Implementing hero jump functionality.

Getting the Hero to Jump
06:26

Implementing the hero attack animation.

The Attack Animation
04:04
+
Level Generation
8 Lectures 35:23

Intro to the generator class and adding the generator to our scene.

Intro to the Generator Class
06:21

Intro to timers and adding a timer to the generator class.

Setting Up the Generation Timer
03:45

Rearranging some of the GameScene functions for better readability.

Organizing the Gamescene Functions
05:19

Generation of the first obstacles.

Generating the First Obstacles
07:35

Synchronizing the movement of the ground and obstacles and implementing a basic attack obstacle.

Synchronizing the World & Creating the Attack Obstacle
04:06

Implementing the slide obstacle.

Creating the Slide Obstacle
02:39

Generating obstacles randomly between the jump, slide, and attack varieties.

Generating Obstacle Types at Random
02:32

Adding textures to the obstacles.

Adding the Textures
03:06
+
Collision Detection
6 Lectures 30:57

Setting up physics bodies on the hero and three obstacle types.

Setting Up the Physics Bodies
06:12

Implementing the physics world contact delegate and calling the didBeginContact function.

Setting Up the Physics World
04:09

Detecting a hero and attack obstacle collision and removing attack obstacle if hero is currently attacking.

Detection of the Attack Obstacle
06:23

Animating the hero falling over and applying physics to cause the hero to fall.

The Game Over Animation
05:38

Removing movement on obstacles and ground and stopping generation of new obstacles.

Implementing the Game Over Function
06:28

Implementing the restart function, presenting a fresh scene to the view.

Implementing the Restart Function
02:07
+
Points and Highscore
6 Lectures 32:18

Adding the "Tap to Start" and "Game Over" labels.

Intro to SKLabelNode
06:03

Implementing and running the blink animation on the "Tap to Start" and "Game Over" labels.

The Blink Animation
03:36

Implementing the class that displays the points and high score.

Creating the CCPointsLabel Class
07:08

Tracking the points as the hero passes obstacles.

Keeping Track of Points
07:33

Removing obstacles from the generator node when the obstacles go off screen in order to save computational resources.

Cleaning Up the Obstacles
04:03

Saving the users high score using NSUserDefaults.

Saving the Highscore
03:55
+
Creating an Intro Screen
4 Lectures 23:36

Creating a basic MenuScene with title and background.

Creating the MenuScene
03:02

Implementing the CCButton class for creating buttons with rounded corners.

Implementing CCButton
09:01

Getting the start button to present a new GameScene and implementing basic print functionality for the Game Center button.

Adding Functionality to the Buttons
08:18

Adding a dummy hero next to the game title for looks.

Adding a Dummy Hero
03:15
+
Game Center Implementation
4 Lectures 17:22

Authenticating the user with game center upon opening the app.

Authenticating the Local Player
05:53

Presenting a view controller to display the current game leaderboard.

Presenting the GKGameCenterViewController
04:25

Adding your App to iTunes connect and adding a leaderboard to be used for score saving.

Adding GameKit Functionality in iTunes Connect
01:22

Saving the users high score the game center leaderboard.

Saving the High Score to Game Center
05:42
+
Beta Testing Your App
3 Lectures 08:36

Adding an icon to your app in images.xcassets

Adding an Icon to Your App
01:12

Archiving and submitting a build of your app to iTunes connect.

Archiving Your App
03:46

Setting Up TestFlight
03:38
2 More Sections
About the Instructor
Michael Leech
4.6 Average rating
15 Reviews
73 Students
1 Course
iOS Instructor at CrashCourseCode

Hi there! My name is Michael and I run a channel called CrashCourseCode on YouTube for iOS-related tutorials. I've been developing for the last four years, the last two of which iOS has been my main focus. I think tech is pretty much the coolest thing since sliced bread and I really am looking forward to seeing how technology shapes our lives over the coming years.