Ouvi falar sobre design orientado a dados e tenho pesquisado sobre isso há um tempo. Então, eu li vários artigos para entender os conceitos.
Um dos artigos é o Data Driven Design, escrito por Kyle Wilson. Como ele descreveu, parece-me que o código do aplicativo (ou seja, o código para controlar recursos como memória, rede ...) e o código lógico do jogo devem ser separados, e o código lógico do jogo deve ser orientado por fontes de dados externas. Nesse ponto, posso imaginar que o desenvolvedor escrevesse algum tipo de editor de jogo que aceite dados externos sobre objetos do jogo (como informações sobre personagens, informações sobre armas, informações sobre mapas ...). O design do cenário será roteirizado por linguagem / ferramenta personalizada, escrita pelo programador, para permitir que o designer do jogo crie interação entre os objetos do jogo. O designer do jogo usará uma linguagem de script existente / personalizada para escrever o script para o jogo, ou a ferramenta de arrastar e soltar para criar o mundo do jogo. Exemplo de abordagem de ferramenta em que posso pensar é o World Editor, que geralmente acompanha os jogos de Bliizard.
No entanto, outro artigo é contra o uso de Design Orientado a Dados, O Caso Contra o Design Orientado a Dados . O autor sugere não deixar o design do jogo guiado por dados, porque levaria mais tempo para desenvolver um jogo, já que o designer do jogo tem o ônus da programação. Em vez disso, haverá um programador de jogos para programar o jogo livremente a partir do desenho do esboço e é verificado pelo designer do jogo após a conclusão da programação do jogo. Ele chama isso de programador. O que penso desse método é semelhante ao que costumava fazer: a lógica do jogo é o próprio aplicativo, em oposição à idéia acima, o aplicativo é o editor do jogo e o jogo real é projetado com base na ferramenta.
Para mim, o primeiro método parece ser mais razoável, pois os componentes do jogo podem ser reutilizados para muitos projetos. Com o segundo método que se opõe ao design orientado a dados, o código do jogo pertence apenas a esse jogo. É por isso que acho que o Warcraft tem tantos gêneros de jogos, como o Warcraft original e vários mapas personalizados, e um dos mais famosos: DOTA, que na verdade define um novo gênero. Por esse motivo, ouvi pessoas chamarem o World Editor de game engine. Isso é verdade como deveria ser um mecanismo de jogo?
Então, depois de tudo isso, eu só quero verificar se há alguma falha no meu entendimento sobre essas idéias (orientadas por dados, acionador de programador, scripts etc ...)?