Autoplay
Autocomplete
HTML5
Flash
Player
Speed
Previous Lecture
Complete and continue
The Bitfountain iOS Game Immersive - Build a Flappy Bird Clone
Sprite Kit Concepts
Introduction (3:41)
Nodes (8:57)
A Closer Look At Nodes Part 1 (6:53)
A Closer Look At Nodes Part 2 (4:44)
Adding Images to Projects (5:21)
Coordinates (11:04)
A Closer Look at Anchor Points (6:20)
Game Loops (4:05)
Overview of Actions (6:24)
Diagnostics (2:57)
Our First Game! Build a Space Cannon Shooter
Space Cannon (9:39)
Review: Space Cannon Setup (7:53)
Add shoot method (5:10)
Working With Angles (5:58)
Data Types (5:17)
Add physics body (4:50)
Shoot Method Review (5:53)
Review of Shooting with our Space Cannon
Clean up (3:28)
Using Breakpoints (7:40)
Review of Physics Body Basics (7:37)
Timing (3:43)
Review of Game Loop (6:18)
Adding Edges to the scene (5:55)
Challenge 1: Bouncing Balls
Challenge: Ball Challenge (1:16)
Challenge: Ball Challenge: Solution Part 1 (4:11)
Challenge: Ball Challenge: Solution Part 2 (8:56)
Challenge: Ball Challenge: Solution Part 3 (5:42)
Adding Halos to our Space Cannon Game
Adding randomness (2:45)
Adding Halos (8:02)
Review - Random in Range and Spawn Halo Action (6:09)
Detecting Collisions and Contacts
BitFields (6:38)
Collision BitMasks (5:45)
Contact Test BitMask (5:31)
Review: Contact Delegate, Bit Masks (6:46)
Particle Effects and Explosions
Particles (7:05)
Add Explosion Effect (4:34)
Creating SKEmitterNodes Manually (5:45)
Shot Limiting (7:00)
Challenge 2: Alternate Shot Limiting
Challenge: Alternate Shot Limiting (0:56)
Challenge: Alternate Shot Limiting: Solution (5:03)
Shields and start a Lifebar
Add Shields (5:53)
Review - Add Shields (5:51)
Add Life Bar (6:12)
Challenge 3: Explosion on Bounce
Challenge: Add Explosion on Bounce (0:27)
Challenge: Add Explosion on Bounce Solution (6:16)
Game Reset and Scoring
Game Over and New Game (5:25)
Review: Game Reset Functionality (5:18)
Add Scoring (3:51)
Adding Basic Sounds
Free art resources: OpenGameArt.org (1:34)
Editing Sounds with Audacity (4:38)
Converting Sounds to CAF Format (4:01)
Space Cannon - Adding Sounds (7:56)
Adding Menus
Space Cannon - Add Menu (6:22)
Space Cannon - Make Menu Functional (6:08)
Review: locationInNode (3:19)
Space Cannon - Fix Delay (2:49)
Space Cannon - Add Scores to Menu (6:38)
Review: Adding Scores to Menus (3:54)
Save with NSUserDefaults
A Look at NSUserDefaults (3:37)
Space Cannon - Save Scores Using NSUserDefaults (4:31)
Space Cannon - Bug Fixes (10:20)
Particle Trail and Action Speeds
Space Cannon - Increase Halo Spawn Speed (5:02)
Space Cannon - Create Particle File for Trail Effect (3:01)
Space Cannon - Add Trail Emitter Node To Balls (3:33)
Space Cannon - Adjust Ball Trails With New Ball Class (6:51)
Adjust Ball Trails With New Ball Class.mov (6:51)
Review: Action Speed and Particle Trail Effect (8:15)
Bounce Limit and Power Up
Space Cannon - Set Bounce Limit (3:27)
Space Cannon - Add Point Multiplier Halo (6:02)
Space Cannon - Add Point Multiplier (7:16)
Challenge 4: Add Bomb Power Up
Challenge: Add Bomb Power Up (1:36)
Challenge: Add Bomb Power Up Solution Part 1 (5:42)
Challenge: Add Bomb Power Up Solution Part 2 (7:17)
Create Shield Power Up
Space Cannon - Create Pool for Shield Nodes (6:29)
Space Cannon - Spawn Shield Power Ups (7:29)
Space Cannon - Make Shield Power Ups Collectable (6:16)
Challenge 5: Multi Shot Power Up
Challenge: Multi Shot Power Up (1:08)
Challenge: Multi Shot Power Up Solution Part 1 (4:28)
Challenge: Multi Shot Power Up Solution Part 2 (8:02)
Challenge: Multi Shot Power Up Solution Part 3 (5:59)
Challenge: Multi Shot Power Up Solution Part 4 (8:35)
Animate Menus
Space Cannon - Add Show and Hide Methods to Menu Class (5:31)
Space Cannon - Animate the Menu's Title (6:14)
Space Cannon - Animate Score Board (4:32)
Space Cannon - Complete Menu Animations (4:14)
Add Pause Functionality
Space Cannon - Add Pause and Resume Buttons (3:43)
Space Cannon - Hook Up Pause Functionality (5:31)
Space Cannon - Pause When Quitting Or When A Notification Is Received (3:57)
Space Cannon - Add Music (5:07)
Challenge 6: Add Music On/Off Button
Challenge: Add Music On Off Button (0:30)
Challenge: Add Music On Off Button Solution Part 1 (4:13)
Challenge: Add Music On Off Button Solution Part 2 (4:49)
Complete Space Cannon
App Icon Template (3:54)
Complete Space Cannon (3:49)
Assignment 1: Brick Breaker
Introduction to Brick Breaker Assignment (6:01)
Brick Breaker Assignment Requirements
Setup (2:12)
Add Paddle and Getting it Moving (5:02)
Limit Paddle Movement (3:36)
Add Ball (5:55)
Setup Category Bit Mask (5:16)
Setup Contact between Ball and Paddle (6:33)
Complete Contact between Ball and Paddle (7:55)
Fix Anti Gravity Ball (1:28)
Add Bricks (7:46)
Remove Bricks When Hit by a Ball (3:42)
Create Class for Brick (8:32)
Setup Blue Brick Behaviour (5:06)
Create Load Level Method And Array For Level (4:12)
Load Level (6:16)
Setup Ball Release Functionality (4:37)
Add Grey Brick Type (4:38)
Add Extra Levels (2:40)
Add Method to Check if Level Is Complete (3:08)
Load Next Level and Reset Ball (6:21)
Requred Touch Began Event to Release Ball (2:54)
Add a Hud Bar (5:20)
Add a Lives Property (3:23)
Display Lives (4:56)
Lose Lives and Reset Game (6:44)
Add Level Display Label (3:10)
Setup Property For Current Level Number (5:31)
Create Particle File (3:10)
Add Particle Effect When Bricks Are Removed (5:24)
Create Menu Class (6:43)
Add Text to Menu (3:59)
Implement Hide and Show Methods on Menu (4:20)
Make Menu Functional (7:10)
Update Colors (3:24)
Add Sounds (8:38)
Restrict Paddle Movement When Positioning Ball (2:35)
Create Yellow Brick Type (3:12)
Spawn Extra Ball (7:54)
Tappy Plane: A Flappy Bird Evolution
Setup Project (6:45)
Source Control With SourceTree (2:57)
Batch File Rename (2:01)
Planes Atlas File (7:00)
Add Plane Class (5:02)
Animating our Plane
Add PlanesAnimation plist file (3:01)
Method to Create Animation Action From Array (6:15)
Get Plane Animating (6:32)
Challenge 7: Animation an Alien
Challenge: Animation (0:29)
Challenge: Animation Solution (9:43)
Smoke Puff Particle Trail
Create EngineRunning Property (6:54)
Review: Animations (7:13)
Create Particle file (4:28)
Add Puff Trail To Plane (6:26)
Get Plane Moving
Configure Gravity (5:23)
Add basic physics (6:04)
Set Target Node For Puff Trail (2:04)
Scrolling Background
Create Scrolling Node Class (4:57)
Create TPScrollingLayer (4:31)
TPScrollingLayer - Implement layoutTiles method (4:13)
Implement Tile Scrolling (5:40)
Review: Scrolling (5:18)
Scrolling In Both Directions (4:02)
Create Background Layer (6:55)
Getting the time elapsed between frames (4:29)
Challenge 8: Left & Right Scrolling
Challenge: Left & Right Scrolling (0:48)
Challenge: Left & Right Scrolling Solution Part 1 (3:56)
Challenge: Left & Right Scrolling Solution Part 2 (7:21)
Challenge: Left & Right Scrolling Solution Part 3 (5:51)
Challenge: Left & Right Scrolling Solution Part 4 (4:42)
Adding the Terrain to our Game
Set Background Colour (4:25)
Add Foreground layer (5:43)
SKPhysics Body Path Generator (6:03)
Visualising path based physics bodies (2:59)
Create path based physics body for plane (4:12)
Setup Category Bit Masks (4:36)
Setup didBeginContact method (3:02)
Implement Collide Method and Get Plane to Crash (5:43)
Game Reset and Plane Rotation
Reset game (6:19)
Tweaks on game reset (3:58)
Add Rotation Effect (5:25)
Create Mountains
Photoshop Tips: Vectors, Smart Object, Export Layers To Files (8:20)
Create TPObstacleLayer Class (3:53)
Implement Update Method (6:07)
Add createObjectForKey Method (5:17)
Add Physics Bodies To Mountains (4:06)
Adding Mountain Obstacles
Create Obstacle Set (4:58)
Randomize Mountain Obstacle Heights (5:57)
Recycle Mountain Nodes (7:19)
Add reset Method (3:49)
Add Obstacles To Game (6:16)
ObstacleLayer Pseudo Pooling Check and Review (8:39)
Source Tree Commits. Context, Discard and Stage by Hunk or Line, Amend Commit (4:14)
Set Maximum Altitude for Plane (3:24)
Challenge: Flappy Controls
Flap Challenge - Intro (1:02)
Flap Challenge - Solution (8:26)
Adding Collectables
Create Collectable Star Object (5:40)
Add collectables to obstacle layer (8:19)
Review of positioning collectables (5:14)
Get plane to remove the stars it touches (4:22)
Create class for collectables (8:11)
Setup creation of collectables to use new class (3:42)
Hook up scene as collectable delegate (3:56)
Review of Collectable Setup (6:30)
Fix Warnings (2:38)
Bitmap Font's
Create Class for Bitmap Font (4:31)
Implement Bitmap Font Properties (3:30)
Start Layout of Bitmap Font Letters (5:38)
Complete letter layout (7:19)
Center Align Text (4:56)
Review of Bitmap Font Class (6:00)
Add instance of BitmapFontLabel to display score (8:04)
Tilesets
Create Plist For Tileset Graphics (6:19)
Setup Singleton (5:05)
Start Loading Tileset Plist File (4:56)
Complete Loading of Property List (5:45)
Randomize Tileset (4:11)
Return Texture for Key from Current Tileset (2:23)
Use Tileset Texture Provider to Randomize Mountain Textures (6:29)
Updating the Tileset
Update Ground Nodes to Use Tileset Texture (3:02)
Review of Tileset System (8:14)
Update Background Image to Fill To Bottom (5:09)
Challenge: Obstacle
Obstacle Challenge - Intro (2:21)
Obstacle Challenge - Setup ChallengeProvider Class (5:42)
Obstacle Challenge - Start Implementing Challenge Provider (6:16)
Obstacle Challenge - Start Implementing Challenges (6:14)
Obstacle Challenge - Using An Image Editor To Design Challenges (8:55)
Obstacle Challenge - Load Challenges in Obstacle Layer (7:43)
Obstacle Challenge Bonus - Mixing up the Textures (7:46)
A Button Class
Create Button Class (3:23)
Set Initial Properties on Button (4:27)
Set Button Scale Based on Touch Events (4:52)
Test Button and Fix Scaling Issue (7:27)
Target Action Pattern (5:43)
Test Button Press Event (4:01)
Source Tree - Discard Changes to TPGameScene (1:56)
Review of Button Class (7:14)
Game Over Menu
Import Graphics For Game Over Menu (3:42)
Setup Properties on Game Over Menu (3:45)
Center Rect Property (8:20)
Test Menu Panel Display (4:25)
Additional Menu Features
Setup Title Nodes on Game Over Menu (7:55)
Add Display of Medal (7:29)
Add Text Alignment to TPBitmapFontLabel (7:22)
Add Text Labels to Menu (6:57)
Add Game Over Text and Play Button to Menu (5:30)
Animate Game Over Text (5:02)
Animate Menu Panel (5:04)
Space Cannon - Crash on Quit Bug Fix (2:59)
Complete Show Animation For Game Over Menu (4:28)
Game State
Setup Game State in the Game Scene (7:49)
Trigger Game Over State (6:08)
Start New Game On Button Press (6:55)
Score Display
Display Scores and Medal on Game Over Menu (8:52)
Use NSUserDefaults to Save Best Score (7:28)
Add Effects
Add Fade To Black Transition Between Games (5:15)
Add Bump Effect On Plane Crash (4:23)
Get Ready Menu
Setup TPGetReadyMenu Class (4:22)
Add Get Ready Text (4:47)
Add Tap Icons to Get Ready Screen (8:17)
Hide Get Ready Menu When Game Starts (7:23)
Challenge 9: Weather
Weather Challenge Intro - Weather Effects in Tappy Plane (2:05)
Weather Challenge - Create Snow Effect (3:46)
Weather Challenge - Create Rain Effect (3:10)
Weather Challenge - Create Weather Layer Class (7:33)
Weather Challenge - Setup Weather Conditions Property (4:22)
Weather Challenge - Setup Constants For Tileset Name (4:28)
Weather Challenge - Display Weather Layer (4:28)
Weather Challenge - Complete Weather Challenge (3:59)
Additional Tappy Plane Assets
Tint Plane Red When it Crashes (5:20)
Freesound.org for Great Sound Assets (2:36)
Sounds
Creating Looping Sounds with Audacity (5:21)
Refresh on Using afconvert to Prepare Audio (4:12)
Sound Manager For More Advanced Audio (6:29)
Add Crunch Sound on Plane Crash (4:46)
Add Star Collection Sound (5:00)
Add Button Sound (6:15)
Add Engine Sound to Plane (8:15)
Add Rain Sound (5:19)
Tappy Plane Conclusion
We've Completed Tappy Plane (3:23)
Alien Runner
Making Levels with Tiled (2:28)
Resizing Tiles (5:07)
Create Tileset Image to Use With Tiled (7:10)
Tiles
Creating a Tiled Map (6:26)
Complete Level Using Tiled (7:17)
Setup Alien Runner Project (4:30)
Import JSTileMap (2:36)
Load Tile Map (4:15)
Setup Camera Node (5:34)
Scroll Map As Camera Moves (3:28)
Add Clamping to Camera (5:39)
Setup Class for Player (4:33)
Add Object Layer to Tiled Level (3:55)
Position Player With Marker From Map Object Layer (4:54)
Camera Nodes
Make Camera Follow Player (4:51)
Add Velocity to Player and Apply Gravity (7:22)
Discussion on Using Time Delta for Updates (8:10)
Setup Target Position on Player (3:14)
Collisions
Define Collision Rectangle for Player (5:24)
Show Collision Rectangle Visually (3:54)
Discussion of Algorithm for World Collision (7:10)
Declare Method for World Collision (7:07)
Loop Through Coordinates for Tiles to Examine (4:34)
Get GID for Tile (5:38)
Calculate Intersection Between Player And Tile (7:46)
Work Out Which Way To Move the Player (5:35)
Complete Collision With World (7:14)
Test Collide Method (3:15)
Collide Method Review Part 1 (6:39)
Collide Method Review Part 2 (3:42)
Test Left and Right Movement (4:00)
Fix Bug in Collision Algorithm (3:17)
Accelerate Player to the Right (5:46)
Player Jumping
Give Player Jump Ability (6:12)
Get Player Jumping (4:59)
Gravity
Setup Properties For Flipping Gravity (3:47)
Apply Changes to Gravity (6:21)
Test Flipping of Gravity (2:32)
Tweak Map and Player Movement (6:24)
Frame Size With Atlas Sprites (5:00)
Fix Collision Rectangle Dimensions (5:35)
Flip Alien Image When Gravity Flipped (4:45)
Changes to Player
Add Animation to Player (5:03)
Add State And Change Texture For Player (6:16)
Reset Game When Falling Too Far (5:02)
Update Collide Method (4:23)
Collide Player With Spikes (4:08)
Make Player Bounce Of Screen When Hitting Spikes (5:46)
Changing Scenes
Setup Scene Class for Main Menu (3:55)
Add Title And Alien to Menu (4:23)
Add Label For Level and Import Button Class (4:21)
Add Play And Level Buttons (4:31)
Switch Between Scenes (3:21)
Create Level Selection Scene (4:41)
Add Disabled Property to Button (3:45)
Complete Setup of Disabled Property on Button (2:23)
Level Selection
Add Level Selection Buttons (6:10)
Position Level Selection Buttons (2:41)
Respond to Level Selection Buttons (4:54)
Create Constants File (3:49)
Setup Defaults plist for NSUserDefaults (4:37)
Save Selected Level to NSUserDefaults (6:07)
Add Constant for Highest Level (3:01)
Unlock New Levels at Game Over (5:44)
Add Ability To Complete Level (3:53)
Add Different Modes to Main Menu (7:24)
Add Extra Levels (5:39)
Fix Graphical Glitches Between Tiles (5:20)
Add Parallax Scrolling Effect (6:02)
Sound Discussion (4:07)
Challenge Player Movement
Challenge: Player Movement - Intro (1:44)
Challenge: Player Movement - Double Jump (3:17)
Challenge: Player Movement - Left and Right Movement (5:38)
Challenge: Player Movement - Hook Up Touch Events (6:43)
Challenge: Player Movement - Set Sprite Direction and Animation (4:22)
Course Complete!! (1:39)
Congratulations! Next Steps + Resources
Powered by
Add Extra Levels
Lecture contents locked
Enroll in Course to Unlock