Diablo 3 dan StarCraft 2 memiliki fitur yang bagus: Saya dapat mulai bermain sebelum game lengkap atau pembaruan selesai diunduh.
Saya kira Diablo 3 mengunduh file wajib seperti aset UI dan beberapa jala dan tekstur yang digunakan di beberapa level terlebih dahulu. Namun, ketika memulai permainan, saya dapat memilih level apa pun yang saya inginkan, dengan asumsi saya memiliki penyelamatan yang tepat. Saya tidak pernah mengalami keterlambatan seperti itu ketika bermain — mulai selalu sangat lancar.
Bagaimana cara kerjanya? Bagaimana saya bisa menerapkan fitur serupa?
user-experience
deployment
patching
nikitablack
sumber
sumber
Jawaban:
Aset seperti suara, video, model, dan tekstur adalah mayoritas unduhan dan untuk masing-masing aset ini ada beberapa versi. Beberapa versi ini untuk mendukung berbagai opsi grafik.
Dengan mengirimkan aset yang diperlukan untuk opsi grafis rendah terlebih dahulu (yang juga merupakan yang terkecil). Anda memiliki semua yang Anda butuhkan untuk memainkan permainan ini meskipun hanya memiliki sekitar 15% dari total aset yang diperlukan untuk mendukung setiap opsi grafik.
Anda dapat menguji ini dengan menginstal ulang StarCraft 2. Mainkan segera setelah itu akan membiarkan Anda kemudian pergi ke layar opsi grafis. Banyak opsi dan pengaturan tidak akan tersedia.
sumber
Saya pernah menerapkan ini untuk MMO. Suatu akhir pekan ketika mencoba menginstal WOW untuk putriku memerlukan waktu 48 jam, (tambalan, kesalahan unduhan, dll.) Jadi saya memutuskan untuk membuat solusi saya sendiri yang lebih baik.
Gim biasanya membutuhkan 10 GB data sebelum dapat berjalan. Tidak semua file sebenarnya dibutuhkan segera, tetapi permainan digunakan untuk menunggu sampai semua file ada di tempat. Solusi saya adalah membuat game berjalan secara lokal seperti biasa, tetapi EXE ditipu (menggunakan minifilter file Windows) untuk berpikir semua file sudah ada. Ketika file yang diminta bukan lokal, sistem file akan mengunduhnya dan menyimpannya. Permainan perlahan disalin secara lokal sesuai kebutuhan. Ketika ada bandwidth yang tersedia, file lain yang belum dibutuhkan menetes di latar belakang. Ini bekerja dengan SEMUA permainan tanpa perlu kompilasi ulang, karena driver minifilter saya punya file saat diperlukan.
Kelemahan terburuknya adalah latensi. Solusi saya adalah membuat model Rantai Markov kecil untuk memprediksi file mana yang mungkin diperlukan selanjutnya, dan memprioritaskan pemuat latar belakang. Ini bekerja seperti pesona, dan MMO kami dapat menjalankan hampir SEGERA setelah EXE dan beberapa memuat file layar lokal (~ 20 MB). Kami dapat mengeklik tautan di laman web dan menjalankan game 10+ GB kami dalam waktu sekitar 30 detik . Kami memiliki hit rate 99%, artinya ketika game membutuhkan file baru untuk pertama kalinya sudah ada di sana!
Saya akan dengan senang hati membantu orang lain menerapkan ini.
sumber
Juga di beberapa game, area dunia game akhir dan file tertunda, hanya area wajib yang disimpan, dan juga dapat diinstal saat masih memainkan game.
sumber
Untuk meringkas apa yang dikatakan beberapa orang, dan mungkin menambahkan beberapa informasi:
Ini akan berarti beban jaringan yang lebih tinggi saat bermain, sampai semua konten di-cache secara lokal, tetapi beban burst awal yang lebih kecil pada server Anda serta menunggu yang lebih singkat dan lebih membuat frustrasi pengguna saat mereka awalnya mengunduh permainan.
Tentu saja jika pengguna memiliki koneksi jaringan yang lambat, ia mungkin masih mendapatkan pesan "harap tunggu, memuat konten" (sediakan itu) saat berpindah zona, atau Anda mungkin ingin memeriksa bandwidth saat awalnya memulai permainan dan jika terlalu rendah untuk mengunduh andal dengan cepat minta dia menunggu di sana dan kemudian untuk setidaknya seluruh tingkat pertama (dan kemudian lagi ketika memasuki zona yang belum sepenuhnya diunduh).
Ini untuk mencegah pengguna tertinggal di tengah gameplay yang sebenarnya karena koneksi jaringannya macet.
sumber