Saya merancang sebuah game RPG yang memiliki banyak alur cerita, artinya, tergantung pada pilihan pengguna beberapa hal mungkin atau mungkin tidak terjadi, Anda dapat mencapai hal yang sama dalam beberapa cara, akhir ceritanya bisa berbeda dan seterusnya.
Saya menerapkan mesin pengambilan keputusan sederhana, yang berfungsi dengan baik tetapi memiliki satu cacat besar, pada saat Anda mengambil keputusan, kisah tersebut segera dipengaruhi oleh keputusan Anda, yang berarti bahwa Anda tidak dapat mengambil keputusan yang akan mempengaruhi Anda di masa depan yang jauh . Ini karena ceritanya terbuka seperti cabang dalam struktur pohon, dan selalu perlu tahu simpul mana yang berikutnya. Di bawah tenda, keputusan diimplementasikan menggunakan antrian: setiap simpul tahu tentang simpul sebelumnya dan simpul berikutnya (atau jika itu adalah simpul keputusan yang menunggu input pengguna untuk mengatur simpul berikutnya)
Saya melihat banyak permainan yang memiliki mesin keputusan yang kompleks, dan saya bertanya-tanya, bagaimana mereka dibuat? Apakah ada desain khusus yang membuat semuanya sangat mudah? Adakah yang melakukan sesuatu yang serupa dan dapat memberi saya petunjuk tentang cara mengatasi ini?
PEMBARUAN 1:
Aspek penting adalah mengatur agar kode cerita tetap independen, sehingga dapat dimanipulasi dari file eksternal. Saya berencana untuk menggunakan ini sebagai mesin sehingga bahkan pilihan yang mungkin harus datang dari file eksternal. Kode harus sepenuhnya abstrak.
Juga, saya tertarik pada solusi desain, cara yang bagus untuk melakukannya, bagaimana orang lain melakukannya atau melakukannya.
if (isTree)
atau menyimpan isTree
global var karena ceritanya mungkin atau mungkin tidak memiliki pilihan di dalamnya. Tau apa yang saya maksud? Ini lebih seperti mesin pilihan yang akan menyajikan banyak cerita.
isTree=true
, tetapi kemudian, dia melakukan sesuatu yang lain, seperti, melawan teman sekolah, yang sebaliknya pergi dan memotong pohonnya ketika pohon itu masih muda karena dia mendapatkan pantatnya ditendang. Sekarang, kami memiliki 2 variabel yang mempengaruhi keberadaan pohon isTree==true' and
didFightBrat == false`. Tau apa yang saya maksud? Dan rantai itu bisa berlangsung selamanya, keberadaan pohon itu dapat dipengaruhi oleh sejumlah faktor yang tidak diketahui. Tau apa yang saya maksud?