Ich habe viele Artikel über datengesteuertes Design für Spiele gelesen. Es scheint zu kommen auf:
- Keine harte Codierung
- Kein spielspezifischer Code in der Engine
- Skripterstellung für KI, Zwischensequenzen usw.
- Verallgemeinern des Codes für die Wiederverwendbarkeit
- Komponentendesign
- Modularität
- Niedrige Kopplung
- Editoren (für Daten, Karten, Skripte)
- Externer Datenabruf
- Konstanten in Textdateien (
.ini
oder auf andere Weise) - Stellen Sie Daten über Editoren für die Skripterstellung und Bearbeitung durch Designer bereit
Meine Frage ist nun, ist dieses Verständnis richtig?
terminology
OmniOwl
quelle
quelle
Antworten:
Ich würde sagen, das ist nicht richtig. Ich glaube, die wichtigste Idee beim datengesteuerten Design besteht darin , Ihre Daten von den Daten zu trennen (oder zu aktualisieren) .
Gehen Sie also von einer tiefen Standard-OO-Hierarchie wie dieser aus:
zu einem separaten Zustand und System
Eines der derzeit einflussreichsten DDD-Paradigmen sind Entity Systems. Einige nette Ressourcen zum Nachschlagen sind:
http://gamedevrubberduck.wordpress.com/2012/12/26/a-hybrid-entity-system-component-architecture/
http://entity-systems.wikidot.com/
Natürlich gibt es wie bei allen Paradigmen / Ideen keine genaue Definition und nicht jeder versteht die gleiche Idee, wenn er über DDD spricht, aber das ist meiner Meinung nach das Wichtigste.
quelle
Ich denke, Sie machen die Definition zu kompliziert. Sicherlich sind viele der in Ihrer Aufzählungsliste enthaltenen Punkte aus Sicht der Softwareentwicklung gut , aber sie sind nicht unbedingt Teil der Definition von "datengesteuert". Viele von ihnen haben einige Überschneidungen oder werden am besten mit einem datengesteuerten Ansatz implementiert , stellen jedoch nicht den Vorgang dar, etwas zu steuern.
Die eigentliche Definition der datengesteuerten Softwareentwicklung ist im Allgemeinen recht einfach: Ein Programm führt Aktionen aus, die hauptsächlich auf externen Informationen (Daten auf Ebene, Skriptdaten usw.) basieren, anstatt eine Reihe vordefinierter und fester Schritte im Code zu haben selbst, die den Kontrollfluss bestimmen.
quelle