Endless Worlds with Swift and Sprite Kit

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course Description

****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8

This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg

Session 1 – The Endlessly Moving World Node

In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more!

Session 2 – Endless Level Units

In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player.

Session 3 – An Endless Frogger Project

In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more!

Session 4 – Endless RPG Style Level

In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them)

Session 5 -An Endless Runner

Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects.

Who this course is for:

  • Intermediate Swift / Sprite Kit developers

Instructor

CartoonSmart / Owner / Leader Developer and Instructor
  • 4.3 Instructor Rating
  • 702 Reviews
  • 52,247 Students
  • 23 Courses

Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine.

Expected Outcomes

  1. Use a world node to move all the visible objects in play Create level units, or sections of levels, invisibly stitched together, moving at once Generate parts of levels as needed and remove them when they aren’t in use Add player controls, like jumping, running, attacking, etc Program physics objects and detect collisions or contacts Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();
  2. Create level units, or sections of levels, invisibly stitched together, moving at once Generate parts of levels as needed and remove them when they aren’t in use Add player controls, like jumping, running, attacking, etc Program physics objects and detect collisions or contacts Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();
  3. Generate parts of levels as needed and remove them when they aren’t in use Add player controls, like jumping, running, attacking, etc Program physics objects and detect collisions or contacts Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();
  4. Add player controls, like jumping, running, attacking, etc Program physics objects and detect collisions or contacts Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();
  5. Program physics objects and detect collisions or contacts Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();
  6. Reset levels when players are killed or move outside of the play area Course content 5 sections • 33 lectures • 6h 30m total length Expand all sections The Endlessly Moving World Node 7 lectures • 1hr 9min Series Introduction Preview 01:22 All Course Projects (For Every Section) 00:05 Section Introduction Preview 07:22 Quick Overview of the Starting Template 11:05 Create a Perpetually Moving World Node 16:33 Clearing Unseen Nodes and Adding the Player 14:25 Touching Objects to Move them and adding the Contact Listener 18:06 Endless Level Units 4 lectures • 1hr 1min Introduction to Project 2 Preview 01:50 Creating the Level Unit Class 19:15 Moving the World and Platforms within the Level Unit 20:11 Centering the World on the Character 19:54 The "Crossy Frogger" Project 6 lectures • 1hr 20min Crossy Frog Introduction Preview 01:52 Tweaks from the Last Project and Creating Multiple Level Types 16:06 Different Objects for Different Level Types 18:26 Changing Object Speeds and Repositioning Offscreen Objects 12:46 Hopping on Water Objects 15:39 Resetting Levels 15:36 Endless RPG Style Level 6 lectures • 1hr 4min Endless RPG Introduction Preview 02:23 Adjusting the PlayerClass and Movements 16:22 Adding Endless LevelUnits Going North 12:48 Adding Endless Levels Units Going North (continued) 09:27 Adding All LevelUnits and Clearing Unseen Units 12:46 Adding Grass and Water Objects within Each Level Unit 10:07 An Endless Runner 10 lectures • 1hr 56min The Endless Runner Tutorial - Introduction Preview 01:57 Initial Setup 15:40 Player Setup and Adding Jump Controls 11:10 Player Setup and Adding Jump Controls (continued) 09:44 Adding Gliding and Sliding Controls 12:44 Looping Background and Resetting the World 13:56 Looping Background and Resetting the World (continued) 08:56 Adjusting the Level Unit Class 10:44 Adjusting the Object Class 16:26 Contact Testing and Wrap Up 14:40 Requirements Some fundamentals of programming with Swift Xcode on a Mac Description ****INCLUDES UPDATED SOURCE PROJECTS FOR SWIFT 3 and Xcode 8 This six hour Swift and Sprite Kit tutorial series has an one big theme tying each example project together: gameplay that can go on as long as the player can manage to stay alive. The challenge of an endless-style game isn't to beat up as many street thugs as possible, it taps into something more addictive. An endless game tests your reflexes and makes you struggle to best yourself again, and again, and again. Modern classics like Crossy Road or Banana King are two great examples of endless-style games we'll try to emulate in this series. Along the way, you'll learn some key concepts every Swift and Sprite Kit developer should have in their arsenal of knowledg Session 1 – The Endlessly Moving World Node In this first project we will populate a perpetually moving “world” node with randomly generated physics objects. We also look at converting CGPoint locations in Swift from the worldNode coordinates to scene coordinates, enumerating through every child in the scene, adding and clearing out nodes as needed, and much more! Session 2 – Endless Level Units In this series of videos we will modify the project from the first section and create “level units”, for example, sections or modules of a level that each can contain their own objects and be generated as needed or removed when they become out-of-view. The finished example project creates a kind of elevator style game where the character hops from platform to platform as long as possible. We will also look at the code to randomly move each platform (or any object) up and down and switch direction if it exceeds the visible screen area, as well as some ever-useful code to always center a world node on the player. Session 3 – An Endless Frogger Project In these video tutorials we will create an endless game similar to Frogger or Crossy Road. Level units will again be created on the fly, with the distinction now of being either a “road” unit or “water” unit, each one having their own type obstacles. Physics-wise we will have four Body types: road, water, roadObject (cars) and waterObject (lilypads), and leave the door open to many more! Session 4 – Endless RPG Style Level In this session we will convert the previous project to an endless top-down viewed RPG style world. The player can wander endlessly through randomly generated worlds, possibly to avoid objects or collect them. We will setup an array to track “level unit” locations that have already been added, then as the character wanders around, create new level units as needed. We will also include the option to remove level units the character has left (which could replace those units when the character walked back to them) Session 5 -An Endless Runner Modeled after the very-popular Banana Kong game, this 5th project builds upon our previous ones in the series with a few notable changes, and ironically some simplifications. This session begins by limiting character movements to only one direction. Then we'll give our character some typical side scroller controls (jumping, running, sliding and gliding). We'll add a looping parallax background, and adjust our LevelUnit and Object classes to create ground/water planes and obstacles for a 2D platform world. And finally we'll finesse our collision detection code so the character can drop down through Platforms when swiping down, break certain objects when sliding, and of course get killed when running into other objects. Who this course is for: Intermediate Swift / Sprite Kit developers Show more Show less Instructor Justin Dike CartoonSmart / Owner / Leader Developer and Instructor 4.3 Instructor Rating 702 Reviews 52,247 Students 23 Courses Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'6778fcc259aa409b',m:'63d2221ba1bb8dc42a9c4f81117a71579d9cdc3a-1627757164-1800-AZS9mGhlOoWQnlwDMcjkcqGZoYTgODN9Mu5Pq0kmToZ1vDKHBIUJhafCnkj43Tacj/jGjNrBSD1r8QUwFPUBcjU6LYoxBTTl+v81L7qYFjjCeFxTn+xZET75GKOvNfO8gCEd/KE3eWpKli1qN9DkKStnAXAhPPmrJLNK5JdpT4+6vWMXi93PprWsYXkQaBE9Dg==',s:[0xccbef4b9c9,0x8bb0809723],}})();