Eu tenho lido muitos artigos sobre design orientado a dados para jogos. Parece se resumir a:
- Sem codificação física
- Nenhum código específico do jogo no mecanismo
- Script para AI, cenas, etc.
- Generalizando código para reutilização
- Design de componentes
- Modularidade
- Baixo acoplamento
- Editores (para dados, mapas, scripts)
- Recuperação de dados externos
- Constantes mantidas em arquivos de texto (
.ini
ou não) - Expor dados através de editores para scripts e manipulação por designers
Agora, minha pergunta é: esse entendimento está correto?
terminology
OmniOwl
fonte
fonte
Respostas:
Eu diria que isso não está correto. Acredito que a idéia mais importante no design orientado a dados é separar seus dados do que modifica (ou atualiza) os dados .
Então, partindo de uma hierarquia profunda OO padrão como esta:
para um estado e sistema separados
Um dos paradigmas DDD mais influentes no momento são os sistemas de entidades. Alguns recursos interessantes para procurar são:
http://gamedevrubberduck.wordpress.com/2012/12/26/a-hybrid-entity-system-component-architecture/
http://entity-systems.wikidot.com/
É claro que, como em todos os paradigmas / idéias, não existe uma definição exata e nem todo mundo entende a mesma idéia ao falar DDD, mas é nisso que eu acredito que é a coisa mais importante.
fonte
Eu acho que você está complicando demais a definição. Certamente, muitos dos princípios contidos em sua lista com marcadores são bons do ponto de vista da engenharia de software, mas nem todos são necessariamente parte da definição de "orientado a dados". Muitos deles têm alguma sobreposição ou são melhor implementados usando uma abordagem orientada a dados, mas não constituem o ato de direcionar algo.
A definição real de desenvolvimento de software orientado a dados é geralmente bastante simples: um programa executa ações principalmente com base em algumas informações externas (uma parte dos dados de nível, dados de script etc.) em vez de ter uma série de etapas predefinidas e fixas no código si que determinam o fluxo de controle.
fonte