Weblog von xeophin
Okay, dieser Titel ist natürlich in höchstem Masse gesucht – aber schlussendlich habe ich doch vor allem an den Triggern gearbeitet.
Zum einen ging es darum, dem Spieler eine Möglichkeit zu geben, mit seiner Umwelt zu interagieren. Dies wird nun ermöglicht, indem die Objekt anzeigen, was mit ihnen gemacht werden kann, wenn man sich ihnen genügend nähert.
Eine erste Version dieses Scripts erlaubte dabei nur eine einzige Aktion durchzuführen (was in den meisten Fällen auch ausreichen wird); eine erweiterte Version des Scripts erlaubt es nun aber auch, einem Objekt mehrere Aktionen zu geben, die ausgeführt werden können.
Dies scheint auf den ersten Blick wenig zu sein – tatsächlich habe ich aber diese Woche noch ein erstes Treppenhaus modelliert; sowie begonnen, Skizzen der Umgebung zu machen, wie sie dann modelliert werden soll (was, ironischerweise, schon bedingt, dass ich das Treppenhaus noch einmal etwas umbaue).
Die nächste Woche wird sich vor allem darum drehen, eine erste rudimentäre KI für die Agenten zu bauen, sowie möglicherweise verschiedene andere Aspekte des Codes aufzuräumen und für die weitere Arbeit vorzubereiten.
Eine Fixierung des Settings sowie eines Emotions-Modells wird ebenfalls nächste Woche statt finden – deshalb gibt es diese Woche nicht viel theoretischen Hintergrund. Das meiste wird in einer Woche folgen.
Nach einer doch eigentlich erfolgreich verlaufenen Präsentation diese Woche, wo ich vor den Kommilitonen meine Fortschritte vorgestellt habe, und dabei eigentlich feedbackmässig nicht allzu schlecht weggekommen bin, habe ich den Rest der Woche vor allem darauf verwendet, am visuellen Stil zu arbeiten. Hätte sich dieser als nicht machbar erwiesen, hätte da schleunigst noch ein neues Konzept her müssen. Glücklicherweise scheint dies nicht der Fall zu sein.
Particles
Dank der Hilfe von Mario von Rickenbach, der mir freundlicherweise die Scripts gegeben hat, die einen möglichen Weg für Compositing und Blendung in Unity aufzeigten, konnte ich ein System aufbauen, mit dem ich das Aussehen des Levels komplett umfärben kann.
Im Moment arbeite ich mit verschiedenen Layers, die von eigenen Kameras aufgenommen werden, und dann mit einem Composite-Shader zusammengerechnet werden. Die Layer sind im Moment folgendermassen aufgebaut:
- Layer 1: Farbe für Weiss (färbt alle hellen Stellen des Levels ein)
- Layer 2: Farbe für Schwarz (färbt alle dunklen Stellen des Levels ein – damit kann ich z.B.
Angesichts der Tatsache, dass diese Website relativ hoch oben in Google erscheint, sobald man die Stichworte XML und Unity 3D eingibt, und man auf einigen meiner Posts landet, diese aber teilweise nicht mehr sehr aktuelle Informationen enthalten, habe ich mich entschlossen, zwei Projekte auf github freizugeben, so dass sie von Interessierten angesehen und verwendet werden können.
Dialog-System
Das Ziel der letzten beiden Wochen – das Dialogsystem – ist nun effektiv fertiggestellt und funktionsfähig, wie das folgende Video zeigt.
XML oder Plain Text?
Nichtsdestotrotz war ich schon wieder drauf und dran, das gesamte System über den Haufen zu werfen.
Während des Debuggens des System fiel mir auf, wieviele Calls ausgelöst werden, um bloss ein Attribut oder ein Element zu finden. Was praktischerweise in einer Methode verpackt ist, ruft im Hintergrund einen ganzen Rattenschwanz an anderen Methoden nach sich, bis schlussendlich das gewünschte Objekt zurückgegeben wird. Es ist also am Ende kein Wunder, dass bei der Game-Programmierung oft weiterhin reine Text-Files verwendet werden: sie sind um einiges ressourcenschonender zu verarbeiten.
Angesichts der Tatsache, dass mein Spiel auch in der Schule gespielt werden soll, wo ich nicht mit Computern rechnen kann, die besonders schnelle Prozessoren und Grafikkarten haben, muss ich bis zu einem Grad darauf achten, dass ich nicht zu ausschweifend programmiere.
Da bei meinem Spiel auch ziemlich viele Dialoge vorkommen (um genau zu sein: die meisten Inhalte würden über Dialoge vermittelt werden), brauche ich auch ein Dialogsystem, das ich verwenden kann. Dafür bin ich auf die Suche gegangen nach schon vorhandenen Editoren, um zu sehen, ob ich diese verwenden kann.
Diese Suche ist dabei nur von begrenztem Erfolg gekrönt gewesen. Eine Nachfrage auf gamedev.stackexchange.com führte zur Antwort, die ich schon halbwegs befürchtet hatte: es gibt keine Editoren, weil schlussendlich sämtliche Entwickler ihr eigenes Dialogsystem aufbauen, die jeweils andere Formate und damit eigene Editoren verwenden.
Trotzdem gibt es einige Editoren, mit denen man möglicherweise arbeiten könnte.
Chat Mapper
Chat Mapper scheint auf den ersten Blick das ideale Tool zu sein, um den Dialog zu schreiben. Vor allem auch die Tatsache, dass das Programm ein XML-File exportieren kann, scheint verlockend. Tatsächlich scheint der Editor ganz passabel zu sein, um Dialoge auszutesten. Leider hat das Programm auch einige Nachteile. Als Scripting-Sprache wird LUA verwendet, die in Unity leider nicht sehr viel bringt.
Diese Woche war vor allem eingeplant, um Beispiel-Assets zu bauen, die in der Folge dann bei Tech-Demos verwendet werden können. Dabei ging es vor allem ums Modellieren, wobei ich ein Talent habe, dies herauszuschieben, obwohl ich es eigentlich gar nicht so ungern mache – wahrscheinlich bin ich einfach jeweils von der Grösse des Unterfanges überwältigt, das mich davon abhält, wirklich anzufangen …
Daraus resultiert hat ein Raum, ein langer Gang sowie ein Verbindungsstück, die nun relativ beliebig aneinandergereiht werden können. Noch sind das nicht alle Elemente, die es wirklich braucht, aber sie können schon einmal einen Grundstock darstellen. Zudem haben sie mir schon einmal aufgezeigt, wo die Probleme liegen könnten – so werde ich mir etwa noch überlegen müssen, wie ich die Übergänge von einem Modell zum anderen gestalte, so dass sie unsichtbar sind.
Visuelle Gestaltung
Auch zur visuellen Gestaltung habe ich mir weitere Gedanken gemacht. Zur Zeit geht die Überlegung dahin, dass ich den Look von Apples iPod-Werbung emulieren will. Dabei würde es sich um schwarze Silhouetten handeln, die vor mehr oder weniger farbigen Hintergründen agieren würden. Diese Silhouetten wären praktisch unschattiert, evt. müsste man einen Rim-Light-Shader hinzufügen, um einige Details zu verdeutlichen und die Charakteren voneinander zu trennen.
Abgesehen von der offensichtlichen Begründung, dass es relativ einfach ist, sich an das trendig/zeitgemässe iPod-Image anzuhängen, um die Jugendlichen anzusprechen, sprechen noch einige andere Dinge dafür.
Ich verspreche mir von der Verwendung von Silhouetten, dass ich so einen Mittelweg von Abstraktion und Realismus gehen kann: Realismus durch die Modellierung, Abstraktion durch die Farbgebung.
Der Mac steht nun in der Schule, der Arbeitsplatz ist (so halbwegs) eingerichtet – die Arbeit kann losgehen!
BrainJam
Gemäss meiner Idee von letzter Woche habe ich nun verschiedene Kollegen eingeladen, zusammen mit mir eine Jam-Session zu machen. Ich weiss noch nicht, wieviele davon effektiv dabei sein werden, aber ich hoffe doch, dass einige davon etwas Zeit haben werden. Sobald das Datum klar ist, werde ich mich auch um das Equipment kümmern, das beim Produktionszentrum ausgeliehen werden muss (Audio-Aufnahmegerät, Videorecorder).
Visual Research
Am Mittwoch habe ich in einem Schulhaus fotografiert – dies soll mir in der nächsten Woche dazu dienen, erste Assets zu produzieren, die ich im Folgenden für die Demos und Prototypen verwenden kann.
Research
Die meiste Zeit habe ich diese Woche jedoch darauf verwendet, wissenschaftliche Literatur zu suchen – zum einen, um eine Basis für meine theoretische Arbeit zu haben, zum anderen, um sicherzustellen, dass ich mit meinen Annahmen nicht ganz falsch liege. Noch ist nicht alles gesichtet, was ich in dieser Woche angesammelt habe, aber ich werde mir dieses Wochenende noch Zeit nehmen, mich durch all diese Texte zu wälzen. Sicher ist aber: sehr viele Leute haben sich in das Gebiet noch nicht vorgewagt, ich werde einiges selber erarbeiten müssen.
Leicht (oder, anders gesagt: völlig) unter die Räder gekommen ist dabei leider der Wunsch, mich noch einmal vertieft mit der Game-Mechanik auseinanderzusetzen – dies werde ich sicher noch einmal im Rahmen eines Brainstormings machen müssen. Schliesslich habe ich schon wieder einige Ideen mehr – wird Zeit, mit den Prioritätenlisten zu beginnen …
Seit Januar hat inoffiziell mein Bachelor-Semester begonnen – und in ein paar Wochen wird die Arbeit an meinem Bachelor-Projekt offiziell. Diese Serie von Blogposts (so es denn eine Serie wird, was ich doch schwer hoffe) soll eine Möglichkeit für mich werden, meine Arbeit der vergangenen Woche zu reflektieren, zu bewerten und zusammenzufassen.
Dies soll mir zum einen bei der Arbeit helfen, indem es mich auf eine mehr beobachtende Position bringt, in der ich einen Überblick über das Geschehen (und damit meine Terminpläne) habe – und nicht so sehr im Arbeitsstress bin, wo ich oft einmal in Gefahr laufe, dass ich mich in ein eigentlich nebensächliches Problem verbeisse und darin viel zu viel Zeit investiere. Eine mindestens wöchentliche Rückschau sollte mich zurück auf den Pfad des Wesentlichen bringen.
Nicht zuletzt verspreche ich mir davon auch, dass ich Teile dieser Blogposts schlussendlich auch in meiner schriftlichen Arbeit verwenden kann, also auch da schon Arbeit vorgeleistet habe, die mich davor bewahren soll, dass ich dann in den letzten zwei Wochen noch etwas zusammenschustern muss.
Um was es bei meinem Game geht
Über den Mechanismus des Rollentauschs ist es das Ziel dieses in der Schule einsetzbaren Serious Games, Jugendlichen zwischen 13 und 15 Jahren im sozialen Umgang zu schulen und (homophob motiviertes) Bullying zu reduzieren.
Dies wird in Form eines story- und dialoglastigen Adventures aus First-Person-Sicht geschehen. Dies Spieler/innen werden dabei mit Situationen aus ihrem Schulalltag konfrontiert, die sie zu lösen haben – aber dabei jeweils nur die Fähigkeiten (oder Hindernisse) des Charakters einsetzen können, in dem sie zur Zeit gerade stecken.
Das Jahr hat in dieser Zeitzone zwar schon seit etwa 12 Stunden begonnen, doch das soll nicht zu spät sein, um den Lesern dieses Blogs noch ein gutes neues Jahr zu wünschen!
Von meiner Seite her wird das neue Jahr 2011 den Abschluss meiner Studien an der Zürcher Hochschule der Künste markieren (hoffentlich ...). Das nächste halbe Jahr wird so ziemlich komplett mit der Arbeit an meiner Bachelor-Abschlussarbeit ausgefüllt sein. Zur Zeit bin ich daran, sämtliche Seitenprojekte abzuschliessen, damit ich mich in der Folge ganz auf die Bachelor-Arbeit konzentrieren kann. An dieser Stelle wird es mit Sicherheit zwischendurch Einträge zum Fortschritt meiner Arbeit geben, aber natürlich kann man den Ausdrücken meines momentanen Gemütszustandes auch auf Twitter folgen – real-time, sozusagen.
Was nach dem Sommer und dem Studienabschluss auf mich zu kommt, weiss ich zur Zeit noch nicht. Ich hoffe, dass sich während der Arbeit an der Bachelorarbeit einiges ergeben wird. Vielleicht sollte mir das Angst machen, dass ein ganzes halbes Jahr noch völlig unbekannt ist, der Gedanke daran, dass ich keinerlei Ahnung habe, wo ich in einem Jahr sein werde, und ob ich einen ähnlichen Blogpost schreiben werde – doch um ehrlich zu sein, kümmert das mich zur Zeit nicht gross. Ich bin zuversichtlich, dass ich mit meinen Fähigkeiten, die ich mir nun doch schon seit fast 10 Jahren erarbeitet habe, da draussen eine Zukunft für mich wartet.
Ich freue mich, wenn ich dieser Zukunft zusammen mit euch, meinen Freunden und Lesern, entgegen gehen kann – es ist gut zu wissen, dass es euch gibt!
Georg M. Oswald schickt Herrn Sing auf eine Irrfahrt im Kafka-Gebäude des 21. Jahrhunderts: In den Flughafen.
Grossartig. Und nicht zuletzt echte Science Fiction: Denn in den Tagen der gläsernen Verwaltung, von Internetschaltern wird man gar nicht mehr so durch die Ämter gejagt wie auch schon. Statt dessen findet sich der Mensch plötzlich in den Labyrinthen privater Firmen wieder, die so gross geworden sind, dass sie völlig die Perspektive verloren haben, und sich alles erlauben können – so lange die Kunden dies auf sich nehmen, warum sollte man etwas ändern?
Das Hörspiel ist ein interessanter Kontrapunkt zum Radiofeature über Ryanair. Es empfiehlt sich, beide Audiostücke zu hören.
The future is already here, it's just unevenly distributed.
Manchmal muss ich mich ein wenig zusammennehmen, und nicht allzu böse Mails zu schreiben.
Etwa dann, wenn es Epson nicht schafft, auch fast 10 Jahre, nachdem Mac OS X rausgekommen ist, funktionierende Scanner-Treiber zu schreiben, die nicht auf Carbon basieren und unglaublich instabil sind – und, als wäre das nicht genug, gleich auch noch sämtliche anderen Programme runterziehen, die auf die TWAIN-Schnittstelle zugreifen. Sprich: Wann immer ich etwas mit Aperture machen will, nachdem ich schon etwas gescannt habe, hängt mir Aperture beim Starten. Einzige Lösung: Neustart der gesamten Maschine. *facepalm*
Seit über einem Dreivielteljahr schlage ich mich nun mit dem Support rum, der mir zuerst vorschlägt, ich solle den Scanner reparieren (hab ich gemacht, hat nichts gebracht), dann, die Software neu zu installieren (habe ich gemacht, hat nichts gebracht). Inzwischen beschränke ich mich darauf, zwischendurch mal die Hang- und Crash-Logs an den Support zu senden ... und übe mich in Geduld und Ruhe, um dann solche Mails nicht zu schreiben:
Guten Tag,
zum Wochenanfang einige weitere Crash-Logs: <<Anhänge>>
Vielleicht sollte mal jemand zugeben, dass Epson offensichtlich nicht fähig ist, Treiber für ein Apple-Betriebssystem zu schreiben, das neuer als Mac OS 9 ist, und mir das Geld für den nutzlosen Scanner zurückgeben, so dass ich mir einen ihrer Konkurrenten kaufen kann (Was würden Sie mir empfehlen? Canon? Fujitsu?)
Freundliche Grüsse,
Kaspar Manz
Wer etwas länger auf der Website geblieben ist in den letzten Tagen, wird es bemerkt haben: Die Dinge ändern sich. Posts tauchen auf, verschwinden, verändern sich …
Nun, die ganze Website ist zur Zeit weiterhin in einem ständigen Status der Veränderung: noch bin ich dran, meine bevorzugte Art und Weise, wie ich diese Website betreiben möchte, zusammenzustellen. Dementsprechend experimentell ist sie zur Zeit, und dementsprechend sind die Dinge noch nicht so statisch, wie sie vielleicht sein sollten.
Nach einigen durchwachten Nächten, dem Verlust von Nerven und aber auch einigen Erfolgserlebnissen kann ich euch nun einladen, Märchenspiele, die im Rahmen des 4. Semesters des Game Design Studiengangs an der Zürcher Hochschule der Künste entstanden sind, am Animationsfilmfestival Fantoche in Baden auszuprobieren.
In der Ausstellung "Märchen Spiel Atelier" können die Arbeiten meiner Klassenkolleginnen und -Kollegen angespielt werden, während in in einer zweiten Ausstellung gleich daneben "professionelle Spiele" ausgestellt sind – aber eben solche, die normalerweise nicht durch die Medien getragen werden, wenn es (wieder einmal) um die "Killerspiel"-Debatte geht. Es gibt also einiges zu entdecken.
Die Ausstellung ist vom 7.–12. September täglich offen von 12.00–22.00 Uhr. Um 17.45 Uhr gibt es eine Führung. Der Eintritt ist frei. Finden tut sich das ganze im Merkker Kulturlokal, Bruggerstrasse 37, 5400 Baden.
Weiter Informationen, auch zu den einzelnen Spielen, finden sich unter gamedesign.zhdk.ch/fantoche. Weitere Informationen, was sonst noch so am Fantoche bezüglich Games läuft, finden sich hier auf gamelab. Infos zum Filmfestival gibt es auf der Festival-Site.
Und ein kleiner Vorgeschmack und Bilder des Entwicklungsprozesses meines Games finden sich hier auf flickr.
Vielleicht sehen wir uns ja diese Woche in Baden …
Und schon ist die Vorrunde des Wettbewerbs um ein PlayStation Move Bundle gelaufen – uund …
Wir haben eine Gladiatorin!
Nina Plazibat ist für xeophin.net ins Rennen gestiegen und steht nun in der nächsten Runde! So weit kann man kommen, wenn man zur richtigen Zeit am richtigen Ort ist – und sich ein bisschen mit Mathematik auskennt … Liebe Nina, vielen Dank, dass du für uns mitmachst!
Natürlich drücken Janina und ich Nina nun für den Montag die Daumen, und sind gespannt, was sie vom PlayStation Move Controller halten wird – und ob sie ihn am Ende sogar gewinnt. Aber hey – mit so viel positiver Energie und Fröhlichkeit muss das ja einfach klappen!
Okay, wenn ich denn schon am PlayStation-Fanboy spielen bin, dann kann ich das auch gleich noch anfügen: auf dem PlayStation Blog finden sich nämlich weitere Infos zu Journey, dem neuen PlayStation-Spiel von Jenova Chen:
Man wacht ohne zu wissen warum, mitten in der Wüste als menschenähnliche Person auf. Weit und breit nichts als in der Sonne schimmernder Sand, nur weit weg in der Ferne steigt ein anmutiger Berg mit einem riesigen Lichtstrahl gen Himmel aus dem Boden empor.
Das Ziel des Spiels ist instinktiv klar; man muss zu diesem Berg. Das spannende dabei ist, dass man absolut keine Ahnung hat, was einem dort erwartet.
Im Gegensatz zu den vorherigen Spielen, werden jetzt schon ganze 2 Knöpfe des Controllers in Anspruch genommen. Während ihr mit dem linken Analogstick euren geheimnisvollen Charakter steuert, könnt ihr mit einer Taste hüpfen und und mit einer weiteren Sprinten, was aufgrund der Weitläufigkeit der Welt sehr praktisch ist. Aus den Gegebenheiten der Wüste, lässt sich auch auf Sandwellen surfen, was eine gute Möglichkeit ist, schnell voranzukommen. Während es bei Flower vorallem die Animation des Grases war, auf die man sich konzentriert hat, steht diesmal der Sand im Mittelpunkt. Wenn ihr beispielsweise mit eurem Charakter durch den Sand streift, hinterlässt ihr auch Spuren.
In dieser mysteriösen und fiktiven Welt existiert allerdings mehr als nur Milliarden von Sandkörnern. Alte Ruinen und sogar unterirdische Höhlen können auch entdeckt werden.








