Cara menyiapkan game untuk porting ke PC dan konsol

Manfaat game lintas platform telah lama dibahas di kalangan gamer, namun cakupannya kecil di antara pengembang. Tidak banyak artikel tentang hal-hal dasar yang diperlukan untuk membuat game lintas platform.

Namun, cross-platform sekarang sedang meningkat. Ada lebih banyak game dengan properti ini. Fortnite, Call of Duty, Street Fighter - mereka semua memiliki genre yang berbeda, diimplementasikan dengan cara yang berbeda, tetapi pada tingkat tertentu mereka memiliki fitur lintas platform.

Andersen Horowitz menulis di blognya bahwa game secara historis telah disegmentasi oleh platform yang berbeda, tetapi sekarang dengan semakin populernya cross-platform, jumlah game multiplayer juga semakin bertambah.

Mengapa Anda perlu membuat cross-platform game?

Ini bagus untuk pemain: Anda tidak harus memilih perangkat untuk menjalankan permainan - Anda dapat bermain dengan teman-teman tanpa khawatir apakah mereka ada di basis data pemain.

Untuk pengembang game, ini juga luar biasa, karena basis pengguna sekarang tidak tersegmentasi oleh platform yang berbeda - sebagai gantinya, Anda dapat mengatur satu kelompok besar pemain dan menciptakan pengalaman multi-pengguna yang lebih kaya dengan sesi permainan yang lebih lengkap.



Luar biasa, jadi mari kita port game kita ke beberapa platform!

Tentu saja itu terdengar keren, mengapa tidak. Itu hanya ...

Dalam The Lord of the Rings, jika Anda ingat, para pahlawan juga berdiskusi atas saran Elrond, mereka berkata, mari kita lakukan apa yang harus kita lakukan, yang dikatakan Boromir:



Dan semua karena Boromir tahu: membuat game cross-platform penuh tidak begitu sederhana.

Maka muncul ide untuk menyiapkan materi bagi mereka yang mempertimbangkan untuk membuat game lintas platform mereka sendiri.

Jika Anda telah menerbitkan game sebelumnya, itu berarti Anda berurusan dengan pengiriman mereka ke berbagai platform dan Anda tahu kemampuan masing-masing, yang akan menjadi dasar yang baik untuk materi hari ini - dan, di samping itu, akan membantu pada tahap persiapan awal.


9 hal yang perlu Anda pertimbangkan sebelum membuat game lintas platform


Kiat # 1: Kenali terminologi Ada

banyak konsep berbeda terkait lintas platform, tetapi pertama-tama kami akan memperkenalkan yang paling diperlukan: lintas-bermain, lintas-perkembangan, dan lintas-beli.

Apa bedanya?

Cross-play (cross-play, atau cross-play) adalah apa yang dipikirkan orang ketika mereka mendengar tentang permainan lintas-platform: menggabungkan pengguna yang bermain di platform yang berbeda menjadi satu sesi multi-pengguna. Yaitu, ketika pemain Xbox dapat bertabrakan dalam game dengan PlayStation atau pemain Steam.

Kemajuan lintas(atau Cross-Save, cross-saving) disebut kemampuan untuk mulai bermain di satu platform, menyimpan progres Anda dan terus bermain di platform lain. Ini dapat ditemukan di gim single-player dan multiplayer.

Silang membeli (atau lintas-commerce, cross-beli) adalah pembelian yang dilakukan pada satu platform, dan kemudian muncul di perpustakaan Anda yang lain. Kerabat dekatnya adalah BOPA (Buy Once Play Anywhere: once buy - play anywhere), tetapi kita akan membicarakannya nanti.

Kiat # 2: Buat domain online Anda sendiri

Saat Anda merilis game pada platform yang berbeda, layanan tambahan khusus dari setiap platform tersedia untuk Anda, dan mereka sangat nyaman.



Jika Anda ingin membuat game lintas platform, sayangnya, Anda tidak dapat menggunakan sebagian besar layanan ini, karena statistik di Steam, misalnya, tidak cocok dengan statistik di Xbox atau PlayStation. Anda harus memiliki serangkaian layanan Anda sendiri: statistik, sistem identifikasi, perjodohan, dan lainnya - yang akan menghubungkan data bersama dari berbagai platform.



Jadi, apa yang Anda butuhkan terlebih dahulu?

  1. Sistem dan akun identifikasi;
  2. Sistem e-commerce (terutama jika Anda akan memonetisasi game Anda menggunakan pembelian dalam aplikasi);
  3. Layanan lain yang diperlukan sesuai dengan persyaratan sertifikasi.

Misalnya, sertifikasi Xbox mengharuskan Anda menggunakan MPSD (direktori sesi multipemain), bahkan jika Anda memiliki sistem perjodohan Anda sendiri, karena semua informasi yang Anda simpan di MPSD, mereka kemudian gunakan untuk mengaktifkan Kehadiran Kaya di Xbox Dashboard.

Kiat # 3: Pelajari lebih lanjut tentang pemain Anda

Pertimbangkan sebuah contoh.

Katakanlah seorang pemain memiliki:

  • Akun uap;
  • Akun Toko Epik
  • Akun Xbox
  • Akun PlayStation
  • Ganti akun
  • Dll

Bagaimana permainan tahu bahwa ini adalah orang yang sama?

Di sinilah yang disebut sistem pengikatan akun datang untuk menyelamatkan.

Menautkan akun memungkinkan Anda menautkan akun bersama dengan akun berbagai platform.

Jika Anda memainkan Call of Duty, Anda mungkin tahu bahwa bagian terakhir dari franchise adalah cross-platform. Dan jika Anda ingin menemukan teman Anda di sistem, Anda harus menggunakan ID Activision. Jadi, jika Anda bermain di Xbox, Anda tidak akan dapat menemukan teman Anda bermain di PlayStation, karena dua pangkalan pemain ini tidak berpotongan - tetapi pada saat yang sama, data semua pemain di kedua platform disimpan dalam Activision ID.



Sistem identifikasi terpadu ini akan menjadi bagian mendasar tidak hanya untuk permainan saat ini, tetapi untuk semua proyek masa depan Anda. Dialah yang menghubungkan Anda dengan platform lain.

Ini tip lain. Perhatikan persyaratan GDPR dan CCPA: standar mereka harus diperhitungkan pada tahap awal untuk menghindari konsekuensi yang tidak menyenangkan. Selain itu, cepat atau lambat platform baru akan mulai muncul, apakah Anda ingin dapat menambahkannya ke gim Anda saat tersedia?

Berikut ini adalah contoh cara menerapkan ikatan akun Steam.



Jadi, sistem identifikasi diperlukan untuk menukar token Steam ke milik Anda. Kemudian pemain dapat menggunakan token ini untuk mengaktifkan layanan yang dia butuhkan.

Kiat # 4: Biarkan pengguna bermain bersama

Sekarang setelah Anda berhasil mengidentifikasi pemain Anda menggunakan sistem penautan akun, langkah selanjutnya adalah membuat pengguna bermain bersama.



Jadi, saatnya untuk bermain silang.

Agar Anda dapat menghubungkan pemain ke sesi multipemain yang sama dengan semua teman mereka, Anda perlu mengatur sistem perjodohan, mengelola sesi permainan, dan sejumlah layanan - daftar lengkap tergantung pada kebutuhan permainan tertentu. Jadi, pertama-tama Anda mengidentifikasi pengguna dan menyatukan mereka terlepas dari platform tempat mereka bermain, dan kemudian perjodohan mengatur mereka ke dalam sesi permainan.



Beberapa catatan tentang multipemain dan kualitas koneksi.

Jika Anda sendiri yang memilih mesin gim, ambil keramahan lintas platform: mesin tersebut sudah memiliki mekanisme bawaan untuk melakukan sinkronisasi klien-server. Jika Anda memutuskan untuk membuat mesin sendiri, tentu saja, Anda memiliki hak untuk melakukannya, tetapi perhatikan yang berikut.

Saat Anda ingin pengguna Anda mulai terhubung ke pemain lain, yang terbaik adalah tidak menggunakan rute P2P langsung. Karena Anda tidak dapat menggunakan pustaka platform bawaan seperti Xbox Secure Device Associations, tugas ini menjadi cukup membingungkan, terutama ketika kita berbicara tentang menghubungkan konsol ke PC. Kiat: Gunakan server khusus atau relai relai untuk membuat kisi Anda.

Dan yang terakhir: karena Anda sekarang berurusan dengan platform dengan kapasitas berbeda - PC, konsol - biarkan simulasi Anda menggunakan frekuensi tetap 30 frame per detik. Pada saat yang sama, rendering dapat dibiarkan apa adanya.

Kiat # 5: Biarkan para pemain melanjutkan permainan pada platform yang berbeda

Seperti yang lain, penulis menghabiskan ratusan jam di The Witcher 3: pertama kali bermain di PlayStation, kemudian memutuskan untuk beralih ke Switch, karena itu saya harus memulai dari awal lagi, karena di The Witcher ”tidak ada cara untuk melanjutkan permainan di platform lain. Seiring berjalannya waktu, para pengembang masih mengorganisir penghematan silang antara Steam dan Switch. Benar, ada di sini tentang PlayStation 4. Namun, ada kemungkinan bahwa cepat atau lambat CD Projekt RED akan mengatur lintas-platform dan di antara mereka - hal utama adalah bahwa arah yang benar telah ditetapkan.

Cara menyimpan data sepenuhnya pilihan Anda: Anda dapat menyimpannya di cloud sebagai gumpalan, Anda bisa sebagai statistik, Anda bisa sebagai string dalam atribut profil. Hal utama adalah untuk mencapai tujuan dalam menentukan bahwa Anda masih Anda, terlepas dari apakah Anda bermain di Switch, PlayStation atau PC.

Juga, berbicara tentang cross-platform, orang tidak bisa tidak menyebutkan SPOP dan MPOP.

SPOP(satu titik kehadiran) berarti satu titik kehadiran ketika Anda hanya mengizinkan satu koneksi ke akun pada waktu tertentu, dan memasuki permainan pada satu platform berarti secara otomatis keluar dari itu ke yang lain. Dengan demikian, SPOP dapat melindungi Anda dari kemunculan secara bersamaan di tempat yang sama dari platform yang berbeda. Ini adalah metode implementasi termudah dan teraman yang menghindari stagnasi data.

MPOP(beberapa titik kehadiran) adalah cara perilaku yang sama sekali berbeda. Ini memungkinkan Anda untuk memiliki beberapa koneksi yang secara logis mengarah ke akun yang sama. Mengaturnya bisa sangat sulit, karena MPOP harus membuat akun tamu ketika pengguna masuk ke akun yang sama pada saat yang sama, yang dapat menyebabkan masalah dengan memastikan bahwa kemajuan disimpan dengan benar.

Dan meskipun dalam sebagian besar situasi ternyata lebih nyaman menggunakan SPOP, Anda sendiri harus hati-hati mempertimbangkan kelebihan dan kekurangan metode tertentu untuk gim Anda.

Kiat # 6: Persatukan perdagangan Anda.

Mari kita bicara tentang perbedaan antara toko utama dan tambahan.



Toko utama adalah toko yang harus Anda konfigurasi dari sisi platform tempat operasi dengan uang sungguhan berlangsung, sedangkan toko tambahan adalah yang Anda kendalikan dalam permainan.

Toko utama pertama-tama harus diatur pada setiap platform individu, dan kemudian pergi ke berbagai daerah, yang sudah merupakan tugas yang agak sulit - terutama karena permainan lintas platform tidak memiliki API untuk melakukan ini. Ini adalah proses manual yang harus Anda lakukan untuk setiap platform. Oleh karena itu, lebih baik untuk mengatur toko utama sesederhana mungkin, dan untuk melengkapi toko dalam game seperti yang Anda inginkan.



Di atas adalah contoh bagaimana sistem bekerja, di mana pemain dapat melakukan pembelian di Steam, dan keamanan pembelian ini dijamin oleh sistem e-commerce tunggal.

Berikut ini adalah diagram alur pembelian Steam.



Kiat # 7: Waspadai persyaratan sertifikasi tambahan untuk sistem lintas platform.

Tiga hal dijamin dalam hidup Anda:

  1. Kematian;
  2. Pajak
  3. Sertifikasi gagal di salah satu platform saat melepaskan tambalan.

Jika Anda telah lulus sertifikasi sebelumnya, maka Anda tahu itu bisa sangat sulit. Ini mencakup banyak aspek, dan daftar ini bervariasi dari platform ke platform. Saat membuat game lintas platform, Anda harus ingat bahwa untuk kasus ini ada persyaratan sertifikasi tambahan.

Rekomendasi: buat kantong udara untuk diri Anda sendiri untuk memahami apa yang Anda perlukan agar berhasil lulus sertifikasi dan mengambil tindakan yang tepat.

Tip # 8: Pisahkan rilis dan rilis

Fortnite memiliki acara sementara yang membawa pahlawan dari musim pertama ke yang kedua: menurut plot, seluruh dunia tiba-tiba mulai runtuh dan menyerap dalam lubang hitam.

Menariknya, acara ini tidak ada hubungannya dengan aktivasi pembaruan. Ketika Anda merilis pembaruan game, Anda tidak dapat menyinkronkannya dengan perubahan konfigurasi pada semua platform, ini adalah proses yang sangat memakan waktu: Anda perlu menghubungi manajer akun Anda, melalui proses sertifikasi dan melakukan banyak hal lainnya.

Tapi ini bukan satu-satunya cara Anda membuat perubahan pada gim.

Perubahan game biasanya dilakukan melalui:

  1. Pembaruan game;
  2. Tambalan untuk penggantian data;
  3. Switch sisi server (Server-Side Toggles).

Switch sisi server adalah variabel server yang pertama kali Anda tetapkan di server, dan kemudian memaksa klien game dan server untuk merespons perubahan dalam variabel ini. Mereka bisa berguna untuk menjadwalkan acara gim, menyeimbangkan gim, mengaktifkan Kill-Switch dan bendera fungsi.

Contoh penggunaan:

  • Menghidupkan / mematikan fungsi pada platform tertentu;
  • Membatasi akses ke fitur tertentu dalam game untuk QA.



Diagram di atas menunjukkan bagaimana Anda dapat mengatur sistem untuk merespons klien game dan server untuk mengubah variabel di server. Pemberitahuan push dalam hal ini cukup mudah, tetapi tidak diperlukan, sebagai ganti Anda hanya dapat menggunakan kolam.

Kiat # 9: Setelah dibeli, mainkan di mana saja (BOPA)

Peringatan: ini adalah wilayah yang belum dipetakan, dan penulis tidak dapat menjamin keakuratan mutlak data.

BOPA (Buy Once Play Anywhere) memungkinkan pengguna untuk membeli game di satu platform sehingga kemudian muncul dalam pembelian mereka di platform lain.

Mengapa ini penting?



Pemain tidak perlu lagi khawatir tentang platform mana yang harus dibeli - mereka hanya bisa membeli permainan. Bagi pengembang game, manfaatnya adalah mereka dapat mengumpulkan pemain mereka dalam satu basis, memperluas merek mereka dan menarik lalu lintas ke toko mereka.

Kami mencantumkan tiga elemen yang dibutuhkan oleh BOPA:

  1. Sistem Identifikasi Terpadu;
  2. Sistem terpadu untuk memberikan hak akses dengan kemampuan untuk melacaknya;
  3. Memberikan hak akses di toko lintas platform Anda tanpa harus memasukkan kunci: kemampuan untuk memanggil API platform lain untuk memberikan hak pada yang saat ini.

Perlu dicatat bahwa opsi yang terakhir tidak tersedia secara luas, hanya beberapa platform yang mendukungnya.

Berikut adalah beberapa contoh implementasi BOPA.

Skenario 1: setelah pembelian di toko Anda, permainan muncul di perpustakaan Steam.



Catatan: API yang digunakan di sini tidak tersedia untuk umum, jadi Anda perlu berbicara dengan manajer akun Anda.

Skenario 2: saat membeli di Steam, game muncul di toko Anda.



Dalam hal ini, Anda tidak akan dapat melacak proses pembelian di Steam, jadi Anda harus bergantung pada pemain dalam hal ini.

Poin-poin penting

Cross-platform sangat ideal untuk game dengan rencana dukungan proyek jangka panjang. Seperti yang mungkin sudah Anda pahami, pembuatan game semacam itu sangat tidak penting: Anda akan membutuhkan tim besar, banyak waktu dan uang untuk memiliki infrastruktur yang tepat untuk mendukungnya.

Mulai dari mana?

Seperti halnya mesin game, ada berbagai solusi yang dapat Anda gunakan untuk mengimplementasikan cross-platform, sehingga tidak perlu membuatnya dari awal - tentu saja, jika Anda tidak menginginkannya sendiri. Beberapa di antaranya: GameSparks, Photon, AccelByte, PlayFab.

Masing-masing memiliki pro dan kontra - itu tergantung pada apa yang Anda butuhkan. Mereka dapat bervariasi berdasarkan:

  1. Biaya;
  2. Pemeliharaan berbagai platform;
  3. Opsi penyesuaian dan ekstensibilitas
  4. Kualitas SDK;
  5. Keandalan;
  6. Skalabilitas.

Artikel ini membahas masalah paling mendasar yang mungkin Anda temui saat membuat game lintas platform. Untuk mempelajari lebih lanjut tentang aspek ini, Anda dapat bergabung, misalnya, topik Online Gamedev [BaaS] di Discord.

All Articles