Selamat datang di bagian ke 7 dari seri
tutorial membuat RPG di Construct 2. Kali ini aku akan mencoba
mengimplementasikan AI seperti yang sudah aku desain sebelumnya. Aku
akan mencoba membuatnya dalam 1 blog post, tapi kalau nggak bisa,
berarti blog post ini cuma mencakup AI penyerang fisik.
Pertama-tama aku ingin memastikan bahwa
semua petarung di battle scene tahu tentang musuh-musuhnya, karena AI
kedua tipe musuh juga akan bergantung dari data ini. Awalnya aku
berencana memakai family buat keperluan ini. Tapi ternyata aku nggak
bisa menambah / mengurangi member family ini lewat event, padahal
buat kebutuhan ini aku harus bisa mengganti member family secara
dinamis lewat event (karena tiap battle, musuhnya beda-beda, dan
party member pun bisa diganti secara bebas oleh pemain). Jadi untuk
mengatasi ini, aku akan membuat array yang berisi data petarung dari
party member dan juga dari musuh, array ini bernama enemyPartyArr
dan playerPartyArr. Kedua array ini
hanya berisi maksimal 4 elemen, karena kita memang membatasi jumlah
petarung di sisi player dan musuh dalam battle. Ini juga mengubah
fungsi family Friendly, dulunya family ini berisi semua party member
yang bertarung, tapi sekarang mungkin lebih cocok berisi semua
character dalam game yang bisa bergabung bersama pemain.
Aku mengubah apa yang terjadi di event
on start of layout, sekarang kita memberi nama pada battleName musuh
dan juga mengisi kedua array petarung, saat ini isinya hanya ada satu
tapi nanti isinya akan berbeda-beda.
Kemudian aku membuat instance variable
enemySelection di kedua family. Untuk
memudahkan kita untuk membedakan nantinya, di family Enemies akan aku
namai playerSelection sedangkan di
family Friendly aku namai enemySelection.
Keduanya memiliki nilai awal "closest". Di bagian bawah,
aku membuat function baru bernama "enemySelTarget" yang
akan digunakan oleh musuh untuk mencari target pemain. Fungsi ini
menerima dua parameter, yaitu nama musuh yang akan mengganti target,
dan AI pemilihan target si musuh.