Jumpa lagi dengan saya dalam membuat tutorial sederhana ini. kali ini kita akan mecoba membuat save load yang sederhana, yaitu cara mudah game di construct 2.
Biasanya pada layar pemilihan level, seperti yang sudah kita buat di artikel sebelumnya, pemain hanya bisa memilih level yang sudah terbuka. Sebuah level akan ‘terkunci’ jika pemain belum pernah mencapai level tersebut sama sekali. Fitur ini dibuat agar pemain tidak harus selalu mengulang dari level pertama jika ingin mencapai level terakhir. Untuk membuat fitur tersebut kita harus bisa menyimpan informasi level tertinggi yang sudah dibuka oleh pemain, sehingga jika pemain menutup permainan dan membuka permainan di lain hari, data informasi level tertinggi tersebut tetap ada.
Ada dua tipe penyimpanan data dalam Construct 2:
- Save state: Construct akan menyimpan kondisi terakhir dari setiap objek yang ada dalam permainan, mulai dari posisi dan pergerakan, frame animasi, instance variable, dan lain-lain. Saat kita panggil fitur Load state, kondisi permainan akan langsung dikembalikan ke kondisi terakhir saat fitur save state ini dipanggil.
- LocalStorage: dengan objek LocalStorage kita bisa menyimpan kombinasi ‘key’ dan ‘value’ tertentu sesuai dengan kebutuhan kita. Keuntungan utama LocalStorage adalah karena hanya data yang kita simpan yang akan di load, proses loadingnya akan jauh lebih cepat dibandingkan fitur save state yang menyimpan informasi semua objek dalam permainan. Fitur LocalStorage ini bisa digunakan mulai Construct 2 versi 206 atau lebih, sebelumnya fitur ini bernama WebStorage.
Kedua jenis penyimpanan data tersebut memiliki keuntungan dan
kekurangan masing-masing. Berikut adalah beberapa contoh kasus dan jenis
penyimpanan apa yang cocok untuk kita gunakan:
- Untuk permainan action atau petualangan yang memiliki banyak musuh atau objek acak lain dan proses load akan membawa kita langsung ke tengah permainan, fitur Save state akan memudahkan kita karena kita tidak perlu menyimpan satu per satu informasi objek seperti posisi, nyawa, dan lain-lain,
- Untuk permainan dengan sesi permainan singkat dan proses load tetap membuat kita memulai dari awal level seperti permainan puzzle, quiz, atau balapan mobil, kita cukup menggunakan fitur LocalStorage.
- Untuk permainan dengan banyak objek namun semua bisa dimunculkan secara dinamis oleh event, kita bisa menggunakan LocalStorage, atau save state dengan memberi behavior ‘No save’ pada objek-objek yang dinamis tersebut, agar datanya tidak perlu disimpan.
Penyimpanan data pada Arkanoid
Untuk game Arkanoid yang kita buat, kita hanya perlu menyimpan
beberapa informasi seperti level yang sudah dibuka pemain dan nilai
tertinggi yang pernah dicapai oleh pemain, oleh karena itu kita akan
menggunakan fitur LocalStorage.
- Kita perlu buat beberapa variabel global baru, klik kanan pada area kosong di ‘event sheet 1′ > Add global variable > beri nama ‘highestLevel’ tanpa tanda petik, jenisnya number, beri nilai awal 1. Buat variabel kedua bernama ‘highscore’ dengan nilai awal 0.
- Buat objek LocalStorage dari tampilan layout, klik kanan > Insert new object > LocalStorage.
- Buat fungsi ‘SaveData’, buat event baru, Add event > Function > On function > beri nama ‘SaveData’. Buat subevent untuk membandingkan level saat ini dengan level tertinggi, tekan S > System > Compare variable > pilih variabel ‘level’, pilih ‘greater than’, tulis ‘highestLevel’.
- Add action > LocalStorage > Set item > tulis ‘highestLevel” dan isi nilai dengan ‘level’. Ini akan membuat data di LocalStorage menjadi level tertinggi saat ini.
- Kita buat sub-event yang sama untuk variabel ‘highscore’ (lihat gambar).
Pada bagian berikutnya kita akan membuat fungsi untuk load data di
awal permainan dan mengatur tampilan menu level sesuai dengan level yang
sudah dibuka oleh pemain.
nah sekian dulu kawan-kawan. sampai jumpai ke tutorial berikutnya :D
Tidak ada komentar:
Posting Komentar