He escuchado sobre el diseño basado en datos y he estado investigando al respecto por un tiempo. Entonces, he leído varios artículos para obtener los conceptos.
Uno de los artículos es Data Driven Design escrito por Kyle Wilson. Como él describió, me parece que el código de la aplicación (es decir, el código para controlar recursos como la memoria, la red ...) y el código lógico del juego deben estar separados, y el código lógico del juego debe estar impulsado por fuentes de datos externas. En este punto, puedo imaginar que el desarrollador escribiría algún tipo de editor de juegos que acepte datos externos sobre objetos en el juego (como información de personajes, información de armas, información de mapas ...). El diseño del escenario estará escrito por un lenguaje / herramienta personalizada escrita por un programador para permitir que el diseñador del juego cree interacción entre los objetos del juego. El diseñador del juego usará un lenguaje de secuencias de comandos existente / personalizado para escribir secuencias de comandos para el juego o una herramienta de arrastrar y soltar para crear el mundo del juego. Un ejemplo de enfoque de herramienta que se me ocurre es World Editor, que generalmente se incluye junto con los juegos de Bliizard.
Sin embargo, otro artículo está en contra del uso de Data Driven Design, The Case Against Data Driven Design . El autor sugiere no dejar que el diseño del juego se base en datos, ya que llevaría más tiempo desarrollar un juego, ya que el diseñador del juego tiene la carga de programar. En cambio, habrá un programador de juegos para programar el juego libremente desde el diseño del boceto, y el diseñador del juego lo verificará una vez que la programación del juego haya finalizado. Él llama a esto es impulsado por el programador. Lo que pienso de este método es similar a la forma en que solía hacerlo: la lógica del juego es la aplicación en sí misma, según lo expuesto en la idea anterior, la aplicación es el editor del juego y el juego real está diseñado en función de la herramienta.
Para mí, el primer método parece ser más razonable, ya que los componentes del juego pueden reutilizarse para muchos proyectos. Con el segundo método que se opone al diseño basado en datos, el código del juego pertenece solo a ese juego. Es por eso que creo que Warcraft tiene tantos géneros de juego, como el Warcraft original y varios mapas personalizados, y uno de los más famosos: DOTA, que en realidad define un nuevo género. Por esta razón, escuché que la gente llama al World Editor es el motor del juego. ¿Es así como debería ser un motor de juego?
Entonces, después de todo esto, solo quiero verificar si hay alguna falla en mi comprensión sobre estas ideas (impulsada por datos, unidad de programación, secuencias de comandos, etc.).