In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
Dokumentation des Spiels Advenshoe in UE 5.3.2 Spielziel: Erschaffung eines Schuhs mit Bewusstsein
Das Spiel spielt in der Mitte des 19 Jahrhunderts. Mittelpunkt ist das Labor des Chemikers Fritschel, ein ambitionierter Chemiker, der gerne über die Grenzen des Möglichen geht. Daher scheut er auch nicht davor zurück, mit seinen Kenntnissen den Auftrag entgegenzunehmen, einen Schuh mit Bewusstsein zu erschaffen.
Im Labor befinden sich diverse Apparaturen und Chemikalien.
Das Spielprinzip ist von Point and Click Adventures, wie Deponia inspiriert. Man beginnt damit, im Labor herumzulaufen und diverse Materialien einzusammeln. Diese lassen sich entweder untereinander durch Drag n Drop miteinander vercraften oder an den Apparaturen Analysieren oder weiterentwickeln. Mit den weiterentwickelten Materialien kann man wieder weitercraften. Das Ziel ist es, am Ende alle richtigen Dinge zum finalen Rezept, dem Schuh zu kombinieren.
Alle Dinge, die sich vercraften lassen, oder interagierbar sind, sind als Items in der Itemdatacomponent hinterlegt.
Prinzipiell gibt es 2 Arten von Items. Zum Einen Items, die man ins Inventar bekommt. Diese werden z.B. zum craften verwendet werden und haben alle ein ähnliches ItemBlueprint.
Manche davon lassen sich in der Spielwelt in Form eines Actors finden und aufheben. Andere erhält man durch Crafting oder Interaktionen mit Geräten (später genauer erläutert).
Jedes mal, wenn ein Item erhalten wird, erscheint oben links eine Textbox, welche anzeigt was für ein Item man gerade bekommen hat.
Für Items, die sich nicht nur im Inventar, sondern auch in der Spielwelt befinden, existiert die LookAt function, durch die die sogenannte custom render depth eingeschaltet wird. Dadurch werden postprocessing Outlines erzeugt, wenn das Item oder die Apparatur angeschaut werden.
Im ersten Schritt wird dabei gecheckt, ob man gerade mit dem Actor interagieren kann (bestimmt durch die Variable isInteractable).
Wenn isInteractable true ist, wird wie bereits erwähnt die custom render depth für das Objekt eingeschaltet, um outlines zu erzeugen.
Im letzten Schritt wird dann noch ein Text gesetzt, der auf dem Bildschirm angezeigt wird (Variable RetText). Der Text wird geleert, wenn man mit dem Actor nicht interagieren kann, damit in solch einem Fall kein Text im Screen erscheint.
Hier einmal am Beispiel des Ofens, wie die LookAt function aussieht:
Das Äquivalent dazu ist das NotLookAt Event. Dieses wird getriggert, wenn der Actor nicht mehr angeschaut wird.
Dabei wird lediglich die custom render depth wieder abgeschaltet..
Ich habe mein in T2 erstelltes Inventarsystem weiterverwendet und noch ausgebaut.
Zusätzlich zum eigentlichen Inventar mit seinen Slots wird darüber eine kleine Hilfestellung angezeigt, die eine weitere Mechanik des Inventars vorstellt. Das Crafting. Diese wird gleich noch genauer erklärt.
Außerdem ist unten links noch eine Anzeige, welche zeigt wie man das Inventar wieder schließt: (I) Schließen
Das Crafting System ist in seiner Funktionsweise an dem aus der Videospielreihe „Deponia“ orientiert.
Während das Inventar noch mithilfe der genannten Tutorial-Reihe gemacht wurde, ist dieses System unabhängig dessen erarbeitet worden.
Items lassen sich im Inventar durch Drag and Drop miteinander kombinieren. Dabei spielt es keine Rolle, ob Item1 auf Item2 gedroppt wird oder umgekehrt. Das ist möglich, da in der ItemData für jedes Item alle Rezepte hinterlegt sind (Siehe weiter oben bei ITEM_DATA Spalte „Recipes“). Können zwei Items nicht miteinander kombiniert werden, tauschen sie einfach ihre Plätze.
Beispielhaft wird das mithilfe der bereits erwähnten Anzeige über dem Inventar veranschaulicht, bis man das erste mal etwas vercraftet hat.
Manche Items lassen sich nicht mit anderen direkt kombinieren.
Diese müssen erst in der richtigen Apparatur analysiert oder anderweitig weiterentwickelt werden.
Dafür gibt es das Interaction System. Auch dieses ist wie das zuvor angeführte Crafting System selbstständig ohne Code Vorgabe erarbeitet.
Insgesamt gibt es dafür 4 Apparaturen:
- die Liebig- apparatur
- den Destillierer
- einen Ofen
- den Tisch.
Abhängig von der Apparatur und dem Rezept werden unterschiedlich viele Slots zum Einfügen/Hineinlegen/Kombinieren/etc. angezeigt.
Um beispielsweise den Ofen zu verwenden, müssen erst 3 Holzscheite hineingelegt werden, bevor die Items dort im 2. Schritt weiterentwickelt werden können.
Mit dem Kolben des Destillierers lässt sich hingegen erst interagieren, nachdem man die richtige Substanz in der anderen Teil des Apparates gegeben hat.
Es gibt verschiedene Screens, die aufgerufen werden können.
Startscreen
Option Menu
Pausescreen
Inventar
Erweitertes Inventar
Endscreen
Ich habe (mit Ausnahme des Feuereffects) alle 3D Assets und Texturen selber modelliert. Teils aus dem Kurs Gameart im 3 Semester, einige habe ich noch in diesem Semester gemacht. Der Character ist auch selbst modelliert. Die Sprites der Items im Inventar sind auch selbst gemacht.
Feuereffect
Da wir in Character Art keine Aufnahmen mehr selber machen konnten, habe ich Mixamo Animationen verwendet. Der Character ist selber modelliert und texturiert.
Für die Blendspaces und das Riggen des Characters in UE5 habe ich mich an folgendem Tutorial orientiert.