Ini adalah pertanyaan desain ... Saya yakin ini bisa digeneralisasi lebih banyak, tapi saya kesulitan melakukannya. Saya bertanya-tanya tentang desain untuk interaksi objek game - inilah contoh saya (2D puzzle-platformer).
Katakanlah pemain sedang mencoba untuk maju melalui level. Ada banyak lampu yang bisa diarahkan ke berbagai arah. Berikut adalah contoh bagaimana benda-benda ringan ini dapat berinteraksi ...
- Satu lampu memproyeksikan platform yang memungkinkan pemain melewati celah
- Satu cahaya mengurangi koefisien gesekan dari apa pun yang disentuhnya, yang lain meningkatkannya
- Satu lampu menghilangkan efek dari semua lampu, yang akan membuat platform menghilang saat lampu menyala dan null pengubah gesekan
- Dll ...
Apa cara terbaik untuk mendekati masalah ini saat menggunakan arsitektur komponen? Komponen untuk setiap objek utama tampak jelas, serta cara yang bersih untuk menentukan efeknya terhadap lingkungan. Kelas untuk "menyelesaikan" interaksi (sepertinya itu bisa menjadi berantakan dengan cepat)? Beberapa penggunaan pola dekorator untuk membuat objek gabungan bagi mereka yang berinteraksi pada waktu tertentu? Struktur data yang cocok untuk ini?
Juga, menghubungkan audio ke interaksi ini? Sepertinya menghubungkan audio ke sistem akan sama seperti menghubungkan properti lain, seperti visibilitas atau gerakan pemain / tabrakan.
Tentunya karena semakin banyak komponen yang ditambahkan, akan lebih baik jika ada sistem yang kuat yang dapat menangani yang baru dengan sedikit modifikasi, tetapi saya tidak terbiasa dengan bagaimana cara mendesain ini.
Informasi Lain: Mesin yang saya gunakan adalah mesin XNA yang disebut IceCream .