Cara tradisional untuk mencapai tujuan ini dalam pengembangan game adalah menggunakan arsitektur berbasis data untuk sistem game.
Pada intinya, ini berarti bahwa kode tidak menerapkan jenis senjata tertentu (senjata) dengan nilai yang ditentukan secara eksplisit untuk jangkauan / kerusakan / penetrasi melainkan mengisi konsep generik dari senjata jarak jauh (jangkauan / kerusakan / penetrasi ...) dari sumber data eksternal (ke kode). Sumber eksternal ini dapat bervariasi dari file parse-mampu (mungkin XML) membaca dari disk, ke file biner atau elemen database yang dihasilkan melalui alat internal atau eksternal ke mesin permainan itu sendiri.
Mendefinisikan sesuatu seperti musuh, sistem AI mungkin dirancang untuk mendukung sejumlah perilaku generik (agresif, defensif, dukungan, pengecut) yang kemudian diubah oleh elemen berbasis data.
Musuh Baru saya, dimulai dengan perilaku AI pangkalan yang agresif dengan nilai-nilai yang digerakkan oleh data untuk: -memutuskan pemain> level saya + X -mengejar pemain hingga unit X di luar titik spawn -mengungsi saat kesehatan <X-prioritas kemampuan terentang-prioritas kemampuan jarak jauh (untuk saat pemain terlalu dekat)
Skema penggerak data yang lebih rumit mungkin memungkinkan definisi titik data tertentu (peristiwa) di mana keadaan AI transisi (mesin keadaan terbatas) ke keadaan lain (atau bahkan peluang untuk beralih ke salah satu dari N negara lain) yang memungkinkan pengguna Anda untuk menentukan hierarki perilaku yang rumit.
Semua ini tentu saja lebih berfungsi daripada sekadar mengkode perilaku secara eksplisit, tetapi merupakan tantangan yang menyenangkan untuk memungkinkan pengguna menghasilkan konten tanpa modifikasi sumber.
Ada poin bonus yang ingin dicapai:
- jika Anda dapat memperbarui data secara dinamis dan memiliki perubahan yang tercermin dalam mesin gim tanpa memulai ulang aplikasi
- jika Anda membuat UI yang ramah pengguna atas data yang memungkinkan pengguna menggunakan antarmuka untuk berinteraksi dengan data daripada langsung mengedit file teks (xml, atau apa pun)
Untuk game tutorial yang ditargetkan sebagai kerumunan yang lebih teknis, sebagian besar pekerjaannya adalah dalam kelas / objek yang dirancang yang mengekspos antarmuka yang bersih bagi pengguna untuk memperluas yang pada gilirannya juga mungkin didorong oleh data.