Saya saat ini membaca buku Programming Game AI By Example.
Buku ini menyebutkan pemberian nomor ID unik untuk setiap entitas dalam game. Seringkali ketika entitas A kebutuhan untuk kontak entitas B , A mendapat referensi ke B dengan mengirimkan B 'nomor ID ke EntityDatabase kelas. Kelas ini menerima nomor ID dan mengembalikan referensi ke entitas.
Nomor ID dari beberapa entitas juga dapat diambil dari file yang berisi ID dari beberapa entitas (karakter permainan utama).
Pertanyaan saya adalah: Mengapa saya melakukan ini? Mengapa saya tidak dapat bekerja secara langsung dengan referensi? Apakah kadang-kadang sulit untuk mendapatkan referensi langsung? Apakah menggunakan sistem ID pendekatan umum? Apakah ada game yang tidak menggunakan ID?
Saya baru dalam pengembangan game. Tolong jelaskan manfaat bekerja dengan sistem ID entitas. Kelebihan dan kekurangannya. Contoh nyata akan sangat bagus. Terima kasih
sumber
Satu hal terakhir adalah bahwa jika Anda menggunakan pola Object Pool dan suatu entitas akan direset karena makhluk itu mati (misalnya) dan respawn di tempat lain, referensi masih akan menunjuk ke entitas yang sama (kesalahan) dan ID tidak akan lagi tetap sah.
ID 5067 menunjuk ke alamat 0x8765 makhluk mati dan satu lagi memunculkan ID makhluk baru diatur ulang ke 7073 Seseorang memeriksa ID 5067, menunjuk ke 0x8765 tetapi makhluk itu sekarang terdaftar dengan ID 7073 sehingga basis data entitas ID tahu Anda menggunakan ID usang dan memberitahu Anda, makhluk yang telah Anda coba jangkau tidak lagi aktif.
Itu dan semua alasan indah yang disebutkan Byte56 adalah mengapa ini merupakan desain yang bagus untuk menghindari penggunaan referensi secara langsung.
sumber