Bagaimana Kami Membuat SPACE INVADERS: World Defense, game AR yang didukung oleh ARCore

SEP 05, 2023
Dereck Bridie Developer Relations Engineer ARCore
Bradford Lee Product Marketing Manager Augmented Reality

Untuk merayakan ulang tahun ke-45 “SPACE INVADERS,” kami berkolaborasi dengan TAITO, developer game arcade asli Jepang, dan UNIT9 untuk meluncurkan “SPACE INVADERS: World Defense,” sebuah game imersif yang memanfaatkan teknologi AR berbasis lokasi paling canggih. Pemain di seluruh dunia dapat pergi ke luar untuk menjelajahi lingkungan sekitar mereka, mempertahankan Bumi dari Space Invader virtual yang muncul dari bangunan terdekat, dan mencetak poin dengan mengalahkan mereka, semuanya dengan augmented reality.

Game ini didukung oleh teknologi ARCore terbaru kami, Geospatial API, Streetscape Geometry API, dan Geospatial Creator. Kami tidak sabar menunjukkan kepada Anda proses di balik layar dari pengembangan game ini dan penggunaan fitur dan alat terbaru kami untuk merancang gameplay AR global prosedural yang pertama.

Geospasial API: Ubah dunia menjadi taman bermain

Geospasial API memungkinkan Anda untuk melampirkan konten dari jarak jauh ke area mana pun yang dipetakan oleh Google Street View dan menciptakan pengalaman mendalam yang lebih kaya dan lebih kuat yang terkait dengan lokasi dunia nyata dalam skala global. SPACE INVADERS: World Defense tersedia di lebih dari 100 negara di area dengan cakupan Visual Positioning Service (VPS) yang luas di Street View, mengadaptasi gameplay ke lingkungan perkotaan yang sibuk serta kota dan desa yang lebih kecil.

Untuk pemain yang tinggal di area tanpa cakupan VPS, kami baru-baru ini memperbarui game untuk menyertakan mode baru kami yang disebut Indoor Mode, yang memungkinkan Anda mempertahankan Bumi dari Space Invader dalam pengaturan atau lokasi apa pun, di dalam atau di luar ruangan.

Indoor Mode baru di Space Invaders menghadirkan gameplay yang imersif ke setiap latar bangunan dalam ruangan

Membuat alur pengguna awal

ARCore Geospatial API menggunakan citra kamera dari perangkat pengguna untuk memindai titik fitur dan membandingkannya dengan gambar dari Google Street View untuk memposisikan perangkat secara tepat di ruang dunia nyata.

Geospasial API didasarkan pada VPS dengan puluhan miliar citra di Street View untuk memungkinkan developer membangun pengalaman berdasarkan dunia nyata dari jarak jauh di lebih dari 100 negara

Hal ini mengharuskan pengguna untuk mengangkat ponsel mereka dan menggerakkannya ke sekitar area mereka sehingga data yang dikumpulkan cukup untuk memposisikan pengguna secara akurat. Untuk melakukan ini, kami menggunakan teknik cerdas untuk membuat pengguna memindai area tersebut, dengan mengharuskan mereka melacak pesawat ruang angkasa di bidang pandang kamera.

Untuk memulai, ikuti pesawat ruang angkasa untuk memindai lingkungan sekitar Anda

Dengan alur pengguna ini, kami terus memeriksa apakah Geospasial API telah mengumpulkan data yang cukup untuk pengalaman berkualitas tinggi:

if (earthManager.EarthTrackingState == TrackingState.Tracking)
{
        var yawAcc = earthManager.CameraGeospatialPose.OrientationYawAccuracy;
        var horiAcc = earthManager.CameraGeospatialPose.HorizontalAccuracy;
 
        bool yawIsAccurate = yawAcc <= 5;
        bool horizontalIsAccurate = horiAcc <= 10;
 
	return yawIsAccurate && horizontalIsAccurate;
}

Mengubah lingkungan menjadi taman bermain

Setelah memindai area terdekat, game ini menggunakan data mesh dari Streetscape Geometri API untuk secara algoritmik menjadikan bermain game di lokasi yang berbeda sebagai pengalaman yang unik. Setiap lokasi dunia nyata memiliki topografi dan tata letak kotanya sendiri, yang memengaruhi gameplay dengan caranya sendiri yang unik.

Gameplay akan bervariasi tergantung pada lokasi Anda, mulai dari kota-kota di Republik Ceko (kiri), hingga kota-kota di New York (kanan)

Dalam game ini, SPACE INVADERS bisa muncul dari bangunan-bangunan, jadi kami membangun kasus pengujian menggunakan geometri bangunan yang diperoleh dari berbagai belahan dunia. Hal ini memastikan bahwa game akan tampil optimal di lingkungan yang beragam, mulai dari desa-desa lokal hingga kota-kota yang ramai.

Visualisasi tentang bagaimana algoritma akan menempatkan portal di dunia nyata

Memasuki dimensi Invader

Dari studi penelitian kami, kami mempelajari bahwa pengguna dapat mengalami kelelahan akibat mengangkat tangan mereka dalam jangka waktu yang lama untuk pengalaman augmented reality. Pengetahuan ini memengaruhi pengembangan gameplay kami. Kami menciptakan dimensi Invader guna memberikan kesempatan kepada pemain untuk melemaskan lengan yang memegang ponsel mereka dan meningkatkan kenyamanan pengguna.

Momen ‘wah’ favorit kami yang benar-benar menunjukkan kepada Anda kecanggihan Geospasial API adalah transisi antara AR dunia nyata dan dimensi 3D yang dibuat secara virtual.

Transisi gameplay dari AR dunia nyata ke dimensi 3D

Efek ini dicapai dengan memadukan feed kamera dengan shader lingkungan virtual yang merender bangunan dan medan dalam gaya wireframe yang berbeda.

Dimensi Invader muncul di sekitar pemain di Unity Editor, yang dengan mulus beralih di antara dua mode

Setelah pemain memasuki dimensi Invader, pesawat ruang angkasa pemain terbang melalui jalur yang dihasilkan secara algoritmik melalui lingkungan sekitar mereka. Hal ini dilakukan dengan membuat citra kedalaman lingkungan pengguna dari kamera overhead. Pada citra ini, saluran merah mewakili bangunan dan saluran biru mewakili ruang yang berpotensi digunakan untuk jalur penerbangan. Citra ini kemudian digunakan untuk menghasilkan lintasan dengan titik-titik yang harus diikuti oleh jalur, dan algoritma pencarian A* digunakan untuk memecahkan jalur yang mengikuti semua titik.

Terakhir, jalur A-Star yang dihasilkan akan dipoles untuk menghaluskan potensi jitter, tikungan tajam, dan tabrakan.

Untuk memperlancar jalur pesawat ruang angkasa, jitter dihilangkan dengan mengambil sampel jalur melalui interval node yang ditetapkan. Kemudian, kami menentukan apakah ada tikungan tajam di jalur dengan menganalisis sudut di sepanjang jalur. Jika terdapat tikungan tajam, kami akan memberikan dua titik tambahan untuk mengurangi ketajamannya. Terakhir, kami memantau apakah jalur yang dihaluskan ini akan bertabrakan dengan rintangan, dan mengaturnya untuk terbang di atas rintangan tersebut jika terdeteksi.

8a-Depth-Composite-8B-3D-Path.png
Visualisasi peta kedalaman dan jalur sampel yang dihasilkan di dimensi Invader

Menciptakan pengalaman bermain game global

Kunci utama dari membangun game tersebut adalah kompleksitas generasi kontekstual yang membutuhkan pengujian di seluruh dunia. Dengan Unity, kami membawa beberapa lingkungan ke dalam kasus pengujian, yang memungkinkan kami untuk melakukan iterasi dan memvalidasi perubahan pada algoritma ini dengan cepat. Hal ini membuat kami percaya diri untuk menyebarkan game secara global.

Memvisualisasikan SPACE INVADERS menggunakan Geospatial Creator

Kami menggunakan Geospatial Creator, yang didukung oleh ARCore dan Photorealistic 3D Tiles dari Google Maps Platform, untuk memvalidasi bagaimana konten virtual, seperti Space Invader, akan muncul di sebelah bangunan terkenal tertentu di Tokyo dalam Unity.

Dengan Photorealistic 3D Tiles, kami dapat memvisualisasikan Invader di lokasi yang spesifik, termasuk Tokyo Tower di Jepang

Pembaruan dan rilis mendatang

Sejak peluncuran game, kami telah mendengar masukan dari pemain kami dan telah secara aktif memperbarui dan meningkatkan pengalaman gameplay.

  • Kami telah menambahkan mode gameplay baru, Indoor Mode, yang memungkinkan semua pemain tanpa cakupan VPS atau pemain yang tidak ingin menggunakan mode AR untuk merasakan permainan.
  • Untuk mendorong pengguna memainkan game di AR, skor telah diseimbangkan kembali untuk memberi penghargaan kepada pemain yang bermain di luar lebih banyak daripada pemain yang bermain di dalam ruangan.

Download game di Android atau iOS hari ini dan bergabunglah dengan jajaran pasukan pembela Bumi elite untuk bersaing di lingkunganmu guna mendapatkan skor tertinggi. Untuk mengetahui pembaruan game terkini, ikuti kami di Twitter (@GoogleARVR) untuk mengetahui bagaimana kami meningkatkan game ini. Selain itu, kunjungi situs web ARCore dan Geospatial Creator kami untuk mempelajari cara memulai membangun dengan teknologi AR Google.