Wir setzen eine Reihe von Veröffentlichungen über die besten mobilen Anwendungen der Absolventen der „IT SAMSUNG SCHOOLS“ fort.
Heute ist das Wort an junge Entwickler aus Nowosibirsk, Gewinner des VR-Bewerbungswettbewerbs „SCHOOL VR 360“ im Jahr 2018, als sie noch im ersten Studienjahr waren. Dieser Wettbewerb endete mit einem speziellen Projekt für Absolventen der „IT SAMSUNG SCHOOLS“, in dem sie die Unity3d-Entwicklung für Samsung Gear VR Virtual-Reality-Brillen unterrichteten. Alle Spieler sind mit dem Tower Defense-Genre vertraut - Sie müssen das Territorium mit Hilfe des Turmbaus vor angreifenden Feinden schützen. Die Jungs haben beschlossen, diese Mechanik zu nutzen und ihr VR-Spiel darauf aufzubauen, aber auf der anderen Seite der Barrikade: Hier sind Sie ein Pilot, und Ihr Ziel ist es, der Bodenabteilung zu helfen, bis zum Ende durchzukommen, indem Sie mit Türmen schießen, die den Weg blockieren. Das Spiel ist im Retro-Stil LowPoly hergestellt - dreidimensionale Modelle mit einer kleinen Anzahl von Polygonen, wie in alten Computerspielen. Unter dem Schnitt eine Beschreibung des Entwicklungsprozesses, Videos und Screenshots des Spiels, ein Link zur Quelle.
Was letztendlich passiert istWeiter
Kurz über die Bedingungen des Samsung-Projekts „SCHOOL VR 360“, in dessen Rahmen die Entwicklung des AirAttack-Spiels durchgeführt wurde. So wurden Absolventen der SAMSUNG IT SCHOOLS angeboten:
- Nehmen Sie in 4 Monaten an einem Selbststudienprogramm teil, für das im November Lizenzen für Spezialisierungstrainings aus 5 Online-Kursen zur VR-Entwicklung ausgestellt wurden
- Bilden Sie ein Team und entwickeln Sie in 3 Monaten Ihr eigenes Projekt. Individuelle Konsultationen von den Profis in der VR-Entwicklung bis zum Unternehmen „Fascinating Reality“ sollten helfen
- Präsentieren Sie das Projekt im Mai Samsung-Experten, „Fascinating Reality“ und anderen Mitgliedern der Jury.
Über die Idee
Kirill Prokofiev, Mannschaftskapitän:Wir haben uns für das Format der Spielhalle entschieden, das jedem bekannt ist, aber gleichzeitig in VR interessant aussieht und sich aus einem ganz anderen Blickwinkel öffnet. Arcade-Shooter in VR-App-Stores sind mehr als genug. Wir haben beschlossen, die Luftarkade mit Tower Defense zu überqueren: Nur diejenigen, die keine Zeit in der U-Bahn verbringen, haben keine Spiele gespielt, bei denen Sie die Türme vor eindringenden Flugzeugen schützen.
Haben Sie sich jemals gefragt, wer gegen Sie spielt, wenn Sie Türme aufrüsten?
Vladimir Sperling, Entwickler:Unsere Idee war es, eine LowPoly-Gaming-Anwendung zu erstellen, da dies der einzig mögliche Stil für eine mobile VR-Anwendung dieser Größenordnung ist. Aus der Sicht des Gameplays haben wir uns entschlossen, die bestehenden abgedroschenen Themen wie das Wandern im Weltraum und den Durchgang von VR-Labyrinthen nicht weiterzuentwickeln. Wir wollten etwas mehr.
Über frühere Erfahrungen und Fehler
Vladimir Sperling, Entwickler:
Als ich VR ein Jahr zuvor im Jahr 2016 kennenlernte, dem Jahr, in dem ich die IT SAMSUNG SCHOOLS absolvierte, bestand mein erstes Team nur aus zwei Personen. Wir haben uns entschlossen, eine Rennarkade namens Speed Riders zu bauen. Die Verantwortlichkeiten waren wie folgt aufgeteilt: Einer musste für den Programmcode, die Architektur und Anpassung der Anwendung für VR verantwortlich sein, und der zweite für das Konzept, das Design und die Integrität der Idee. Vielleicht wäre dieser Ansatz für die Implementierung der Anwendung in kurzer Zeit und mit einem Team mit einer höheren Qualifikation erfolgreich gewesen, aber zu diesem Zeitpunkt kannten wir die Konstruktionsmerkmale von VR-Anwendungen nicht und machten viele Fehler.
Wir haben beispielsweise versucht, die Interaktion eines Spielers mit Objekten der Welt zu komplex zu gestalten, während der Schwerpunkt auf der Tatsache lag, dass jede Bewegung des Spielers zu einer Reisekrankheit oder einer Verschlechterung der Bewegungsqualität führen kann. Dies führte zu einer unglaublich geladenen Benutzeroberfläche und komplexen Manipulationen. Infolgedessen wollte der Benutzer nach der ersten Spielminute Punkte entfernen und nicht zurückkehren. Es wurde deutlich, dass für die Korrektur das Konzept des gesamten Projekts überarbeitet werden muss. Und es zeigte sich 2 Wochen vor der Verteidigung!
Demonstration des Spiels für alle beim jährlichen Wettbewerb der Samsung-ProjekteDarüber hinaus verursachte das Fehlen zusätzlicher Visualisierung und Automatisierung zum Erstellen von Ebenen Probleme: Zwei unerfahrene Programmierer mussten Ebenen in 3-4 Schritten erstellen. Wir hatten keine gemeinsame Arbeit in git - Unity3D speichert die gesamten Szenen und es ist unmöglich, sie später zu kombinieren: Wir mussten warten, bis einer von uns die Arbeit beendet hat, dann hat der andere die Details verbunden ... und so weiter. Später, als wir AirAttack! Entwickelten, als wir viele Szenen hatten, wurde dieses Problem teilweise durch die Tatsache gelöst, dass jeder von uns mit verschiedenen Szenen arbeitete.
Arbeite am Spiel
Vladimir Sperling, Entwickler:Ein Jahr später beschloss ich erneut, an der VR 360 School teilzunehmen, und Cyril und ich schlossen uns zusammen. Nachdem wir einige Stunden mit einem Blatt Papier und einer Tasse Tee verbracht hatten, teilten wir das gesamte Projekt in Phasen auf und legten Fristen fest:
- Hauptmenü erstellen
- Level 1 Implementierung
- Testen und anfängliches Debuggen kritischer Fehler
- VR-Optimierung, Fehlerbehebung, Aufbau von Funktionen (wir haben den Details eine sehr wichtige Rolle beigemessen, weil unser Ziel darin besteht, zu machen und zu optimieren und nicht viel und schlecht zu „kleben“) und möglicherweise architektonische Verbesserungen
- Neue Ebenen hinzufügen
- Veröffentlichen der App im Oculus Store
- Multiplayer hinzufügen
- Hinzufügen von herunterladbaren Materialien (in Form von Levels, Upgrades, neuen Schiffen usw.)
Während der Entwicklung haben wir trotz dieser kurzen Fristen versucht, jeden Moment anhand des Diagramms zu diskutieren.

Jede Idee wurde diskutiert und ein Urteil gefällt: ob es nun ist oder nicht. Alle genehmigten Ideen wurden in Aufgaben unterteilt und umgesetzt. Die Testphase wurde alleine durchgeführt, zog Freunde und Bekannte an. Wir hörten uns Vorschläge und Kommentare an und stellten insbesondere fest, dass dies denjenigen, die unser Spiel zum ersten Mal betraten, Schwierigkeiten bereitete, die während der Sitzung erklärt werden mussten. Wir haben neue Funktionen besprochen und eine neue Entwicklungsrunde gestartet.
Die Fristen wurden knapp gehalten: Manchmal mussten die interessantesten Ideen abgelehnt werden, als sie feststellten, dass wir keine Zeit hatten, sie rechtzeitig umzusetzen.

Angesichts der bisherigen Erfahrungen mit Unity3D und des Wissens darüber, wie es geändert werden kann, um die Entwicklung und Erstellung von Ebenen zu vereinfachen, haben wir uns etwas Zeit genommen, um „Hilfsskripte“ zu erstellen. Zum Beispiel den Radius der Zerstörung von Türmen anzeigen - jetzt können wir steuern, welche Abschnitte der Straße von Türmen bedeckt sind, welche Abschnitte am schwierigsten sind und welche es dem Spieler ermöglichen, eine Pause einzulegen und sich aufzuladen oder Luft zu holen. Oder ein anderes Skript: Anzeigen der Bewegungsbahn für Einheiten und des Spielers, damit wir klar sehen können, ob die Flugbahn korrekt gezeichnet ist, und gegebenenfalls korrigieren. Im Bild ist die Linie unterbrochen, aber während der Bewegung wurde die Flugbahn geglättet.
Für das Finale des Wettbewerbs planten wir, nur einen Teil der Pläne umzusetzen, bei der Erstellung von 4 Ebenen anzuhalten und in Zukunft zusätzliche Funktionen zu implementieren. Und alles wäre gut, wenn nicht ...
Die Hoffnung, dass alle Plug-In-Bibliotheken perfekt funktionieren, war einer der Hauptfehler bei der Entwicklung des Spiels. Wir mussten die Hauptbibliothek von Oculus modifizieren, wodurch wir die GearVR-Funktionen vollständig nutzen konnten. Außerdem wurde alles aufgrund unvollständiger Dokumentation komplizierter. Jede mit dem Projekt verbundene Bibliothek wurde auf ihre Leistung analysiert: Ein Teil des Codes wurde gelöscht, und ineffiziente Konstruktionen wurden für einfachere korrigiert. An einigen Stellen wurden 'Unsichere' Zeigervariablen für maximale Leistung verwendet, und dieser Code wurde sorgfältig 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 Ebene wurde getestet, und bei der "erhöhten Last" war die Anzahl der Bilder pro Sekunde nicht niedriger als 50 fps.
Kirill Prokofiev, Mannschaftskapitän:Unser Team hat die angegebenen Fristen vollständig eingehalten - ungefähr 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. Grundlage waren vorgefertigte Modelle im öffentlichen Bereich mit Erlaubnis zur Änderung.
Während der Arbeit am AirAttack-Projekt! Wir haben viel Zeit mit UED (User Experience Design oder UX) verbracht. Zusätzlich zu den UI-Elementen - dem Hauptmenü, dem Ausgangsmenü des Levels, der Schiffs-UI und sogar den UI-Türmen (Life Strings) - werden verschiedene Prozesse von akustischen und visuellen Effekten begleitet (z. B. Feuerpartikel oder ein Schatten aus einem Flugzeugglas). Das ganze Spiel besteht aus Low-Poly-Modellen, die nicht nur die Produktivität steigern, sondern auch eine Atmosphäre schaffen.
Zusammenfassung
Das Spiel wurde 2018 beim Wettbewerb „VR 360 School“ mit dem Titel „Best Gaming Application“ ausgezeichnet. Das Ergebnis unserer Bemühungen ist im Video unten zu sehen.
Quellen des Spiels:
bitbucket.org/Vova_SH/air-attackAutoren:
Kirill ProkofievSpieledesigner
Mannschaftskapitän
prokyhouse@yandex.ru
Swift, Java, C # Entwickler, Designer
Medaillengewinner der Cyber Security Championship
Gewinner der Regionalrunde des Projektwettbewerbs „IT SAMSUNG SCHOOL“ 2017
Gewinner des Wettbewerbs „VR 360 School“ 2018
Vladimir SperlingUnity-Entwickler
vladimir-shperling@yandex.ru
Kotlin, Java, C # Entwickler
1. Platz des Finales des Projektwettbewerbs „IT SAMSUNG SCHOOL“ 2016
Gewinner des Wettbewerbs „VR 360 School“ 2018