Saya telah membaca banyak artikel yang membahas desain berbasis data untuk game. Tampaknya turun ke:
- Tidak ada kode yang sulit
- Tidak ada kode khusus game di mesin
- Scripting untuk AI, cutscene, dan lain-lain.
- Generalisasi kode untuk dapat digunakan kembali
- Desain komponen
- Modularitas
- Kopling rendah
- Editor (untuk data, peta, skrip)
- Pengambilan data eksternal
- Konstanta disimpan dalam file teks (
.ini
atau lainnya) - Paparkan data melalui editor untuk skrip dan manipulasi oleh desainer
Sekarang, pertanyaan saya adalah, apakah pemahaman ini benar?
terminology
OmniOwl
sumber
sumber
Jawaban:
Saya akan mengatakan ini tidak benar. Saya percaya ide paling penting dalam desain yang didorong data adalah memisahkan data Anda dari apa yang mengubah (atau memperbarui) data .
Jadi beralih dari hierarki mendalam OO standar seperti ini:
ke keadaan dan sistem yang terpisah
Salah satu paradigma DDD yang paling berpengaruh saat ini adalah Sistem Entitas. Beberapa sumber yang bagus untuk dicari adalah:
http://gamedevrubberduck.wordpress.com/2012/12/26/a-hybrid-entity-system-component-architecture/
http://entity-systems.wikidot.com/
Tentu saja karena dengan semua paradigma / ide tidak ada definisi yang tepat dan tidak semua orang mengerti ide yang sama ketika berbicara DDD tetapi ini adalah apa yang saya percaya sebagai hal yang paling penting.
sumber
Saya pikir Anda terlalu rumit definisi. Tentu saja, banyak prinsip yang terkandung dalam daftar poin Anda adalah yang baik dari perspektif rekayasa perangkat lunak, tetapi semuanya tidak selalu merupakan bagian dari definisi "yang didorong oleh data". Banyak dari mereka memiliki beberapa tumpang tindih, atau paling baik diimplementasikan menggunakan pendekatan berbasis data, tetapi tidak merupakan tindakan sesuatu yang mendorong data.
Definisi aktual pengembangan perangkat lunak berbasis data umumnya cukup sederhana: program melakukan tindakan terutama berdasarkan beberapa informasi dari luar (sepotong data level, data skrip, dan lain-lain) alih-alih memiliki serangkaian langkah yang telah ditentukan dan diperbaiki dalam kode. sendiri yang menentukan aliran kontrol.
sumber