J'ai entendu parler de la conception axée sur les données et j'effectue des recherches à ce sujet depuis un certain temps. J'ai donc lu plusieurs articles pour comprendre les concepts.
L'un des articles est Data Driven Design écrit par Kyle Wilson. Comme il l'a décrit, il me semble que le code d'application (c'est-à-dire le code de contrôle des ressources telles que la mémoire, le réseau ...) et le code logique de jeu doivent être séparés, et le code logique de jeu doit être piloté par des sources de données externes. À ce stade, je peux imaginer que le développeur écrirait une sorte d'éditeur de jeu qui accepte des données externes sur les objets du jeu (telles que les informations sur les personnages, les informations sur les armes, les informations sur les cartes ...). La conception du scénario sera scriptée par un langage / outil personnalisé écrit par le programmeur pour permettre au concepteur de jeu de créer une interaction entre les objets du jeu. Le concepteur du jeu utilisera soit un langage de script existant / personnalisé pour écrire le script du jeu, soit un outil glisser-déposer pour créer le monde du jeu. Un exemple d'approche d'outils auquel je peux penser est World Editor, qui est généralement fourni avec les jeux de Bliizard.
Cependant, un autre article est contre l'utilisation de Data Driven Design, The Case Against Data Driven Design . L'auteur suggère de ne pas laisser la conception du jeu axée sur les données, car cela prendrait plus de temps pour développer un jeu, car le concepteur de jeu a le fardeau de la programmation. Au lieu de cela, il y aura un programmeur de jeu pour programmer le jeu librement à partir de la conception de l'esquisse et sera vérifié par le concepteur du jeu une fois la programmation du jeu terminée. Il appelle cela un programme. Ce que je pense de cette méthode est similaire à la façon dont je le faisais auparavant: la logique du jeu est l'application elle-même, comme apposée sur l'idée ci-dessus, l'application est l'éditeur de jeu et le jeu réel est conçu en fonction de l'outil.
Pour moi, la première méthode semble plus raisonnable, car les composants du jeu peuvent être réutilisés pour de nombreux projets. Avec la deuxième méthode qui s'oppose à la conception basée sur les données, le code du jeu n'appartient qu'à ce jeu. C'est pourquoi je pense que Warcraft a tellement de genres de jeux, comme le Warcraft original et diverses cartes personnalisées, et l'un des plus célèbres: DOTA qui définit en fait un nouveau genre. Pour cette raison, j'ai entendu des gens appeler World Editor est le moteur de jeu. Est-ce vrai à quoi devrait ressembler un moteur de jeu?
Donc, après tout cela, je veux juste vérifier s'il y a un défaut dans ma compréhension de ces idées (piloté par les données, le programmeur, les scripts, etc.)?