Pinball Games Tutorials for tvOS and iOS – Subscriber Access

This page is for Subscribers to stream the course. If you found your way here as a non-subscriber, and would like details on purchasing Subscription Access, click here.

Pinball Game Tutorials for tvOS and iOS (updated projects for Swift 3) - Subscription Access
Learn to program countless of physics based games with Swift 2 and Sprite Kit, while you watch in real-time as we build the foundation of an amazing Pinball Starter Kit for tvOS and iOS apps.
Module 1 Initial Project Setup, Flippers and Ball
In this first session of tutorials, we will create a project which targets both iOS and tvOS apps, then create the pinball table's flippers and ball.
Unit 1 How to Create a Universal iOS and tvOS Project
Unit 2 Touching the Screen Left or Right and Apple Remote Tapping Left or Right
Unit 3 Initial Flipper Setup
Unit 4 Applying Upward Impulses and Lowering the Flippers
Unit 5 SKPhysicsContacts and Locking the Flipper Up
Unit 6 Adding the pinball
Unit 7 Pinball Tutorial - Project Files at the End of Session 1
Module 2 Working with External Game Controllers and Camera Tracking
In this second session of video tutorials, we will discuss the Swift and Sprite Kit code to work with external game controllers for both tvOS and iOS. We will also create a camera in the scene to follow the pinball continuously or alternatively move up and down if the ball has left the visible area of the screen.
Unit 1 Adding External Controllers for tvOS or iOS - The Extended Gamepad
Unit 2 Adding External Controllers for tvOS or iOS Continued - The Standard Game and Micro Controller
Unit 3 How to Make the Camera Track the Ball
Unit 4 Pinball Tutorial - Project Files at the End of Session 2
Module 3 Setting up the Plunger
In this third session of video tutorials, we will setup the Plunger, first for tvOS, and then for iOS apps. The tvOS version will react to the A button (or other buttons of your choice) being pushed down and released. The iOS version will move the plunger as the user's fingers move down the screen. When released, the plunger is released, giving the ball a variable amount of power into the table. We will also create an initial Table Object class
Unit 1 Setting up the pinball table with new walls, ramps and plungers
Unit 2 Pinball Tutorial - Project Files after New Table Elements Added
Unit 3 Setting up the Plunger for tvOS
Unit 4 Setting up the Plunger for iOS
Unit 5 Adding a Table Object (the Ramp)
Unit 6 Pinball Tutorial - Project Files End of Session 3
Module 4 Starting Gate, Property Lists, and Table Objects
In this session of video tutorials, we'll create a starting gate which locks itself when the ball leaves the launch gutter. Then work with a Property List to make our TableObject class flexible for many potential types of collide-able objects to come.
Unit 1 Toggling Open or Closed a Starting Gate
Unit 2 Parsing a Property List for Table Object Data
Unit 3 The Property List Continued and Adding Collision Animations
Unit 4 Limiting Collision Animations and Reseting Textures on Ball Loss
Unit 5 Setting Various Physics Body Types
Unit 6 Score and Achievment Labels
Unit 7 Pinball Tutorial - Project Files End of Session 4
Module 5 Adding a Light Class, More Flippers, and Ramps
In this session of video tutorials, we'll look at how to create a Light class (mostly used for rolling over lights on the table), how to add more flippers with property list-driven options, and how to create the oh-so-popular pinball ramp!
Unit 1 Adjusting Flippers with Property List
Unit 2 Adding a Light Class
Unit 3 Setting up the Rails
Unit 4 Handling Physics Contacts for the Rails
Unit 5 Pinball Tutorial - Project Files End of Session 5
Module 6 Holding the Ball, Stuck Balls, Table Properties and Much More!
In this session of video tutorials, we keep adding to our Swift and Sprite Kit pinball game by: adjusting the gravity, making table objects hold onto the ball temporarily, make "holes" to visually drop the ball in one place and come out another, set a dynamic depth so some table objects can be behind or in front of the ball depending on it's position, handle stuck ball situations, and add properties for the main table.
Unit 1 Adjusting Gravity, Adding Custom Table Object Vectors and Dynamic Depth
Unit 2 Making Table Objects Hold the Ball and Related Options
Unit 3 Dealing with Stuck Balls and Balls Left
Unit 4 Adding Properties for the Table Itself
Unit 5 Pinball Tutorial - Project Files End of Session 6
Module 7 Loading New Tables and Adding Goals for Players to Achieve
In this session of pinball tutorials, we make it possible to advance to a new table if the score is over a certain amount or get sent back to specific table if the player's score is too low. We'll also begin working on adding Goals for Table Objects this session. The project will support an unlimited number of "goals" of your choosing. For example, we might create an "ExtraBall" goal which requires colliding with something x number of times. Or a goal might be to progressively activate a Score Multiplier, like 2x, then 4x, then 6x, etc and so on. Ultimately we will extend this to the Light class as well, and have a very powerful system for achieving multiple goals and triggering just about anything in the game.
Unit 1 Helpers Class to Specify Alternate SKS Files
Unit 2 Loading the Next Table or Replaying Tables and Device Specific Properties
Unit 3 Odds and Ends
Unit 4 Goals Introduction and Property List Options
Unit 5 NSNotifications for Goal Addition and Subtraction
Unit 6 Goal Achievements
Unit 7 Reset Goals and Objects after an Achievement
Unit 8 Pinball Tutorial - Project Files End of Session 7
Module 8 Adding More Goals, More to the Light Class, and Sounds!
In this session we'll continue adding more possibilities to our Goal properties and we'll also super-size our Light class to make it even more useful than before (a lot of animation possibilities). Plus we'll spend a lot of time on SOUNDS!
Unit 1 Adding More Goal Options
Unit 2 Turbulence, AchievementLabels, Sounds,Extra Ball Goals
Unit 3 Random Sounds for Goals and Sequential Sounds
Unit 4 Making Table Objects and Lights Play Sounds
Unit 5 General Table Sound Properties
Unit 6 Filling in More Table Sounds and Adding a Tilt Option
Unit 7 Adding Animations to the Light Class
Unit 8 Finishing Off the Light Animation
Unit 9 Pinball Tutorial - Project Files End of Session 8
Module 9 Toggling and Score Multiple Players, Pausing, and Adding a Button Class
This is the End. Well, almost. We'll tackle toggling between players in 2 Player Mode and program in a separate ball and score count for each player. We'll also add options for dedicated score labels for each player. Then in the last half of this session, we'll work on pausing and un-pausing the scene, and adding a Button class to use when the scene is paused to either resume the game, abandon the ball, or load new tables in either 1 or 2 player mode.
Unit 1 Toggling Between Players
Unit 2 Ball Count and Score for Multiple Players
Unit 3 Dedicated Score and Player Labels
Unit 4 Button Setup
Unit 5 Tapping the Menu to Pause or Unpause
Unit 6 Creating a Selection Array for Buttons
Unit 7 Navigating the Buttons on the TV Controllers
Unit 8 Selecting Buttons from Controllers and Handling What Each Does
Unit 9 Handling Button Touches on the iOS Devices
Unit 10 Pinball Tutorial - Project Files End of Session 9