Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React CSS Angular Node.Js PHP HTML5 Typescript
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Personal Development Neuro-Linguistic Programming Personal Transformation Life Purpose Mindfulness Sound Therapy Coaching CBT Cognitive Behavioral Therapy
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Copywriting Email Marketing Startup YouTube Marketing

DevelopmentGame DevelopmentSpriteKit

Endless Worlds with Swift and Sprite Kit

Create limitless levels in a variety of projects, such as RPG's, endless runners, platform games, Frogger games, & more!
Rating: 4.5 out of 54.5 (47 ratings)
480 students
Created by Justin Dike
Last updated 1/2017
English
English [Auto]

What you'll learn

  • 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

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

Instructor

Justin Dike
CartoonSmart / Owner / Leader Developer and Instructor
Justin Dike
  • 4.3 Instructor Rating
  • 664 Reviews
  • 53,061 Students
  • 21 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.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.