In Woche 3 mussten wir uns im Team nochmals etwas finden und die Vision unseres Spieles nochmals ganz genau festlegen. Nebenher haben wir zum einen am Unity Prototypen sowie am Konzept für das Spieler Design und dem Environment gearbeitet.
Player Controls
(von Marcel)
Zu Beginn der Woche musste ich mich vor allem in Unity wieder einarbeiten. Mir bereitete es anfangs etwas Schwierigkeiten. Besonders anspruchsvoll fand ich den Spagat dem zwischen schnellem Prototypen und dem Verstehen von Systemen in Unity.
Nach diesen Startschwierigkeiten konnte ich verschiedene Implementierungen des Charaktercontrollers testen. Im ersten Schritt hatte ich den Controller mit einer Maus/Tastatur Steuerung umgesetzt. Nach Rücksprache mit dem Team haben wir uns jedoch entschieden auf Controller zu wechseln. Aufgrund der limitierten Zeit haben wir uns auch entschieden nur ein Control Scheme umzusetzen.
Spielerfähigkeiten
Diese Woche habe ich noch keine Spielerfähigkeiten implementiert, konnte mir jedoch bereits Gedanken über mögliche Fähigkeiten machen.
In diesem Bild sind Visualisierungen von relativ einfachen Fähigkeiten zu sehen (x = Gegner, A = Pet, O, Spieler).
Umwelteinflüsse der Fähigkeiten
Vor allem im Zusammenhang mit Puzzleelementen in den Levels wäre es interessant, wenn gewisse Objekte im Level von Fähigkeiten verändert werden könnten. Beispielsweise Feuer-Fähigkeiten könnten gewissen brennbare Oberflächen anzünden, oder Fähigkeiten mit Push back könnten Objekte verschieben. Interessant wäre hierbei natürlich, wenn diese Effekte nicht nur für Puzzles einen Einfluss hätten, sondern auch für den Kampf.
Debuffs
Vor allem, um in der limitierten Zeit interessante Fähigkeitskombinationen herzustellen, gäbe es auch die Möglichkeit identische Fähigkeiten mit jedoch unterschiedlichen Debuffs zu kreieren. Mögliche Effekte könnten Slows, Dots (Damage over Time) oder Explosion on Death Effects sein.
Um diese Effekte klar zu kommunizieren, müssten wir zwar auch Zeit aufwenden, jedoch könnten wir Animationen und Monster Designs wiederverwenden.
Wie bereits erwähnt sind dies bisher nur Ideen. Das Ziel der nächsten Woche wird es sein den Prototypen spielbar zu machen, um vor allem die verschiedenen Fähigkeiten darin zu testen.
Enemy Behaviour
(von Jonas)
Nachdem letzte Woche ein einfaches Pathfinding implementiert werden konnte, wurde diese Woche durch Ausarbeitung des Gegnerverhaltens geprägt. Wie sollen sich die Gegner verhalten, wenn der Spieler daneben, in der Nähe oder weit entfernt ist? Zum Testen wurde ein simpler Character Controller aus den Unity Docs übernommen und als Pathfinding-Ziel gesetzt. Anschliessend ging es daran, einen simple Klassenstruktur zum Implementieren eines Behaviour Trees zu erstellen.
Ein Behaviour Tree gibt vor, wie eine Figur auf diverse Ausseneinflüsse reagiert. Dabei wird in periodischem Abstand die Baumstruktur Node für Node durchlaufen, um die momentane Aktion zu bestimmen. Selector-Nodes (im Diagramm mit “?” markiert) gehen so lange von links nach rechts ihre Child-Nodes durch, bis eine davon einen SUCCESS-State zurückgibt. Sequence-Nodes (mit → markiert) dagegen arbeiten ihre Child-Nodes nacheinander ab, bis eine davon einen FAILURE-State zurückgibt. Mit diesen simplen Regeln lassen sich schon recht komplexe Verhaltensmuster aufzeichnen.
Nach der Implementation für den Prototypen konnte auch schon ein Verhalten erstellt werden, bei dem der Gegner auf Distanz sich zufällig bewegt, bei mittlerem Abstand dem Spieler hinterherjagt, und bei Angriffsnähe zuschlägt. Dies wird vermutlich für die momentane Komplexität des Spiels ausreichen. Falls wir uns doch für ein komplexeres Verhalten entscheiden, ist der Behaviour Tree dafür ausgelegt, dass das Erweitern und das Hinzufügen neuer Verhalten möglichst unkompliziert von statten gehen kann.
Attack Patterns
Um ein paar Ideen zu bekommen, wie generische Angriffe im Detail aussehen könnten, waren skizzierte Angriffsmuster hilfreich. Diese wurden vom Flavor her noch relativ unspezifisch gehalten, da sich bei aktuellem Zeitpunkt je nach finalem Monster-Design noch recht viel ändern kann.
((E) = Gegner, (P) = Spieler)
Von diesen wurden der verzögerte AoE–Angriff mit dem Kreis, der direkte Angriff und den Schlitz-Angriff durch den Spieler in den Prototypen eingebaut, wobei der letztere mein persönlicher Favorit ist. Er zwingt den Spieler, sich aktiv Gedanken darüber zu machen, in welche Richtung er fliehen soll, da der Gegner bei zu kleiner Distanz direkt hinterherjagt. Der Gegner könnte allerdings noch zu schwierig zu bekämpfen sein, wenn noch andere Komplikationen hinzukommen, also werden wir ihn wahrscheinlich noch etwas abschwächen. Die anderen Angriffe sind etwas generisch, aber sie erfüllen ihren Zweck.
Nächste Schritte
In der nächsten Woche geht es dran, die letzten Elemente in den Prototyp zu bringen. Das bedeutet für mich die die Implementation der Buddy-Monster von Seiten Player aus, verschiedene Varianten für ein Schaden-System mit Lose State sowie Polishing & Weiterentwicklung von Angriffsmustern. Ehrlich gesagt bin ich mir nicht sicher, ob die nächste Woche allein zum vollständigen Abschliessen der Prototyping-Phase reicht, aber nützliche Fortschritte werden wir definitiv daraus ziehen können.
Environment
(von Nadja)
Zuerst habe ich mich damit beschäftigt, wie das Level aussehen/funktionieren könnte. Dazu habe ich auch ein paar Skizzen gemacht. Nach Absprache mit den anderen, wurde aber schnell klar, dass sich das Level im ganzen Prozess immer wieder ändern wird, so habe ich mich mehr aufs Design fokussiert, wie soll sie gestaltet sein? Meine Vision ist eine Höhle, in der fluoreszierende Kristalle die Höhle schwach beleuchten und es daher ein einzigartiges Farbsetting gibt. In Cinema4D experimentiere ich an verschiedenen Kristallformen umher, möchte aber, bevor ich mich da zu sehr vertiefe, erst herausfinden, ob und wie ich die Kristalle zum Leuchten bringe. Zuerst probierte ich mich an den Materialien in Cinema4D herum. Doch habe ich Probleme beim Exportieren ins Unity. Es gäbe theoretisch ein Plugin, das habe ich jedoch nicht probiert. Stattdessen habe ich mich nach dem Gespräch mit Sebastian angefangen mit Shader in Unity direkt zu beschäftigen. Nach ein paar Tutorials habe ich den ersten Shader gebaut, der die Kristalle zum Leuchten bringt. Sie sind aber noch nicht wirklich transparent und das Leuchten hat keinen Effekt auf die Umwelt. Damit werde ich mich die nächste Woche beschäftigen. Ich möchte herausfinden, was meine Möglichkeiten mit Shaders sind und ob ich so die Welt gestalten kann, wie wir uns das vorstellen.
Moodboard
Erste Versuche
Charakter Design
(von Fee)
Diese Woche ging es beim Design ans Entwerfen und Konkretisieren der Character. In unserem Game werden verschiedene Arten von Charakter vorkommen; einerseits der Player, seine “Buddies”, die Gegner und allenfalls NPCs.
Player
Zum Hauptcharakter gibt es einiges zu definieren. Auf der einen Seite muss Allgemeines festgelegt werden. Welches Alter, welche Herkunft, welches Geschlecht hat der Charakter? Auf der anderen Seite ist es genau so wichtig zu entscheiden, welche Kleidung und Accessoires unser Hauptcharakter trägt. All das erzählt eine Geschichte, woher der Player kam, bevor dieser auf der mystischen Insel strandete.
Für einen ersten Entwurf hat unser Charakter mittellanges, lockiges Haar, ist in einem Chibi Style gestaltet mit grossen Augen und grossen Ohren. Die allgemeinen Fragen werden wir nächste Woche noch genauer besprechen und definieren. Der Charakter könnte etwa ein*e junge*r Erwachsene*r sein.
Die Kleidung zeitgenössisch zu gestalten hätte den Vorteil, dass sich so der Charakter klar von der Umgebung abhebt, wenn man intensive Farben verwendet. Andererseits könnte sich so dann die Frage stellen, wieso die Insel so isoliert und nicht zeitgenössisch ist.
Gegner und Buddies
Da die Gegner und Buddies von den gleichen Spezies kommen, ergibt es Sinn diese parallel zu designen. Da sie an Monster angelehnt seien sollen, suchten wir diese Woche nach Inspiration in diesem Bereich. Eine Idee war es, dass die Buddies “Spirits” sind, also wie kleine Geister, die mit einem auf der Reise sind und den Player beschützen. Damit sahen wir aber ein Problem mit der Translucency und entschieden uns gegen diese Idee. Dass sie kleine Guides sein könnten, behielten wir aber im Hinterkopf. Eine Gestaltungsidee, die daraus folgte, war inspiriert von den “Alebrijes”, eine Tierähnliche Gestalt, die ihre Ursprünge in Mexiko hat. Sie ist fabrig mit Mustern bemalt und gilt als Spirit Guide. Die Alebrijes sind teilweise sehr detailliert und passen weniger zu unserer Biom-Idee, daher wird auch dieser Ansatz für den Moment bloss im Hinterkopf behalten.
Wir einigten uns schlussendlich darauf, unsere Monster auf ein bereits existierendes Tier zu beruhen und besonders den Körperbau zu übernehmen. Mit etwas Extras können dann auch die Biom-Aspekte schön umgesetzt werden. Momentan steht ganz oben auf der Ideen-Liste der Rote Panda.