Wir setzen die Publikationsreihe ĂŒber die besten mobilen Anwendungen der Absolventen der SAMSUNG IT SCHOOL fort.
Heute â ein Wort von jungen Entwicklern aus Nowosibirsk, Gewinner des VR-Anwendungswettbewerbs âSCHOOL VR 360â im Jahr 2018, als sie StudienanfĂ€nger waren. Dieser Wettbewerb schloss ein spezielles Projekt fĂŒr Absolventen der âSAMSUNG IT SCHOOLâ ab, bei dem sie die Entwicklung in Unity3d fĂŒr die Virtual-Reality-Brille Samsung Gear VR lehrten. Alle Spieler sind mit dem Tower-Defense-Genre vertraut â Sie mĂŒssen das Territorium durch den Bau von TĂŒrmen vor vorrĂŒckenden Feinden verteidigen. Die Jungs beschlossen, diese Mechanik zu ĂŒbernehmen und darauf basierend ihr eigenes VR-Spiel zu entwickeln, aber auf der anderen Seite der Barrikaden: Hier sind Sie ein Pilot und Ihr Ziel ist es, dem Bodentrupp zu helfen, bis zum Ende zu kĂ€mpfen und mit den TĂŒrmen zu kĂ€mpfen den Weg versperren. Das Spiel ist im Retro-Stil von LowPoly gestaltet â dreidimensionale Modelle mit einer kleinen Anzahl von Polygonen, wie in alten Computerspielen. Unterhalb des Ausschnitts finden Sie eine Beschreibung des Entwicklungsprozesses, Videos und Screenshots des Spiels sowie einen Link zu den Quellen.

Was ist am Ende passiert
Weiter
Kurz zu den Bedingungen des Samsung-Projekts âSCHOOL VR 360â, in dessen Rahmen das Spiel AirAttack entwickelt wurde. So wurde den Absolventen der SAMSUNG IT SCHOOL Folgendes angeboten:
- Absolvieren Sie in 4 Monaten ein eigenstĂ€ndiges Schulungsprogramm, fĂŒr das Lizenzen fĂŒr die Ausbildung erforderlich sind von 5 Online-Kursen zur VR-Entwicklung
- Bilden Sie ein Team und entwickeln Sie in 3 Monaten Ihr eigenes Projekt. Individuelle Beratungen durch Profis in der VR-Entwicklung â der Firma âFascinating Realityâ â waren hilfreich.
- PrĂ€sentieren Sie das Projekt im Mai den Spezialisten von Samsung, âFascinating Realityâ und anderen Mitgliedern der Jury.
Ăber die Idee
Kirill Prokofjew, MannschaftskapitÀn:
Wir haben uns fĂŒr ein Arcade-Format entschieden, das jedem bekannt ist, aber gleichzeitig in VR interessant aussieht und sich aus einem ganz anderen Blickwinkel offenbart. Es gibt mehr als genug Arcade-Shooter in VR-App-Stores. Wir haben uns entschieden, ein Luft-Arcade-Spiel mit Tower Defense zu kreuzen: Spiele, bei denen man TĂŒrme vor eindringenden Flugzeugen verteidigt, werden von niemandem gespielt, der nicht Zeit in der U-Bahn verbringt.
Haben Sie sich jemals gefragt, wer gegen Sie spielt, wenn Sie TĂŒrme aufrĂŒsten?
Vladimir Shperling, Entwickler:
Unsere Idee war es, eine Gaming-LowPoly-Anwendung zu erstellen, da dies der einzig mögliche Stil fĂŒr eine mobile VR-Anwendung dieser GröĂenordnung ist. Aus Gameplay-Sicht haben wir uns entschieden, keine bereits vorhandenen, altbewĂ€hrten Themen wie das Wandern im Weltraum und das Durchqueren von VR-Labyrinthen weiterzuentwickeln. Wir wollten etwas mehr.
Ăber bisherige Erfahrungen und Fehler
Vladimir Shperling, Entwickler:
Als ich ein Jahr zuvor im Jahr 2016, dem Jahr meines Abschlusses an der SAMSUNG IT SCHOOL, zum ersten Mal mit VR in BerĂŒhrung kam, bestand mein erstes Team nur aus zwei Personen. Wir beschlossen, ein Renn-Arcade-Spiel namens Speed ââââRiders zu entwickeln. Die ZustĂ€ndigkeiten waren wie folgt aufgeteilt: Einer war fĂŒr den Programmcode, die Architektur und die Adaption der Anwendung fĂŒr VR verantwortlich, der zweite fĂŒr das Konzept, Design und die IntegritĂ€t der Idee. Vielleicht wĂ€re dieser Ansatz erfolgreich gewesen, um die Anwendung in kurzer Zeit und durch ein Team mit höherer Qualifikation umzusetzen, aber zu diesem Zeitpunkt kannten wir die Besonderheiten der Gestaltung von VR-Anwendungen nicht und machten viele Fehler.
Wir haben beispielsweise versucht, eine zu komplexe Interaktion zwischen dem Spieler und den Objekten der Welt zu implementieren, wobei der Schwerpunkt auf der Tatsache lag, dass jede Bewegung des Spielers zu Reisekrankheit oder einer Verschlechterung der BewegungsqualitĂ€t fĂŒhren könnte. Dies fĂŒhrte zu einer unglaublich ĂŒberlasteten BenutzeroberflĂ€che und komplexen Manipulationen, sodass der Benutzer nach der ersten Spielminute seine Brille abnehmen und nicht mehr zurĂŒckkehren wollte. Es wurde klar, dass es zur Korrektur notwendig war, das Konzept des gesamten Projekts zu ĂŒberdenken. Und das wurde 2 Wochen vor der Verteidigung entdeckt!

VorfĂŒhrung des Spiels fĂŒr alle beim jĂ€hrlichen Samsung-Projektwettbewerb
DarĂŒber hinaus entstanden Probleme durch das Fehlen zusĂ€tzlicher Visualisierung und Automatisierung beim Erstellen von Levels: Zwei unerfahrene Programmierer mussten Levels in 3-4 Schritten erstellen. Die Zusammenarbeit in Git hat bei uns nicht geklappt - Unity3D speichert ganze Szenen und es ist unmöglich, sie spĂ€ter zu kombinieren: Wir mussten warten, bis einer von uns mit der Arbeit fertig war, dann verband der andere seine Teile ... und so weiter Kreis. SpĂ€ter, wĂ€hrend der Entwicklung von AirAttack!, als wir viele Szenen hatten, wurde dieses Problem teilweise dadurch gelöst, dass jeder von uns mit unterschiedlichen Szenen arbeitete.
Arbeite am Spiel
Vladimir Shperling, Entwickler:
Ein Jahr spÀter entschloss ich mich erneut, an der VR 360 School teilzunehmen, und Kirill und ich schlossen uns zusammen. Nachdem wir mehrere Stunden mit einem Blatt Papier und Tassen Tee verbracht hatten, teilten wir das gesamte Projekt in Phasen ein und legten Fristen fest:
- Erstellen des HauptmenĂŒs
- Implementierung der Stufe 1
- Testen und anfÀngliches Debuggen kritischer Fehler
- VR-Optimierung, Fehlerbehebungen, Erhöhung der FunktionalitĂ€t (wir haben den Details eine sehr wichtige Rolle beigemessen, denn unser Ziel ist es, zu machen und zu optimieren und nicht viel und schlecht âanzuklebenâ) und möglicherweise architektonische Verbesserungen
- Neue Level hinzufĂŒgen
- Veröffentlichen einer App im Oculus Store
- Mehrspielermodus hinzufĂŒgen
- HinzufĂŒgen herunterladbarer Materialien (in Form von Levels, Verbesserungen, neuen Schiffen usw.)
WĂ€hrend der Entwicklung haben wir trotz des kurzen Zeitrahmens versucht, jeden Punkt anhand des Diagramms zu besprechen.

Jede Idee wurde besprochen und ein Urteil gefĂ€llt: Ob sie nun wahr sei oder nicht. Alle genehmigten Ideen wurden in Aufgaben zerlegt und umgesetzt. Die Testphase wurde in Eigenregie mit Hilfe von Freunden und Bekannten durchgefĂŒhrt. Wir hörten uns VorschlĂ€ge und Kommentare an und achteten insbesondere darauf, was denjenigen Schwierigkeiten bereitete, die zum ersten Mal in unser Spiel einstiegen, was wĂ€hrend der Sitzung erklĂ€rt werden musste. Wir haben neue Funktionen besprochen und eine neue Entwicklungsrunde begonnen.
Wir hatten strenge Fristen: Manchmal mussten die interessantesten Ideen abgelehnt werden, wenn uns klar wurde, dass wir keine Zeit haben wĂŒrden, sie innerhalb des vorgegebenen Zeitrahmens umzusetzen.
Aufgrund unserer bisherigen Erfahrungen mit Unity3D und dem Wissen, wie es geĂ€ndert werden kann, um die Entwicklung und Erstellung von Levels zu vereinfachen, haben wir einige Zeit damit verbracht, âHilfsskripteâ zu erstellen. Beispielsweise können wir durch die Anzeige des Zerstörungsradius von GeschĂŒtztĂŒrmen steuern, welche Abschnitte der StraĂe von GeschĂŒtztĂŒrmen bedeckt sind, welche Abschnitte am schwierigsten sind und welche es dem Spieler ermöglichen, eine Pause einzulegen und neue Energie zu tanken oder zu Atem zu kommen. Oder ein anderes Skript: Anzeige der Bewegungsbahn fĂŒr Einheiten und Spieler, damit wir klar erkennen können, ob die Flugbahn korrekt ist, und sie bei Bedarf korrigieren können. Im Bild ist die Linie unterbrochen, aber die Flugbahn wurde wĂ€hrend der Bewegung geglĂ€ttet.
FĂŒr das Finale des Wettbewerbs hatten wir vor, nur einen Teil der PlĂ€ne umzusetzen, mit der Erstellung von 4 Ebenen aufzuhören und dann mit der Implementierung zusĂ€tzlicher Funktionen zu beginnen. Und alles wĂ€re gut, wenn es nicht gĂ€be...
Die Hoffnung, dass alle enthaltenen Bibliotheken perfekt funktionieren, war einer der Hauptfehler bei der Entwicklung des Spiels. Wir mussten die Kernbibliothek von Oculus modifizieren, was es uns ermöglichte, die FĂ€higkeiten von GearVR voll auszunutzen, auĂerdem war alles aufgrund der unvollstĂ€ndigen Dokumentation kompliziert. Jede mit dem Projekt verbundene Bibliothek wurde auf Leistung analysiert: Ein Teil des Codes wurde entfernt und unproduktive Designs wurden durch einfachere ersetzt. FĂŒr maximale Leistung wurden an einigen Stellen âunsichereâ Zeigervariablen verwendet und der Code ausgiebig auf Speicherlecks getestet. Es wurde ein modularer Ansatz verwendet, bei dem alle Objekte unabhĂ€ngig sind und aus der Szene entfernt werden können, ohne den Code zu beschĂ€digen. Jede Stufe wurde getestet und unter âstarker Lastâ fielen die Bilder pro Sekunde nicht unter 50 fps.
Kirill Prokofjew, MannschaftskapitÀn:
Unser Team hat die angegebenen Fristen vollstĂ€ndig eingehalten â etwa zwei Dutzend Skripte wurden geschrieben, die BenutzeroberflĂ€che des Schiffes, die BenutzeroberflĂ€che von zwei MenĂŒs und Anweisungen wurden erstellt.
Die endgĂŒltige Version des UI-MenĂŒs


Die Anwendung ist voll funktionsfĂ€hig. Alle Modelle wurden sorgfĂ€ltig ausgewĂ€hlt und optimiert, um die Gesamtzahl der Polygone in der Szene zu reduzieren. Als Grundlage dienten vorgefertigte Modelle im öffentlichen Bereich mit Ănderungserlaubnis.
WĂ€hrend der Arbeit am AirAttack! Wir haben viel Zeit mit UED (User Experience Design oder UX) verbracht. ZusĂ€tzlich zu UI-Elementen â dem HauptmenĂŒ, dem Level-Exit-MenĂŒ, der Schiffs-UI und sogar der Turm-UI (Life Lines) â werden verschiedene Prozesse von akustischen und visuellen Effekten (zum Beispiel Feuerpartikeln oder einem Schatten aus dem Glas) begleitet ein Flugzeug). Das gesamte Spiel besteht aus âLow-Polyâ-Modellen, was nicht nur die Leistung verbessert, sondern auch AtmosphĂ€re schafft.
Ergebnis
Das Spiel wurde 360 beim Wettbewerb âVR 2018 Schoolâ mit dem Titel âBeste Gaming-Anwendungâ ausgezeichnet. Das Ergebnis unserer BemĂŒhungen finden Sie im Video unten.

Spielquellen:
Autoren:

Kirill Prokofjew
Spieledesigner
MannschaftskapitÀn
prokyhouse@yandex.ru
Swift, Java, C#-Entwickler, Designer
Gewinner der Cybersecurity-Meisterschaft
Gewinner der Regionalrunde des Projektwettbewerbs SAMSUNG IT SCHOOL 2017

Wladimir SchÀrling
Unity-Entwickler
vladimir-shperling@yandex.ru
Kotlin, Java, C#-Entwickler
1. Platz im Finale des Projektwettbewerbs âIT SCHOOL SAMSUNGâ 2016
2. Platz im Wettbewerb âSchule VR 360â 2017
Source: habr.com
