Saya sedang mengembangkan mesin gim sederhana (dalam C #, jika itu penting), dan saya tidak bisa memikirkan cara yang cukup baik untuk mengimplementasikan skrip dalam hal arsitektur.
Ini adalah strategi sederhana berbasis giliran dengan animasi kustom, logika-independen untuk pertempuran. Ini memiliki lapisan arsitektur global untuk sistem / hal-hal tingkat rendah dan, yang paling penting, dua modul utama - logika dan permainan-hal-haly - yang berkomunikasi menggunakan event manager.
Dan masalahnya adalah, saya benar-benar ingin skrip memengaruhi kedua hal yang terkait dengan logika permainan (mengubah parameter unit, dll) dan hal-hal yang terkait dengan tampilan permainan, seperti animasi / dialog khusus untuk pertempuran yang mungkin bergantung pada pemicu skrip tertentu.
(Sejujurnya, idealnya saya ingin script untuk mengontrol alur permainan, hanya menyisakan mekanik inti / grafik untuk logika / tampilan, tapi saya baru dalam hal ini, jadi saya tidak yakin saya bisa melakukannya sekarang)
Saya telah memikirkan tiga opsi:
Biarkan skrip hidup dalam logika, tetapi biarkan ia tahu tentang sisi grafis gim. Tapi ini akan membuat divisi logika / tampilan sangat kabur, bukankah ...
Jadikan skrip sebagai modul terpisah yang akan bertukar acara dengan yang lain menggunakan pengelola acara yang sama. Tapi ini perlu sangat berhati-hati tentang sinkronisasi acara, saya kira ... dan juga menambahkan banyak jenis acara ke manajer. (Tetap, favorit pribadi)
Jadikan skrip sebagai modul di atas semuanya, sehingga dapat secara langsung memengaruhi / memanggil fungsi logika / tampilan. Hal ini memungkinkan fungsionalitas yang lebih luas secara inheren dengan biaya mengacaukan seluruh skema pertukaran acara dan takut bahwa skrip dapat merusak barang-barang bahkan ketika sebenarnya tidak seharusnya.
Jadi, saya tidak dapat memutuskan salah satu dari ini atau memikirkan cara yang lebih baik untuk menyisipkan modul skrip ... Ada saran atau tautan yang berguna?
Terima kasih!
Ps terima kasih telah memigrasi pertanyaan, tidak tahu ada bagian khusus untuk gamedev