This page is for Lifetime Access buyers of our Pinball Games for iOS and tvOS Tutorials or The Pinball Games iOS and tvOS Starter Kit. If you would like to purchase access to this course, visit this page.
Pinball Games for iOS and tvOS Video Tutorials - Lifetime 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 | Adjusting 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 |
