Seperti disebutkan sftrabbit, ini adalah aplikasi yang sempurna untuk mesin keadaan.
Pada dasarnya, Anda memiliki semacam struktur pohon. Setiap daun / simpul berisi informasi tentang keadaan saat ini, dan aturan untuk maju ke keadaan berikutnya. Setiap node dapat berisi beberapa pintu keluar, tergantung pada seberapa kompleks Anda membutuhkan alur plot / permainan Anda.
Analog yang bagus dan sangat longgar untuk ini adalah buku Choose Your Own Adventure . Setiap halaman berisi beberapa teks yang menggambarkan bagian dari cerita, dan keputusan yang bisa dibuat pemain. Setiap keputusan mengarah ke halaman lain. Beberapa halaman mungkin menautkan kembali ke halaman yang sebelumnya dikunjungi, dll.
Gim petualangan berbasis teks lama seperti Zork dan Leather Goddesses of Phobos , dan gim Sierra * Quest yang terkenal ( SpaceQuest yang dibintangi Roger Wilco, penjarah ruang angkasa adalah salah satu favorit saya ) menggunakan versi yang sangat sederhana dari jenis sistem ini. Setiap kamar di peta adalah negara, dengan pintu keluar yang terhubung ke negara bagian atau kamar lain. Mendapatkan item menetapkan bendera di objek status global. Setiap kamar akan memeriksa bendera tersebut untuk menentukan karakter atau item mana yang tersedia di setiap kamar.
Jadi, negara Anda dapat diimplementasikan sebagai kelas atau struct, masing-masing dengan properti untuk:
Daftar aset - daftar pointer ke latar belakang grafik dan hal lain yang Anda perlukan untuk menampilkan ruang / keadaan / level.
Syarat masuk - pencapaian yang harus sudah dicapai untuk memasuki level
Keluar - tautan ke setiap kemungkinan keluar "berikutnya". Utara, Selatan, Timur, dan Barat adalah beberapa contohnya, tetapi Anda juga dapat menyertakan Door1, Teleport, dll. Saat mencoba untuk keluar dari kamar, atau menentukan pintu keluar / pintu "terbuka", game Anda dapat memeriksa status berikutnya untuk melihat apakah kondisi entri telah dipenuhi, dan mengubah cara keluar ditampilkan di layar, atau tidak memungkinkan pemain untuk bergerak ke arah itu.
Jika Anda ingin berkhayal, Anda bisa menyertakan versi negara bagian yang berbeda dengan kondisi masuk yang berbeda, yang akan mengubah cara ruangan disajikan kepada pemain, atau tindakan yang tersedia di ruangan itu.
Layar mulai Anda, kematian / permainan lebih dari layar, dll semua bisa menyatakan dalam sistem, mirip dengan cara Anda menavigasi antara layar menu. Bahkan, jika Anda memiliki sistem menu seperti itu, Anda dapat menggunakannya untuk ini. Alih-alih panah atas / bawah dan "masuk" untuk menavigasi menu, Anda akan mencari acara tertentu di dalam area bermain game, seperti menginjak teleport pad, berjalan keluar dari sisi kanan layar, dll.
Dari sudut pandang admin, pertimbangkan apakah Anda dapat memanfaatkan atau tidak membuat alat admin yang memungkinkan Anda membuat mesin negara. Tambahkan kamar ke peta, buat tautan di antaranya, tetapkan aset seperti gambar latar, dll. Ini mungkin berlebihan untuk upaya pertama Anda; terlalu mudah untuk terserap dalam membangun alat admin, dan tidak pernah benar-benar menyelesaikan permainan. Ingat - Anda tidak menulis middleware, melainkan permainan.
Semoga ini membantu.