Während die diesjährige Unite-Konferenz sich hauptsächlich auf technologiebezogene Aspekte der Unity-Engine konzentrierte, gab es viele Gespräche mit Entwicklern über ihre Erfahrungen bei der Entwicklung von Spielen mit kleinen Teams, die Unity verwendeten. In diesem Artikel werde ich einige der großartigen Erkenntnisse, die Unity-Entwickler aus der ganzen Welt bieten können, sowie einige technische Tipps, die ich auf dem Weg gefunden habe, durchgehen.
Dank an Bluecadet für das Vorschaubild.
Mädchen mögen RoboterScheuen Sie sich nicht, Ihre Designs zu teilen.
Ziba Scott, Popcannibal
In Ziba Scotts Post-mortem seines Spiels Girls Like Robots ging er durch die großen Erfolge und kostspieligen Fehler, die Popcannibal auf dem Weg zur Schaffung eines erfolgreichen Adult Swim-Spiels erlitt.
Er hob zuerst hervor, wie wichtig es ist, keine Angst zu haben, Spieleentwürfe mit Menschen um Sie herum zu teilen. Anfangs schien die Idee, seine frühen Entwürfe für Girls Like Robots zu teilen, gefährlich. Scott erinnerte sich daran, dass das Gegenteil der Fall war, obwohl die Befürchtung bestand, dass das Teilen seiner Entwürfe zum Diebstahl seiner Ideen führen würde. Wenn er um Feedback bittet, helfen die Menschen in seiner Umgebung tatsächlich dabei, seine Entwürfe zu verbessern, indem sie auf die Komplexitäten und Inkonsistenzen hinweisen, die er selbst nicht sehen kann.
In diesem Sinne meinte er, dass der Mangel an Vorproduktionen die allgemeine Wahrnehmung des Spiels durch die Leute, die daran arbeiten, verletzte. Ziba hatte mehr von dem Spiel als von außen für das Team, von dem man sich inspirieren ließ. Er schlug vor, dass er, wenn er mehr von seinen Plänen für das Spiel ausgelagert hätte, zu einer besseren gemeinsamen Vision zwischen allen Teammitgliedern und einem konkreteren Konzept für das Team geführt hätte, das unterstützt und motiviert werden könnte. Er meinte, dass ein wenig Konzeptkunst einen großen Beitrag geleistet hätte, um das Team für das Endziel zu begeistern.
Es kann sehr beängstigend sein, wenn Sie Ihre Entwürfe für jeden zur Auswahl bereitstellen, aber dies zwingt das Design dazu, sich auf seinen eigenen Wert zu konzentrieren. Sie erhalten nicht nur wertvolle Rückmeldungen aus verschiedenen Blickwinkeln, sondern auch, wenn Sie Ihr Spiel einer genauen Prüfung unterziehen, hat den Nebeneffekt, dass Sie dazu gezwungen werden, Ihre eigenen Entwurfsentscheidungen zu prüfen. Denken Sie daran, dass, obwohl externes Feedback wichtig ist, Sie als Designer die endgültige Entscheidung treffen.
Grabtuch des Avatars: Verlassene TugendenHaben Sie eine "Wahrhaftigkeit" für die Realität, die Sie schaffen.
Richard "Lord British" Garriott, Portalarium
Richard Garriott hat eine lange und interessante Geschichte in der Spieleentwicklungsbranche. Als Schöpfer der Ultima-Serie und Produzent von City of Heroes und Tabula Rasa verfügt er über große Erfahrung bei der Erstellung großer, beständiger virtueller Spielwelten (tatsächlich hat er 1997 den Begriff MMO geprägt). Sein jüngstes Unterfangen, Shroud of the Avatar: Forsaken Virtues, wird mit Unity gebaut, was laut Garriott in nur 18 Monaten ein Ultima-Scale-Spiel ermöglicht.
In seiner Keynote gab Garriott Einblick in das, was seine über 30-jährige Erfahrung im RPG und MMO dazu gebracht hat, zwingende Spielwelten zu schaffen. Im Kern schlug er vor, dass jede Spielwelt eine gewisse "Wahrhaftigkeit" haben muss (um sich einen Begriff von Stephen Colbert zu leihen). Diese Wahrhaftigkeit schien drei Hauptbegriffe zu umfassen:
Zusammengenommen tragen diese Konzepte dazu bei, die wahrgenommene Tiefe der Spielwelt zu erhöhen.
Kanonen von IkarusDie Entwicklung von Spielen ist wissenschaftliche Forschung, nicht Produktion.
Brian Kehrer, Muse Games
Nach dem Erfolg von Guns of Icarus wurde das Team von Muse Games aufgefordert, eine Online-Version zu entwickeln. Hoch von ihrem ersten Erfolg und von neuem Interesse der Geldgeber begeistert, wurde ein 130-seitiges Game-Design-Dokument verfasst. Während das Spiel von Guns of Icarus größer wurde, war ihre Teamgröße nicht der Fall. Nach neun Monaten harter Arbeit haben sie ihre Ziele kaum erreicht.
An diesem Punkt entschied Kerher, dass sich etwas ändern musste. Er brauchte einen Weg, um mit der gleichen Anzahl von Leuten mehr zu iterieren. In seinem Vortrag schlug Kerher vor, Agile sei der Weg, dies zu erreichen, und kündigte Guns of Icarus Online als Beweis dafür an, dass sein Ansatz sehr positive Ergebnisse erzielen kann.
Eine Komponente der Agile-Methode besteht darin, am Ende jedes Entwicklungszyklus eine funktionale Software zu haben. Um diese Anforderung zu erfüllen, stellte Kerher sicher, dass alle Entwicklungsaufgaben in Aufgaben aufgeteilt wurden, die innerhalb von zwei bis drei Wochen abgeschlossen werden konnten. Durch diese kleineren Aufgaben konnten kleinere Teile des Entwurfs in kürzerer Zeit durchlaufen werden. Entwürfe, die nicht funktionierten oder keinen Sinn machten, wurden sehr früh erkannt. Kerher argumentierte: Weil es so viele mögliche Lösungen für einen "Spaß" -Mechaniker gibt, ist der einzige Weg, die optimale Mechanik herauszufinden, das Experiment.
Hardware: Shipbreakers (seit der Umbenennung in Homeworld: Shipbreakers)Schreiben Sie Code, damit der Programmierer nicht dort sein muss.
Gerald Orban & Lance Mueller, Blackbird Interactive
Gerald Orban und Lance Mueller von Blackbird Interactive hatten ein Problem: Beim Schreiben ihres GUI-schweren Spiels "Homeworld: Shipbreakers" verbrachten sie mehr und mehr Zeit damit, Werte und Debugging-Systeme für die Künstler zu optimieren, als neuen Code zu schreiben. In ihrem Gespräch gehen sie den iterativen Prozess durch, der sie zu dem flexiblen, künstlerfreundlichen GUI-System führte, das sie jetzt in der Produktion verwenden.
Zu Beginn des Entwicklungsprozesses erkannte Orban, dass die GUI in Homeworld: Shipbreakers für das Gameplay von entscheidender Bedeutung war. Homeworld verfügte noch mehr als die meisten Echtzeitstrategiespiele über mehrere Datenebenen, die je nach Zoomstufe und Bildschirmanzeige erscheinen, verschwinden, kombinieren und voneinander trennen würden. Da Hunderte von Symbolen gleichzeitig gerendert wurden, bestand die erste Notwendigkeit darin, all diese Daten in verschiedenen Ebenen zu organisieren, sehr ähnlich wie Google Maps öffentliche Verkehrsmittel, Orte und Verkehrsinformationen trennt.
Die erste Iteration war pixelgetönt, ohne WYSIWYG, und es war ein Programmierer erforderlich, um Ergänzungen oder Änderungen vorzunehmen. Während die Schichtung der Daten zur visuellen Segmentierung beitrug, gab es im Editor keine Haken, um Änderungen vorzunehmen. Daher mussten Änderungen an Farben und Symbolen vom Entwickler durch Code vorgenommen werden.
Die zweite und dritte Iteration wurden geringfügig verbessert, indem die GUI-Objekte für die Bearbeitung in der Szene freigelegt wurden. Künstler konnten zwar GUI-Elemente umwandeln, sie wollten jedoch noch mehr Kontrolle über das individuelle Erscheinungsbild und Verhalten haben.
Schließlich begannen sie nach der achten Iteration mit der Unity-Editor-Scripting-Funktionalität. Auf diese Weise können die Künstler die GUI effektiver bearbeiten, und sie können ihre eigenen Probleme debuggen, indem sie zunächst sicherstellen, dass bei der Konfiguration dieses bestimmten GUI-Elements kein Problem vorliegt.
Nüsse gehen und schnell loslassen.
David Helgason, Gründer und CEO von Unity Technologies
David Helgason betonte in seiner Keynote, dass sich die Dinge jetzt sehr schnell bewegen - so schnell, dass das Erstellen von Spielen den dreijährigen Entwicklungszyklus, der die Spieleentwicklungsbranche in den vergangenen Jahren dominiert hat, überholt. "First-to-Market" und "Quick-to-Market" werden immer wichtiger, da immer mehr Casual-Plattformen entstehen, die Entwickler zu schnelleren Wiederholungen bewegen. Schnellere Iterationen bedeuten kleinere versendbare Spiele in kürzerer Zeit.
Er setzte diese Idee weiter durch, indem er auf eine "Unterhaltungshalbwertzeit" ausarbeitete. Im Wesentlichen dauern Kreationen in verschiedenen Medien unterschiedlich lange, bis sie vergessen oder irrelevant werden. Ältere Musik neigt dazu, länger als ältere Filme zu bleiben. Ältere Filme bleiben länger als traditionelle Spiele. Mobile Spiele haben in der Regel die kürzeste Halbwertszeit aller Medien. Um zu extrapolieren, bedeutet dies, dass bei mobilen Spielen der Zeitrahmen für das Geldverdienen im Vergleich zu anderen Medien viel kürzer ist.
Ob dies für die Branche gut ist, ist nicht ganz klar. Da der kürzere Zeitrahmen die Entwicklungszeit verkürzt, kann sich auch die Komplexität der Spiele verringern. Anstatt nachdenklich Spiele zu entwerfen, kann die Industrie die Mentalität "Sehen, was haftet" annehmen. Auf der anderen Seite, da die Investition so gering ist, hat ein Ausfall weniger Auswirkungen, was den Konstrukteuren mehr Freiheit beim Entwerfen außerhalb der Schachtel gibt.
Besessen Sie sich nicht von [Marketing] -Taktiken.
Darren Williams, Marketing Director von Unity Technologies
Williams begann seinen Vortrag mit dem, was viele Entwickler von Indie-Spielen empfinden: Marketing ist scheiße. Wenn Sie nur darüber nachdenken, wo Sie werben möchten, wie Sie Anreize setzen, CPI / CPA-Ziele und die Zeit- und Kostenkosten, nur um Ihr Spiel wahrzunehmen, reicht dies aus, um einen Indie-Entwickler nach einer Intervention eines Publishers zu fragen. Williams fuhr fort, einige Fehler aufzulisten, die Spielefirmen begehen und wie auch ein unabhängiger Entwickler lernen kann, Marketing zu genießen.
Ein Fehler, den Spielefirmen machen (oder denken, sie müssten machen), ist, sich auf Marketingtaktiken zu konzentrieren. Williams sprach über die leistungsfähigen Marketinglösungen, die es derzeit gibt, aber diese Lösungen kosten Geld. Stattdessen schlug er vor, sich auf organischeres Wachstum zu konzentrieren, indem er auf bestimmte Zielgruppen abzielte, von denen er vorschlägt, dass es vier gibt: Innovator, Frühzeitiger Anwender, Massenmarkt, und Nachzügler.
Innovatoren sind in der Regel sehr technikbewusst und haben massiven Einfluss auf die darüber liegenden Zielgruppen. Indem Sie Ihr Spiel in Communities fördern, in denen Innovators leben, legen Sie den Grundstein für eine Community.
Sobald Ihr Spiel-Alpha in den Händen von Innovators ist, ist es an der Zeit, eine Community für die Veröffentlichung von Releases aufzubauen. Wenn Innovatoren etwas über Ihr Spiel erfahren, möchten sie, dass eine Website oder ein Forum zu den aktuellen technischen Details und Updates zurückkehrt. Im Laufe der Zeit schlug Williams vor, höhere Level zu veröffentlichen, weniger technische Updates, als Early Adopters eintrafen.
Da sich eine Community hinter Ihrem Spiel befindet, müssen Sie sich nur auf ein Startdatum vorbereiten. Williams ging nicht direkt auf die Frage ein, wie man ein Spiel von den Innovator / Early Adopter-Zielgruppen auf den Massenmarkt bringt, sondern erwähnte, dass eine organische Pre-Release-Community unglaublich vorteilhaft ist, wenn man Unterstützung für Dinge wie Steam Greenlight und Kickstarter sucht.
Ein Aspekt der Spieleentwicklung, um den sich Unity-Entwickler nicht viel Gedanken machen, ist die Verwaltung des Arbeitsspeichers. Dies liegt daran, dass die Skript-Engine von Unity einen Speicherbereiniger implementiert, der sich automatisch um das Aufräumen der lästigen Objekte kümmert, die nicht mehr von der Szene referenziert werden. Während dieser Garbage Collector die Speicherverwaltung für den Entwickler unkompliziert macht, gibt es mehrere Fugs und Optimierungen, die dazu beitragen können, die beste Leistung Ihrer Skripts zu erzielen.
Das erste, was man über den Müllsammler von Unity verstehen kann, ist dessen Verwendung markieren und fegen durch Baumbäume von Referenzen zu suchen, um nicht verwendete Objekte zu finden. Wenn Objekte auf andere Objekte verweisen, nehmen diese Bäume an Größe zu und es dauert länger, bis sie durchlaufen werden. Um die Größe dieser Bäume klein zu halten, schlagen die Entwickler vor, PODs zu verwenden, wo dies möglich ist. Da PODs keine Objekte referenzieren können, bleiben Referenzbäume viel kleiner. Ein einfaches Beispiel dafür wäre, auf den Index in einem Array zu verweisen, anstatt auf das Objekt im Array.
Der zweite Tipp zur Verbesserung der Speicherbereinigungsgeschwindigkeit war die Verwendung von Strukturen und Arrays anstelle von Klassen oder einer Liste. Sowohl Strukturen als auch Arrays werden im zusammenhängenden Speicher zugewiesen, was die Zugriffsgeschwindigkeit verbessert und das Durchsuchen dieser Referenzen für den Speicherbereiniger erleichtert.
Schließlich ist die beste Annahme, nichts anzunehmen. Manchmal besteht die Erwartung, dass ein Code sauberer und effizienter ist, da ein Code sauberer aussieht. Ein Beispiel dafür ist das Hinzufügen von zwei Vector3
structs zusammen. Normalerweise würde dies mit der +
Operator (v1 + v2
, oder v1 + = v2
), die am Ende eine temporäre Zuteilung Vector3
um den Wert zu halten, bevor Sie ihn wieder zuweisen v1
. Durch das Hinzufügen wird weniger Speicher zugewiesen v2
's x
, y
, und z
Komponenten direkt an v1
Komponenten.
Während Unite 2013 kein zusammenhängendes Thema hatte, war die zugrunde liegende Botschaft in jedem Vortrag klar: "Mach weiter und mache Spiele". Machen Sie sie schnell, machen Sie Spaß und machen Sie sie für alle. Mit der Vereinfachung der Technologie zur Herstellung von Spielen sinkt die Eintrittsbarriere für unabhängige Entwickler und wirkt sich demokratisierend auf die Branche aus. Kürzere Entwicklungs-Iterationen verlagern die Macht von großen Unternehmen auf individuelle Ersteller zurück und aus diesem Grund werden sich die Publisher für die nächste Generation von Spielen an unabhängige Unternehmen wenden.
Wenn Sie daran interessiert sind, Videos von der Unite-Konferenz anzusehen, finden Sie dies und die Vorträge der vergangenen Jahre im Unity-Archiv von Unity.