Ternyata Ini Algoritma dan Teknologi di Balik PUBG Mobile

Ternyata Ini Algoritma dan Teknologi di Balik PUBG Mobile

Kamu seorang pro player PUBG Mobile? Atau, kamu pengagum teman yang sering main PUBG Mobile? Hihi. Tenang, your secret is safe with me.

Baru-baru ini tim pengembang aplikasi game PUBG mengintegrasikan Flutter dengan aplikasi existing-nya. Wah, bagaimana caranya Flutter dapat membuat aplikasi game? Yuk, simak tuntas artikel ini, ya.

PUBG Mobile using Flutter

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

PUBG Mobile

PUBG Mobile merupakan permainan battle royale online yang dikembangkan oleh Lightspeed Studios dan Krafton. Game ini cukup diminati banyak orang. Permainan ini dimulai dengan player (pemain) terjun ke pulau terpencil bersamaan dengan ratusan pemain lainnya. 

Be the last one standing adalah tujuan akhir permainan ini. Untuk menggapai tujuan tersebut, player harus mencari senjata, peralatan, dan perlengkapan lainnya untuk melawan pemain lainnya. Di sini strategi dan taktik pemain diadu untuk bertahan hidup hingga akhir. 

Orang bermain PUBG Mobile

Saat bermain permainan ini, secara tidak sadar kamu telah mengikuti serangkaian algoritma atau instruksi yang tertanam di dalamnya. Ha, maksudnya gimana? Iya, hal tersebut mengatur jalannya permainan, mulai dari penentuan lokasi jatuhnya pemain, distribusi item dan senjata, hingga mekanika pertandingan dan zona berbahaya. 

Lalu, apa aja sih algoritma di balik permainan ini? Inilah beberapa di antaranya yang perlu kamu ketahui.

Matchmaking Algorithm

Ini digunakan untuk menggabungkan pemain dengan kemampuan yang serupa. Adanya algoritma ini supaya dipertemukan dengan lawan yang setara dengan kapabilitas karakter yang kamu miliki. Di dalamnya terdapat proses pencocokan karakter berdasarkan level skill, game mode, dan wilayah pemain. 

Safe Zone Algorithm

Algoritma tersebut berguna untuk mengetahui zona aman di dalam permainan. Dalam algoritma ini, pemain dihadapkan dengan pemain lain pada fase permainan yang tersisa. Ia akan mengalkulasi beberapa faktor, seperti lokasi pemain dan sisa waktu permainan, untuk mempertemukan pemain lain.

Airplane Drop Algorithm

Hal tersebut bertanggung jawab atas pola jatuhnya pesawat dan penempatan item. Item ini memiliki peran penting dalam permainan battle royal yang berisi senjata, armor, dan peralatan lainnya. Algoritma tersebut berjalan secara acak, tetapi tetap memastikan item terdistribusi secara merata di area permainan.

Weapon Balancing Algorithm

Dalam PUBG, kita tidak sembarangan mengambil atau mendapatkan senjata. Algoritma ini bertujuan untuk menyeimbangkan keunggulan senjata di dalam permainan. Dengan begitu, setiap pemain akan mendapatkan senjata yang tidak terlalu kuat atau terlalu lemah. Faktor yang memengaruhi jalannya hal tersebut adalah kekuatan tembakan, kecepatan tembakan, akurasi, dll.

Character Movement Algorithm

Algoritma ini berperan untuk mengendalikan pergerakan karakter dan NPC (non-player character) di dalam permainan. Dengannya, karakter apa pun mampu bergerak secara realistis dan responsif terhadap tindakan pemain. Karakter akan berjalan, berlari, melompat, merayap, dsb., serta reaktif terhadap rintangan yang ada.

Cheat Detection Algorithm

Hal ini dirancang khusus bagi pemain yang melakukan kecurangan. Curang bagaimana? Ya, ia akan menganalisis aktivitas pemain yang menggunakan cheat, bot, atau program pihak ketiga yang melanggar aturan pemain. 

Sistem ini berjalan dengan membandingkan data dan perilaku pemain menggunakan database cheat yang telah dikenali dan dimiliki oleh tim pengembang aplikasi. Dengan begitu, algoritma akan mengenali pemain yang bertindak curang.

 

Ya, aplikasi yang kompleks memiliki berbagai algoritma yang tertanam di dalamnya. Tidak hanya di atas, tetapi masih banyak serangkaian algoritma lainnya yang bekerja sama untuk menciptakan pengalaman pengguna yang baik.

PUBG Mobile dengan Flutter 

Dengan pengalaman pengguna yang baik dan menarik membuat aplikasi game ini diminati oleh banyak orang, baik kalangan muda maupun tua. Nyatanya, ada sekitar 50 juta pemain aktif setiap harinya. Nilai yang fantastis ini menunjukkan betapa banyaknya orang yang menikmati permainan tersebut.

Tim pengembang aplikasi PUBG Mobile melihat potensi yang besar untuk meningkatkan jumlah pengguna. Mereka membuat tim khusus untuk mencari teknologi baru yang mampu mengembangkan aplikasi lintas platform pada Android dan iOS.

Akhirnya, mereka memilih Flutter dengan berbagai macam alasan. Bahasa pemrograman Dart yang mudah dipelajari, interoperabilitas yang mudah, dan yang pasti cross platform menjadi alasan mereka memilih Flutter. Belajar Flutter secara step-by-step membuat mereka lebih mudah mengembangkan aplikasi dengan cepat.

Mungkin kamu makin penasaran, bagian mana yang dikerjakan menggunakan Flutter? Apakah seluruh aplikasi diubah menjadi kode Flutter? Inilah kelebihan Flutter, pengembang aplikasi tidak harus mengubah seluruh kode, tetapi cukup mengintegrasikan dengan kode yang sudah ada.

Perbedaan Video Game dan App-like Game

Jika kita menilik lebih jauh, aplikasi game dapat dibagi menjadi dua jenis, yaitu video game dan app-like game. Video game, seperti arcade, shooter, racer, dll., selalu berkaitan dengan memuat ulang frame setiap detiknya. Contohnya, game Asphalt yang mengedepankan grafis dan pengalaman balap yang intens.

Berbeda dengan video game, app-like game, seperti board game, kartu, visual novel, dll., lebih semacam aplikasi pada umumnya yang semi-statis. Ia dapat bergerak setelah pengguna menekan tombol atau gambar tertentu. Misalnya, game Chess yang perlu adanya respons pengguna untuk menggerakkan bidak.

Video game and App-like game

Nah, game PUBG Mobile menerapkan kedua jenis tersebut. Dari segi permainan battle royal menerapkan video game. Selain itu, seperti pemilihan karakter, pengaturan, dll., menerapkan app-like game. 

Seperti yang sudah disinggung sebelumnya, PUBG Mobile tidak sepenuhnya mengonversi aplikasi menjadi Flutter app. Tim pengembang hanya menitikberatkan perubahan pada jenis app-like game.

Interoperabilitas Flutter dengan Native App

Perlu kamu tahu, membuat app-like game dengan Flutter tidak seperti aplikasi pada umumnya. Di dalamnya terdapat game engine, animation, audio player, special effect, dll., yang mendukung jalannya aplikasi game. Seluruh layanan game tersebut dapat diterapkan dalam aplikasi Flutter dengan bantuan library-library, seperti Flame, Rive, audioplayers, Paint API, dll. 

Adanya interoperabilitas Flutter dengan kode native, memudahkan mereka berinteraksi melalui existing app yang sudah dibuat sebelumnya. Mereka tidak perlu lagi membuat algoritma yang sama untuk dua platform yang berbeda. 

Setelah menerapkan seluruh kebutuhan yang ada, pengembangan aplikasi game mereka dapat mengurangi jumlah resources yang diperlukan sebesar 80%. Selain itu, sudah lebih dari 10 juta orang telah memakai fitur baru tersebut.

Melihat angka-angka tersebut, dapat disimpulkan bahwa Flutter mampu meringankan beban kerja sebagai pengembang aplikasi. Semakin cepat proses pengembangannya, semakin cepat pula aplikasi dipakai oleh pengguna. Timbal baliknya adalah perusahaan pengembang game akan lebih cepat mendapatkan revenue.

Penutup

Sebelum ditutup ada fakta unik yang perlu kamu tahu, iya kamu ….

Aplikasi game dapat menghasilkan income yang tidak sedikit. What! Income dari mana? Salah satu caranya adalah kita bisa menyisipkan ads atau iklan dalam aplikasi game. Menurut situs berita CNBC dan The Verge, 70% pendapatan App Store berasal dari game. Hanya 30% sisanya berasal dari aplikasi lain.

Sudah ada bayangan ingin membuat aplikasi game? Flutter bisa menjadi opsi pertamamu untuk mengembangkan aplikasi game. Hal yang kamu butuhkan adalah belajar dari dasar hingga expert berdasarkan roadmap yang ada. Dengan demikian, kamu bisa kembangkan kembali dengan mencari referensi terkait dengan aplikasi game. Kamu bisa cek link di bawah ini, lo, kalau ingin melihat referensi atau materi terkait game.

Jika punya pengalaman bikin aplikasi game atau aplikasi Flutter, silakan share pengalamanmu di kolom komentar, ya. Happy coding!


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.