Incom ist die Kommunikations-Plattform der Technische Hochschule Augsburg Gestaltung

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Sommert Tim - Erweiterung eines Tutorials/Templates

Sommert Tim - Erweiterung eines Tutorials/Templates

Hier dokumentiere ich meine Erweiterungen zu einem vorhanden Template. In diesem Fall habe ich das 2D-Sidescroller-Template benutzt

Bitte zum Original Vergleichen, welches bei den Vorlesungsfolien zu finden ist!

Als Grundlage habe ich das gegebene 2D-Sidescroller Projekt benutzt und ausgearbeitet. Es enthielt bereits eine Steuerung und zwei Animierte Sprites.

Eigene Flipbooks und Sprites erstellt und importiert

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_10_03.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_10_03.png

Ich habe meine Sprites aus einem anderen Kurs ausgebessert und regelkonform importiert. Dann habe ich zu jeder gewollten Animation ein Flipbook erstellt und dieses den Charakteraktionen zugewiesen. Nach Abfragre isJumping? Wird der springende Spirte gesetzet und ab onLanded der Idle-Sprite.

Jump und Doublejump mit Limitierung

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_28_54.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_28_54.png

Zunächst habe ich eine Doppelsprungfunktion eingefügt. Zur Abfrage, um einen Doppelsprung zu ermöglichen habe ich mich bei Schwierigkeiten an ein Youtubevideo gewendet. Sonst beruht alles auf eigenem Code. Auch die Limitierung an aufeinanderfolgenden Sprüngen ist durch eine Variable, welche mitzählt und ein Limit-Integer geregelt. Hier ist es auch möglich, das Limit zu erhöhen, sollte es irgendwann einmal Level-Ups in dem Spiel geben. So kann man z.B. Dreifachsprünge freischalten.

Die Animationen zu den jeweiligen Zuständen habe ich im Nachhinein noch eigens ergänzt, um das ganze etwas visuell aufzupolstern.

NPC in spielbaren Character umgewandelt

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_43_25.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_43_25.png

Ich habe teile des Tukancodes auf den NPC übertragen und diesen per Flip-Flop steuerbar gemacht. Dann habe ich bei diesem die Flipbooks auf Aktionen umgemapped, damit sie den Hasen repräsentieren. So kann man auf den Sprite von Vladimir zugreifen.

Einfügung von Menüs

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_06_22.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_06_22.png

Basierend aus dem angeeigneten Wissen von Guides und Videos habe ich ein Menüsystem produziert. Dieses basiert auf einem neuen Level, welches bei Spielstart in das Spiellevel lädt. Dazu gibt es die Option per Buttonclick zu weiteren Menüs zu wechseln, oder das Spiel zu verlassen.

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_10_52.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_10_52.png

Das Prinzip funktioniert auch im Spiel, wobei man das Spiel pausieren kann und zum Start oder aus dem Spiel gehen kann. Dabei wird nun der Hintergrund einem Blur ausgesetzt und das Spiel hält im Ganzen an. Möchte man nun weiterspielen, kann man die Gameloop wieder aktivieren oder man schaltet zwei Balken sichtbar, welche das Spiel verlassen oder zum Hauptmenü zurückkehren.

Alternative Kamera

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_05_18.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_05_18.png

Per Keyboardinput ist es nun möglich die aktive Kamera für den Spieler zu ändern, Dazu wird die alte entkoppelt, und die neue angekoppelt über die set active methode.

Bewegende Plattformen

2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_06_41.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_06_41.png
2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_05_45.png2D_SideScrollerBasic - Unreal Editor 22.11.2022 12_05_45.png

Ich habe den Sprite der statischen Plattform genommen und einem Actor zugeteilt. Dieser wird durch eine Timeline in konstantem Intervall diesselbe Streke hoch/runter bzw. von links nach rechts gefahren. Es legt Grundsteine für das Platforming. Als Material habe ich mich dem Startercontent bedient, um sie für den Prototypen visuell von den statischen Plattformen hervorzuheben.

Spiel Pausieren und kontinuieren

Ich habe mich noch einmal an den Widget und Levelblueprint gesetzt und eine Lösung gefunde, das Spiel zu pausieren und wieder laufen zu lassen. Dabei wird nun auch der Mousecursor im Pausemenü korrekt angezeigt. Das Widget während dem Spiel wird einfach unsichtbar geschaltet

2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_33.png2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_33.png
2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_22.png2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_22.png
2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_12.png2D_SideScrollerBasic - Unreal Editor 23.11.2022 15_44_12.png

Simple Dialouge

2D_SommerTim - Unreal Editor 27.11.2022 13_57_18.png2D_SommerTim - Unreal Editor 27.11.2022 13_57_18.png
2D_SommerTim - Unreal Editor 27.11.2022 13_57_47.png2D_SommerTim - Unreal Editor 27.11.2022 13_57_47.png
2D_SommerTim - Unreal Editor 27.11.2022 13_57_07.png2D_SommerTim - Unreal Editor 27.11.2022 13_57_07.png

Über einen NPC und ein Interface habe ich noch einen kleinen Dialog eingebaut, den man in einem gewissen Triggerbereich abspielen kann.

Erkentnisse

Es ist doch erstaunlich wie viel reine logik und Abfrage hinter dem ganzen Spielsystem steckt und welche Möglichkeiten zur Kapselung etc. man hat. Es war doch anfangs vor allem bei anderen Tutorials schwierig sich mit den Rotationen und Locations von world und local zurechtzufinden. Auch das Herangehen an ein abgestimmtes Blaupausensystem ist noch konzipieraufwendig. Von Guides und Anleitungen sowie Erklärvideos kann man hier oft nicht absehen, da man sich sonst oft an Stellen festhängt. Ich habe vor allem für mich gelernt, dass man die Logik und Basics hinter dem ganzen auffrischen und wieder verstehen sollte, bevor man mit dem Blueprinting überhaupt anfängt. Denn hat man die Logik verstanden, so braucht man manchmal auch kein Tutorial mehr um etwas einzuführen.

Link

Google Drive

Oder unten als ZIP

Ein Projekt von

Fachgruppe

Interaktive Medien

Art des Projekts

Freies Projekt

Betreuung

foto: Thomas Rist

Zugehöriger Workspace

TKCS 22w

Entstehungszeitraum

Wintersemester 2022 / 2023