Game Offline di Construct 2

Bagus Aji Santoso 13 November 2017

Game Offline di Construct 2

Game yang dibuat dengan Construct 2 dapat berjalan tanpa koneksi internet selama game tersebut sudah diunduh sekali saat online. Fitur ini cocok untuk aplikasi web iOS dan aplikasi untuk Chrome Web store karena pengguna tidak perlu online untuk memainkannya! Tutorial ini akan menjelaskan bagaimana dukungan offline bekerja.

File Cache

Setelah mengekspor game kita, akan ada sebuah file bernama offline.appcache di folder game tersebut. File ini yang akan membuat fitur offline support berjalan. Isi file ini sebetulnya hanya daftar file yang digunakan oleh game sehingga browser bisa menyimpan file-file tadi ke hardisk.

Perlu diperhatikan bahwa tidak semua server dapat menyediakan file .appcache dengan benar. Server kita harus bisa menyediakan file .appcache dengan MIME type text/cache-manifest. Penting sekali untuk menggunakan MIME type yang sama atau dukungan offline kita mungkin tidak bekerja dan kita akan buang-buang bandwidth! Untuk daftar *MIME type * yang lain silahkan baca manual server MIME types.

Jika pengaturan server benar, browser akan menyimpan seluruh game kita setelah selesai dimuat untuk pertama kali. Setelah itu, saat kita membuka game yang sama, browser akan membacanya dari hard disk, tidak ada lagi yang diunduh yang juga berarti game kita akan dimuat secara instan tanpa perlu menunggu. Jadi meskipun perangkat tidak memiliki koneksi game tetap dapat dimainkan.

Catat: jika kita mengubah nama file index.html - meskipun hanya ekstensinya, misal index.php atau index.asp - pastikan untuk mengubah juga baris yang menyebutkan index.html di file offline.appcache. Jika offline.appcache mengatakan index.html, maka browser akan dapat menemukannya karena kita sudah mengubah nama file tersebut. Kita bisa membuka file offline.appcache di Notepad atau editor lain.

Update Game

Muncul sebuah pertanyaan: jika game selalu dibaca dari hard disk, bagaimana kita bisa meng-update game tersebut?

Jika pengguna sedang online dan membuka game kita, maka browser akan membacanya dari hard disk. Namun, saat game sedang berjalan, ia akan memeriksa apakah ada update di belakang layar. Jika kita sudah mengunggah versi baru, browser akan mengunduhnya dan menyimpan versi tersbut di hard disk. Lalu, saat main lagi (atau me-refresh halaman game) maka browser akan memuat versi yang baru. Sampai hal tersebut terjadi, pengguna hanya akan memainkan versi lama.

Objek browser memiliki dua kondisi untuk memeriksa versi baru yaitu dengan Is downloading update dan On update ready. Is downloading update akan bernilai true jika browser mengunduh versi baru di belakang layar. Ekspresi loadingprogress juga digunakan untuk menentukan progress pengunduhan versi baru dari 0 ke 1, misalnya 0.5 artinya sudah setengah jalan. On update ready akan dipanggil saat pengunduhan selesai dan versi baru sudah siap dimuat. Jika user sedang berada di halaman depan (menu) kita bisa menampilkan alert untuk memberitahu ada versi baru dan meminta mereka untuk memuat ulang halaman tersebut , akan tetapi jika pengguna sedang bermain mungkin kita tidak ingin mengganggu mereka.

Kondisi di atas memungkinkan kita untuk membuat auto-update sederhana untuk game kita. Kita dapat menampilkan teks "Downloading an update..." untuk memberitahu bahwa game sedang mengunduh versi baru dan menampilkan teks "New version ready to load" saat On update ready dipanggil dan menampilkan tombol reload.

Ingat Untuk Mengunggah Ulang File offline.appcache

Jika kita meng-update game, walau hanya satu file yang berubah, kita juga harus tetap mengunggah ulang file offline.appcache selalu! Jika tidak browser akan menganggap tidak ada yang berubah dari project kita dan tidak mengunduh update baru. Construct 2 menambahkan sebuah timestamp dibagian atas file offline.appcache untuk memastikannya ikut berubah saat melakukan ekspor.

Fitur Berguna Lainnya

Objek Browser kita memiliki tiga kondisi lain yaitu: is online, on went online dan on went offline. Dari ketiga kondisi ini kita bisa memberitahu pengguna saat mereka sedang terhubung ke internet atau tidak terhubung saat sedang bermain game kita. Kondisi ini juga berguna jika kita ingin mengaktifkan atau menonaktifkan fitur tertentu.

Kesimpulan

Pastikan file offline.appcache berjalan di server. Lalu, tambahkan objek Browser ke game untuk memeriksa event update. Sekarang kita dapat membuat sebuah game yang berjalan saat tidak ada koneksi internet dan dapat melakuakn auto-update saat ada versi baru dan pengguna sedang terhubung ke internet. Sangat mudah untuk dilakukan namun sangat bermanfaat sekali untuk game kita.

Offline games in Construct 2 originally published by Ashley