Game AirAttack! - Pengalaman pengembangan VR pertama kami

Kami melanjutkan serangkaian publikasi tentang aplikasi mobile terbaik dari lulusan "IT SAMSUNG SCHOOLS".

Hari ini adalah kata untuk pengembang muda dari Novosibirsk, pemenang kontes aplikasi VR "SCHOOL VR 360" pada tahun 2018, ketika mereka adalah siswa tahun pertama. Kompetisi ini berakhir dengan proyek khusus untuk lulusan "IT SAMSUNG SCHOOLS", di mana mereka mengajarkan pengembangan Unity3d untuk kacamata realitas virtual Samsung Gear VR. Semua gamer akrab dengan genre Tower Defense - Anda harus mempertahankan wilayah dari serangan musuh dengan bantuan pembangunan menara. Orang-orang memutuskan untuk mengambil mekanik ini dan membuat game VR mereka atas dasar, tetapi di sisi lain dari barikade: di sini Anda adalah seorang pilot, dan tujuan Anda adalah untuk membantu detasemen tanah sampai akhir dengan menembakkan menara yang menghalangi jalan. Gim ini dibuat dalam LowPoly gaya retro - model tiga dimensi dengan sejumlah kecil poligon, seperti pada gim komputer lama. Di bawah potongan, deskripsi proses pengembangan, video, dan tangkapan layar game, tautan ke sumber.

Tangkapan layar gim
Apa yang akhirnya terjadi

Selanjutnya


Secara singkat tentang kondisi proyek Samsung "SCHOOL VR 360", dalam kerangka pengembangan game AirAttack dilakukan. Jadi, lulusan SAMSUNG IT SCHOOLS ditawari:

  1. Ambil program belajar mandiri dalam 4 bulan, yang pada November lisensi untuk pelatihan spesialisasi dari 5 kursus online tentang pengembangan VR dikeluarkan
  2. Bentuk tim dan kembangkan proyek Anda sendiri dalam 3 bulan. Konsultasi individu dari pro dalam pengembangan VR ke perusahaan "Realitas Menarik" adalah untuk membantu
  3. Pada bulan Mei, berikan proyek tersebut kepada para ahli Samsung, "Realitas yang Memikat" dan anggota juri lainnya.

Tentang idenya


Kirill Prokofiev, kapten tim:
Kami memutuskan untuk mengambil format arcade, yang akan akrab bagi semua orang, tetapi pada saat yang sama terlihat menarik di VR dan akan terbuka dari sudut yang sama sekali berbeda. Penembak arcade di toko aplikasi VR lebih dari cukup. Kami memutuskan untuk melintasi arkade udara dengan Tower Defense: hanya mereka yang tidak menghabiskan waktu di kereta bawah tanah yang tidak bermain game di mana Anda melindungi menara dari menyerang pesawat.

Pernahkah Anda bertanya-tanya siapa yang bermain melawan Anda saat Anda meningkatkan menara?

Vladimir Sperling, pengembang:
Gagasan kami adalah membuat aplikasi game LowPoly, karena ini adalah satu-satunya gaya yang mungkin untuk aplikasi VR seluler sebesar ini. Dari sudut pandang gameplay, kami memutuskan untuk tidak mengembangkan topik basi yang ada, seperti berkeliaran di ruang angkasa dan berlalunya labirin VR. Kami menginginkan sesuatu yang lebih.

Tentang pengalaman dan kesalahan sebelumnya


Vladimir Sperling, pengembang:
Tangkapan layar gim Ketika saya pertama kali bertemu VR setahun sebelumnya pada tahun 2016, tahun saya lulus dari IT SAMSUNG SCHOOLS, tim pertama saya hanya terdiri dari dua orang. Kami memutuskan untuk membuat arena balap, menyebutnya Speed โ€‹โ€‹Riders. Tanggung jawab dibagi sebagai berikut: seseorang harus bertanggung jawab atas kode program, arsitektur, dan adaptasi aplikasi untuk VR, dan yang kedua untuk konsep, desain, dan integritas ide. Mungkin pendekatan ini akan berhasil untuk mengimplementasikan aplikasi dalam waktu singkat dan dengan tim dengan kualifikasi yang lebih tinggi, tetapi pada saat itu kami tidak mengetahui fitur desain aplikasi VR dan membuat banyak kesalahan.

Sebagai contoh, kami mencoba menerapkan interaksi pemain yang terlalu kompleks dengan benda-benda dunia, sementara penekanannya adalah pada fakta bahwa setiap gerakan pemain dapat menyebabkan efek mabuk perjalanan atau penurunan kualitas gerakan. Ini menyebabkan antarmuka yang luar biasa dimuat dan manipulasi yang kompleks, sebagai hasilnya, setelah menit pertama permainan, pengguna ingin menghapus poin dan tidak kembali. Menjadi jelas bahwa untuk koreksi perlu untuk merevisi konsep seluruh proyek. Dan itu muncul 2 minggu sebelum pertahanan!

Peragaan permainan untuk semua orang di kompetisi tahunan proyek Samsung
Peragaan permainan untuk semua orang di kompetisi tahunan proyek Samsung

Selain itu, kurangnya visualisasi tambahan dan otomatisasi untuk menciptakan level menciptakan masalah: dua programmer pemula harus melakukan level dalam 3-4 tahap. Kami tidak memiliki pekerjaan bersama di git - Unity3D menyimpan seluruh adegan, dan tidak mungkin untuk menggabungkannya nanti: kami harus menunggu sampai salah satu dari kami menyelesaikan pekerjaan, kemudian yang lain menghubungkan detailnya ... dan seterusnya. Kemudian, ketika mengembangkan AirAttack !, ketika kami memiliki banyak adegan, masalah ini sebagian diselesaikan oleh fakta bahwa masing-masing dari kami bekerja dengan adegan yang berbeda.

Kerjakan game


Vladimir Sperling, pengembang:
Setahun kemudian, saya kembali memutuskan untuk mengambil bagian dalam Sekolah VR 360 dan Cyril dan saya bekerja sama. Setelah menghabiskan beberapa jam dengan selembar kertas dan cangkir teh, kami membagi seluruh proyek menjadi beberapa tahap dan memberikan tenggat waktu:

  1. Membuat menu utama
  2. Implementasi Level 1
  3. Menguji dan men-debug awal bug kritis
  4. Optimalisasi VR, pemecahan masalah, fungsionalitas bangunan (kami membayar peran yang sangat penting pada detail, karena tujuan kami adalah membuat dan mengoptimalkan, dan tidak "menempel" dengan banyak dan buruk) dan peningkatan arsitektur mungkin dilakukan
  5. Menambahkan Level Baru
  6. Menerbitkan aplikasi di Oculus Store
  7. Tambahkan multi pemain
  8. Menambahkan materi yang dapat diunduh (dalam bentuk level, peningkatan, kapal baru, dll.)

Selama pengembangan, meskipun tenggat waktu yang singkat, kami mencoba untuk mendiskusikan setiap saat sesuai dengan diagram.

Grafik Pengembangan

Ada ide yang dibahas, dan vonis dikeluarkan: baik atau tidak. Semua ide yang disetujui dibagi ke dalam tugas dan diimplementasikan. Tahap pengujian dilakukan sendiri, menarik teman dan kenalan. Kami mendengarkan saran dan komentar, terutama mencatat bahwa hal itu menyebabkan kesulitan bagi mereka yang pertama kali memasuki permainan kami, yang harus dijelaskan selama sesi. Kami membahas fitur-fitur baru dan memulai babak baru pengembangan.

Tenggat waktu dipegang erat: kadang-kadang ide yang paling menarik harus ditolak ketika mereka menyadari bahwa kita tidak akan punya waktu untuk mengimplementasikannya tepat waktu.

Tangkapan layar dari editor Mempertimbangkan pengalaman sebelumnya dengan Unity3D, dan pengetahuan tentang bagaimana hal itu dapat dimodifikasi untuk menyederhanakan pengembangan dan pembuatan level, kami mengambil sedikit waktu untuk membuat โ€œskrip pembantuโ€. Misalnya, menampilkan jari-jari kehancuran menara - sekarang kita bisa mengontrol bagian jalan mana yang ditutupi oleh menara, bagian mana yang akan paling sulit, dan mana yang akan memungkinkan pemain untuk beristirahat dan mengisi ulang atau mengambil napas. Atau skrip lain: menampilkan lintasan pergerakan untuk unit dan pemain, sehingga kita dapat melihat dengan jelas apakah lintasan ditarik dengan benar, dan jika perlu, perbaiki. Dalam gambar, garis terputus, tetapi selama gerakan pemulusan lintasan telah dilakukan.

Untuk final kontes, kami berencana untuk mengimplementasikan hanya sebagian dari rencana, berhenti pada penciptaan 4 level dan di masa depan mulai menerapkan fungsionalitas tambahan. Dan semuanya akan baik-baik saja, jika tidak ...

Harapan bahwa semua perpustakaan plug-in berfungsi dengan sempurna adalah salah satu kesalahan utama selama pengembangan game. Kami harus memodifikasi perpustakaan utama dari Oculus, yang memungkinkan kami untuk sepenuhnya memanfaatkan fitur GearVR, ditambah semuanya rumit karena dokumentasi tidak lengkap. Setiap perpustakaan yang terhubung dengan proyek dianalisis untuk kinerja: bagian dari kode dihapus, dan konstruksi yang tidak efisien diperbaiki untuk yang lebih sederhana. Di beberapa tempat, variabel pointer 'Tidak Aman' digunakan untuk kinerja maksimum, dan kode ini diuji secara hati-hati untuk kebocoran memori. Pendekatan modular digunakan di mana semua objek independen dan dapat dihapus dari tempat kejadian tanpa merusak kode. Setiap level diuji, dan dalam "peningkatan beban" jumlah frame per detik tidak lebih rendah dari 50fps.

Kirill Prokofiev, kapten tim:
Tim kami benar-benar memenuhi tenggat waktu yang dinyatakan - sekitar dua lusin skrip ditulis, antarmuka UI kapal, UI dua menu dan instruksi dibuat.

Versi terakhir dari menu UI




Aplikasi ini berfungsi penuh. Semua model dipilih dan dioptimalkan dengan cermat untuk mengurangi jumlah poligon di tempat kejadian. Dasar diambil model yang sudah jadi di domain publik dengan izin untuk perubahan.

Saat bekerja pada proyek AirAttack! Kami menghabiskan banyak waktu di UED (Desain Pengalaman Pengguna, atau UX). Selain elemen UI - menu utama, menu keluar level, UI kapal, dan bahkan menara UI (Life Strings) - berbagai proses disertai dengan efek suara dan visual (misalnya, partikel api atau bayangan dari kaca pesawat). Seluruh permainan terdiri dari model Low-Poly, yang tidak hanya meningkatkan produktivitas, tetapi juga menciptakan suasana.

Ringkasan


Permainan ini dianugerahi gelar "Aplikasi Gaming Terbaik" di kompetisi "VR 360 School" pada tahun 2018. Hasil dari upaya kami adalah dalam video di bawah ini.



Sumber permainan: bitbucket.org/Vova_SH/air-attack

Penulis:

Kirill Prokofiev
Kirill Prokofiev
Desainer game
Kapten tim
prokyhouse@yandex.ru
Swift, Java, pengembang C #, perancang
Peraih Kejuaraan Keamanan Cyber
Pemenang putaran regional kompetisi proyek "IT SAMSUNG SCHOOL" pada 2017
Pemenang kontes "VR 360 School" 2018

Vladimir Sperling
Vladimir Sperling
Pengembang Persatuan
vladimir-shperling@yandex.ru
Kotlin, Java, Pengembang C #
Tempat pertama dari final kontes proyek "IT SAMSUNG SCHOOL" pada tahun 2016
Pemenang kontes "VR 360 School" 2018

Source: https://habr.com/ru/post/id461099/


All Articles