baue mein kleines Projekt mit sdl auf und habe mir ein paar Klassen für vbos, Terrain etc geschrieben. Jetzt stellt sich die frage wie ich die Szene\Level verwalte, Klassen aufbau und eine Struktur bekomme.
Wie macht ihr das ganze? Ich dachte mir es gibt eine Verwaltungsklasse, diese kann man dann die aktuelle Szene übergeben.
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
Szenengraphen sind Komplexe Systeme, wie man im Thread lesen kann und daher würde ich diese nur empfehlen, wenn du vor hast längere Zeit an deimen Projekt zu arbeiten oder vor hast in einem späteren Projekt wieder darauf zurück zu greifen.
Ein einfacheres alternativ Konzept wären wohl Collector/Manager für die jeweiligen Systeme(Rendering, AI, Physik, Sound,...), die sich um das Handhaben von Daten kümmern. Man hat also eine Verwaltungsklasse, welche andere enthält und die gesammte logik enthält. Das macht Kommuikation und Datenhaltung einfacher aber ist projektspezifisch und wird mit dem stiegendem Umfang sehr komplex.
Eine weitere Möglichkeit wäre eine primitivere Variante eines Szenegraphen, ohne instancing und Datensplitten(rendering, logik, content Daten). Da müsste man nur eine Node und SceneGraph Klasse bauen und dann neue Nodes ableiten, die sich um rendering, logik und co kümmern.
Unity3D hat ein SceneGraph, dessen Nodes GameObject heissen und ein GameObject kann diverse Component haben, welche z.B. Rendering, Sound, Logik und so weiter übernehmen. Damit das Spatial system arbeiten kann, hat man immer ein Transform Component auf ein GameObject, Renderer Component ist zum rendern und dann gibt es noch Collider, SoundEmitter und so weiter. Das ist bisher das beste Klassendesign, was ich kenne aber in der Datenhaltung haben die ein sehr veraltetes pseudo serialisierungssystem. Besser wäre hier eigentlich ein Datenbank ähnliches System, mit Views aber das geht über die Thematik des Threads hinaus ^^
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.