
In diesem Video möchte ich mich kurz vorstellen und euch nochmal erklären, was wir in diesem Kurs zusammen entwickeln werden
Hier findet ihr eine Liste mit allen benötigten Materialien sowie einen Download für alle Ressourcen, die wir im Kurs verwenden werden
Wir sprechen kurz darüber was das SpriteKit Framework überhaupt ist und klären dabei auch die generelle Frage, was ein Framework eigentlich ist
Wir erstellen zusammen unser erstes SpriteKit Projekt in Xcode und schauen uns das Template an
Eine kurze Einführung in die Klassen SKScene und SKNode
Wir schauen uns in unserem Projekt beispielhaft SKScene und SKNode Instanzen an
Eine kurze Einführung in die Klasse SKSpriteNode
Wir implementieren beispielhaft ein paar SKSpriteNodes in unserem Projekt
Eine kurze Einführung in die Klassen SKAction
Wir probieren ein paar SKActions aus und schauen, wie wir damit unsere Nodes beeinflussen können
Eine kurze Einführung in Physics im SpriteKit Framework
Wir probieren SKPhysics zusammen in unserem Demo-Projekt aus
Eine kurze Einführung in den Asset Katalog und das Arbeiten mit Assets in SpriteKit
Wir fügen neue Assets zu unserem kleinen Projekt hinzu und erstellen uns eine erste kleine Animation
Wir werfen einen Blick auf den Update Loop und was für Möglichkeiten wir beim Rendern der Scene haben Einfluss zu nehmen
Eine kurze Einführung in die Klasse SKTileMapNode
Wir schauen uns eine einfache TileMap mit Single Tile Groups an
Wir schauen uns eine einfache TileMap mit 8-Way Groups an und lernen außerdem das Arbeiten mit alternativen Tiles kennen
Wir sprechen noch kurz über weiter nicht ganz so wichtige Nodes im SpriteKit Framework
Wir werfen nochmal kurz einen Blick auf die fertige App und die Projektstruktur bevor wir dann von Grund auf anfangen
Wir erstellen das Projekt für unser Spiel "Super Indie Runner" und nehmen erste grundlegende Einstellungen vor
Wir erstellen unsere TileMap und unser dazugehöriges TileSet und schauen uns an, wie wir damit Level erstellen können
Wir erstellen ein Extension File für die Klasse SKNode, in dem wir einige wichtige Erweiterungen implementieren, die uns das Arbeiten mit SKTileMapNodes und anderen Dingen erleichtern
Wir benutzen unsere neue Extension, um unsere Map im Spiel zu laden und zu skalieren
Wir erstellen grob eine erste Version unserer Map und fügen außerdem schon weitere Sprites als dekorative Elemente hinzu
Wir erstellen die Klasse Layer als Subklasse von SKNode, um verschiedene Schichten leicht in unser Spiel implementieren zu können
Wir erstellen die WorldLayer Property in der GameScene und schaffen damit Bewegung in unsere Map zu bringen
Wir erstellen eine Enumeration mit verschiedenen Zuständen (Game States) unseres Spiels um nicht immer automatisch zu starten
Wir erstellen die Klasse RepeatingLayer als Subklasse von Layer, um unendlich oft wiederholte Layer für z.B. Hinter- und Vordergrund zu ermöglichen
Wir fügen einen Hintergrund zu unseren Spiel hinzu und benutzen dabei unsere neue Klasse RepeatingLayer
Wir erstellen eine neue Datei, in der wir von jetzt an alle Konstanten für unser Spiel speichern werden
Wir erstellen die Klasse für unseren Player und fügen die entsprechenden Assets zu unserem Projekt hinzu
Wir implementieren Physics in unser Spiel um Schwerkraft zu bekommen
Eine kurze Einführung in die Entwicklung unseres physikalischen Bodens, bei dem wir ein paar spezielle Dinge beachten müssen
Wir beginnen mit der Implementation unseres physikalischen Bodens
Wir erstellen im Code die Plattformen, denen wir physikalische Körper zuweisen wollen
Wir erstellen die GroundNode Klasse und ergänzen unsere GameScene um die didSimulatePhysics Methode um unseren Boden dynamisch überwachen zu können
Wir vervollständigen die Funktionalität unseres physikalischen Bodens
Wir beginnen damit verschiedene Zustände (States) für unseren Spieler zu definieren, die eigene Animationen bekommen sollen
Wir implementieren die Klasse AnimationHelper, die uns ab jetzt mit Animationen helfen soll
Wir benutzen unseren neue Klasse AnimationHelper, um unsere Spielfigur zu animieren
Wir beginnen damit einen Sprung-Mechanismus für unseren Player zu entwickeln
Wir definieren eine neue Property von Player die es uns ermöglicht zu überprüfen, ob wir in der Luft oder auf dem Boden sind
Wir lernen das Konzept von Physics Kategorien kennen, um Kontakte zwischen verschiedenen Physicsbodies behandeln zu können
Wir implementieren die Möglichkeit eines Double Jumps
Wir implementieren noch ein kurzes Abbremsen unseres Falls
Wir implementieren eine transparente SpriteNode als Ziellinie, die dann als Abbruchbedingung für unser Spiel funktioniert
Wir implementieren die ObjectHelper Klasse, die uns dabei helfen wird, alle möglichen Objekte unterschiedlich zu behandeln
Wir implementieren zunächst statische Hindernisse in unserem Spiel
Wir stellen sicher, dass unser Spieler auch durch einen Sturz in den Abgrund stirbt
Als nächstes fügen wir auch bewegte Gegner zu unserem Spiel hinzu und benutzen dabei die Animations Timeline im Scene Editor um sie zu bewegen
Eine kurze Einführung in die Red-Boxing-Technik die wir benutzen werden um die Münzfelder in unserem Spiel zu erstellen
Wir erstellen die Red Boxes und ergänzen unserem ObjectHelper
Wir fügen die Assets für unsere Münzen hinzu und testen unsere Implementation
Wir implementieren den Zähler für unsere Münzen um Punkte sammeln zu können
Wir beginnen damit uns mit Partikeleffekten und EmitterNodes zu beschäftigen
Wir erstellen den Partikeleffekt für unsere Münzen
Wir fügen den Partikeleffekt zu unserem Spiel hinzu, außerdem gibt es eine kleine Challenge für das Arbeiten mit Partikeleffekten
Die Lösung für die Challenge über Partikeleffekte
Wir fügen noch weitere einsammelbare Gegenstände hinzu, indem wir Supercoins platzieren
Eine kurze Einführung in die Idee unseres Head Up Displays
Wir erstellen Protokoll und GameHUD Klasse und fügen außerdem einen eigenen Font zu unserer App hinzu
Wir fügen unser HUD zum Spiel hinzu
Wir implementieren die Kommunikation zwischen HUD und GameScene
Eine kurze Einführung in das Konzept unserer Popups
Wir fügen die Assets für die Popups hinzu und erstellen außerdem die drei neuen Klassen
Wir erstellen die SpritekitButton Klasse, mit der wir eigene Buttons in SpriteKit erstellen und benutzen können
Wir implementieren die Klasse BannerLabel für die Titel unserer Popups
Wir implementieren die Buttons für unserer PopupNode Klasse
Eine kurze Einführung in unser angedachtes Punktesystem mit Münzen, Sternen und Supercoins
Wir erstellen das ScoreManager Struct für das Tracken unseres Punktesystems
Wir vervollständigen das ScoreManager Struct mit der compare Methode zum Vergleichen von Scores
Wir beginnen mit der Arbeit an unserer ScorePopupNode Klasse
Wir fügen zwei neue Methoden zu unserem ScorePopup hinzu
Wir fügen weitere Methoden zum ScorePopup hinzu, auch für Animation
Wir vervollständigen unsere ScorePopupNode Klasse
Wir sind zurück in der GameScene und ergänzen einige Dinge für unsere Popups
Wir fügen die Möglichkeit hinzu, unser Spiel pausieren zu können und benutzen dazu ein Popup
Wir ergänzen unsere GameScene mit dem GameState paused
Wir erstellen eine neue Klasse für unsere Menü Scene
Eine kurze Einführung in das Konzept unserer Scene Delegation
Wir implementieren das SceneManagerDelegate
Ein kurzer Überblick über den Aufbau unserer Level Scene
Wir erstellen die Klasse Level Scene
Wir ergänzen die ButtonHandler Methode und beginnen mit dem Layout der Level Scene
Wir implementieren die Level Boxen für unsere Level Scene
Wir ergänzen die Popup Methode und vervollständigen beide Button Handler in der Level Scene
Wir passen unsere GameScene an, so dass wir ab sofort dynamisch Level aus der Levelauswahl laden können
Wir vervollständigen die Popups in unserer GameScene
Wir fügen weitere Gegner und Münzfelder zu unserem Level hinzu
Wir fügen ein Powerup zum Spiel hinzu, dass uns für kurze Zeit unverwundbar macht
Wir implementieren ein zweites, höher gelegenes Ziel, das nochmal extra Punkte für das Erreichen gibt
Wir erstellen eine zweite Welt mit einem anderen Thema als Graswelt
Wir fügen ein Hintergrundbild im Menü hinzu und ein VordergrundLayer in unserer Graswelt
Wir ergänzen unsere App um Audio, indem wir sowohl Hintergrundmusik als auch Sounds für bestimmte Ereignisse implementieren
Wir fügen ein App Icon und ein Launch Image hinzu
Herzlichen Glückwunsch, ihr seid am Ende des Kurses angelangt! Wir sprechen kurz darüber, was ihr jetzt tun könnt!
Dieser Kurs ist über das SpriteKit Framework und wie wir es benutzen können um unser eigenes Spiel im Stil von Nintendos Bestseller Super Mario Run zu entwickeln.
Wir werden die App von Grund auf programmieren, d.h. ihr braucht keinerlei Vorkenntnisse in der Spieleentwicklung. Dennoch werden wir vor allem gegen Ende des Kurses schon mit fortgeschrittenen Konzepten arbeiten und so ein umfangreiches und vollständiges Spiel entwickeln, das im App Store veröffentlicht werden kann!
Allein der Quellcode und alle Ressourcen, die ihr von uns kostenlos zum Kurs dazubekommt, kosten normalerweise schon mehrere Hundert Euro und ihr erhaltet hier zusätzlich noch über 10 Stunden Videos, in denen alles bis ins kleinste Detail erklärt wird plus persönlichen Support von uns!
Nachdem wir euch eine gründliche Einführung in das SpriteKite Framework und seine wichtigsten Bestandteile gegeben haben, beginnen wir direkt mit der Entwicklung unseres Spiels ohne uns Sorgen machen zu müssen etwas nicht zu verstehen.
Mit SKTileMapNode und dem Scene Editor werden wir dann lernen atemberaubende Welten und Level visuell zu erstellen ohne Code schreiben zu müssen.
Das Spiel selbst wird:
beinhalten.
Wie in allen unseren Kursen bekommt ihr von uns alle Resources und alle unsere Projekte und Quellcode immer zur Verfügung gestellt!
Es ist sicher hilfreich, wenn ihr schon etwas Erfahrung mit Xcode und der Programmierung in Swift habt, jedoch absolut keine Voraussetzung! Da ihr auf diesen Kurs lebenslang Zugriff habt, könnt ihr ganz nach eurem Tempo lernen.
Damit ist dieser Kurs der perfekte Einstieg die Spieleentwicklung!