In this iOS video tutorial series we will explore (quite literally) endless worlds. That is to say, we will create levels procedurally that can challenge players with limitless gameplay.

Module 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!

Unit 1

Very Minor Changes for Swift 2

Unit 2

Course Assets (Starting Template and Finished Project 1)

Unit 3

Introduction to Project 1

Unit 4

Quick Overview of the Starting Template

Unit 5

Create a Perpetually Moving World Node

Unit 6

Clearing Unseen Nodes and Adding the Player

Unit 7

Touching Objects to Move them and adding the Contact Listener

Module 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 get created or removed as needed. 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.

Unit 1

Course Assets (Finished Project 2)

Unit 2

Introduction to Project 2

Unit 3

Creating the Level Unit Class

Unit 4

Moving the World and Platforms within the Level Unit

Unit 5

Centering the World on the Character

Module 3

Crossy 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" type or "water" type, 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 possibly!

Unit 1

Course Assets (Starting and Finished Project 3)

Unit 2

Crossy Frog Introduction

Unit 3

Tweaks from the Last Project and Creating Multiple Level Types

Unit 4

Different Objects for Different Level Types

Unit 5

Changing Object Speeds and Repositioning Offscreen Objects

Unit 6

Hopping on Water Objects

Unit 7

Resetting Levels

Module 4

Endless RPG Style Level

In these vides 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)

Unit 1

Course Assets (Starting and Finished Project 4)

Unit 2

Endless RPG Introduction

Unit 3

Adjusting the PlayerClass and Movements

Unit 4

Adding Endless LevelUnits Going North

Unit 5

Adding All LevelUnits and Clearing Unseen Units

Unit 6

Adding Grass and Water Objects within Each Level Unit

Module 5

An Endless Runner - The Grand Enchilada

This series of video tutorials teaches how to create a Banana Kong style game, where the character can run, slide, jump or glide to get past all the elements in the game. This super fast running app uses Swift and Sprite Kit and is completely optimized to handle generating and removing levels on-the-fly.