Saya sudah membaca beberapa tentang desain game berbasis komponen tetapi saya masih mengalami kesulitan mencari tahu bagaimana tepatnya Anda akan mengimplementasikannya. Adakah contoh bagus game berbasis komponen atau mesin game yang bisa saya baca untuk merasakan lebih baik tentang ini?
sumber
Berikut ini beberapa sumber yang mungkin Anda sukai:
Ada utas luar biasa ini . Ini bukan mesin gim itu sendiri, tetapi desain dan pembahasannya luar biasa.
Sebuah pertanyaan tentang StackOverflow pada topik yang sangat mirip.
Untuk menjawab pertanyaan asli, kerangka kerja Gajah di C # persis seperti yang Anda inginkan: kerangka itu sudah dihentikan, tetapi masih ada di sini untuk referensi implementasi.
sumber
Situs ini mulai menjadi implementasi dasar.
Sebagian besar di atas terinspirasi oleh ini artikel di T = Machine
Saya mulai menerapkan dasar yang diilhami oleh dua tautan di atas. Saya cukup yakin saya telah banyak menyimpang dari teori murni sistem komponen, dan pasti ada bug, tetapi mungkin terbukti bermanfaat jika Anda mencari beberapa contoh sederhana.
Bricle (C # / XNA)
Sekarang ini hanya memuat beberapa entitas dasar, menangani beberapa peristiwa, dll. Lokasi utama yang Anda cari adalah folder Engine.EntitySystem dan mungkin PlayScreen tempat entitas sebenarnya dibuat.
Membuat toko komponen berbasis tipe sederhana dan menyembunyikannya di belakang EntityManager yang umum relatif lurus ke depan.
Tantangan pertama yang saya temui adalah ketika sistem individual mungkin memerlukan beberapa tipe komponen (yaitu, komponen Fisik dan InputMoveable). Untuk menggunakan bahasa basis data relasional, saya harus menemukan cara untuk melakukan query JOIN. Untuk itu, saya membuat tipe koleksi lain untuk entitas yang dibangun dari kueri tipe komponen yang cocok - setiap koleksi entitas menghubungkan ke acara OnEntityCreate dan memeriksa apakah cocok. Masih ada beberapa bug di sana.
Tantangan kedua sebenarnya adalah membuat 'objek permainan' - Saya menyebutnya templat. Di sini saya mungkin tidak terlalu murni menurut spesifikasi T = Machine, tetapi sepertinya berhasil. Templat kelompokkan bersama komponen komponen dan memungkinkan komposisi entitas yang lebih mudah (yaitu, Bola Dapat Digambar dan Fisik).
Semoga itu bermanfaat - sistem entitas / komponen dapat menjadi tantangan untuk melewati beberapa rintangan awal.
sumber
Satu lagi, saya belum pernah menggunakan, tetapi sedikit melihat kode, adalah Artemis . Komentarnya bagus dan cukup aktif. Awalnya kerangka Java tetapi telah porting ke C # / XNA.
sumber