Apa peran yang berkembang dengan acara dalam permainan?

9

Sebagian besar pengembangan aplikasi didasarkan pada pengembangan dengan acara, tetapi mengingat gaya permainan-loop dari pengembangan game dan (sering) kebutuhan untuk kinerja tinggi / throughput, peran apa yang dikembangkan dengan menggunakan acara dan apa trade-off? Apakah sinkronisasi / penguncian yang sering terlibat memiliki dampak yang lebih besar?

Misalnya: - Bagaimana jaringan [lapisan] memberi tahu game-loop data yang diterima? - Bagaimana sistem fisika memberitahukan tabrakan

Saya bertanya, karena saya dapat mengingat saat ketika pengembangan game menggunakan acara adalah tidak boleh. Apakah ini sudah berubah?

Steven Evers
sumber

Jawaban:

5

Sistem acara sangat kuat, dan dapat dibuat dengan sangat cepat.

Mereka juga memungkinkan Anda untuk modulise bagian kode dalam struktur kopling yang sangat longgar. Mereka membiarkan Anda melakukan pekerjaan batch dan membatalkan tugas. Bekerja dengan baik dengan fungsi multi-core dan asinkron.

Fisika - Callback Collision, Activate atau Rest Objects menerjemahkan dengan baik ke berbagai peristiwa. Jaringan - Sebisa mungkin harus acara (obrolan suara dll .. pengecualian) Logika Game - Secara alami cocok untuk model acara Menu & UI - Bekerja dengan cerdas dalam sistem berbasis acara

Juga banyak konsol modern, dan perpustakaan peralatan sedang menggunakan acara.

Penyaji dan pemungutan suara dari perangkat input dapat sedikit membingungkan untuk disesuaikan. Terutama jika Anda menggunakan kontrol gerak, karena acara dapat memperkenalkan latensi yang terlihat dan menjadi kontra-intuitif pada format pemungutan suara.

Kimau
sumber
4

Saya akan mengatakan bahwa menggunakan gaya loop utama masih disarankan: Ini cepat, ini memberi Anda kontrol total atas urutan tindakan (ini penting dalam sebuah game) dan lebih sulit untuk membuat kesalahan dalam mengkodekannya. Namun, jika teknologi yang Anda gunakan memungkinkan Anda untuk dengan mudah menggunakan acara, itu bisa sangat berguna untuk banyak hal. Misalnya, saya menggunakannya untuk memberi tahu kapan dan di mana musuh mati, ketika tombol keyboard ditekan ...

Kesimpulannya: Gunakan loop game untuk mengontrol logika utama game, tetapi ingatlah bahwa acara dapat berguna dalam situasi lain.

miguelSantirso
sumber
Saya tidak setuju bahwa gaya loop utama direkomendasikan. Gim gaya loop utama kalah dari gim yang dikontrol acara yang ditulis dengan baik di beberapa area: 1) pada sistem multi-tasking, gim ini mengkonsumsi prosesor dalam jumlah yang tidak perlu untuk serangkaian fitur yang tetap, 2) pada perangkat portabel, bahkan pada satu -menggunakan sistem, penggunaan prosesor yang ekstra mempengaruhi masa pakai baterai, 3) semakin sederhana gim, semakin besar masalah ini dibandingkan dengan gim yang digerakkan oleh peristiwa.
Sam Harwell