Saya menerapkan NPC untuk berjalan di sekitar ruang virtual, khususnya kucing. Saya memiliki serangkaian klip animasi pendek (3-5 detik). Insting pertama saya adalah hanya memilih animasi acak ketika yang terakhir berakhir, tetapi saya menyadari bahwa itu tidak akan terlihat realistis karena akan mengubah perilaku terlalu sering, bahkan jika animasi berikutnya terbatas pada kemungkinan kontingen fisik.
Solusi yang saya maksudkan adalah sesuatu seperti pohon perilaku ( http://www.gamasutra.com/blogs/ChrisSimpson/20140717/221339/Behavior_trees_for_AI_How_they_work.php ), di mana setiap animasi memiliki daftar animasi berikutnya yang berbobot. Yaitu jika kucing berjalan, ia memiliki peluang 80% untuk terus berjalan, 20% duduk, 0% tidur. Pada dasarnya menggunakan model markov untuk mendapatkan langkah selanjutnya yang sesuai.
Namun saya tidak tahu apakah ini solusi yang baik, saya juga tidak tahu bagaimana saya akan menghasilkan pemetaan dari animasi saat ini ke kemungkinan animasi berikutnya + probabilitas. 30 animasi * 30 animasi berikutnya = 900 bobot. Itu banyak menghitung secara manual.
Kucing kadang-kadang akan bereaksi jika menabrak rintangan, tetapi beban masalahnya adalah memilih urutan animasi yang realistis tanpa memilih semuanya terlebih dahulu. Di pohon itu juga akan ada beberapa input lain, seperti kedekatan dengan seseorang, lokasi di ruangan, waktu sejak terakhir makan dll.