N
fdfdg schrieb:
nurf schrieb:
Unsere GameEngine ist komplett in MVC realisiert bzw. als MVVM-Pattern.
Magst du kurz anreißen, wie das konkret aussieht? MVC und MVVM lassen sich ja auch recht unterschiedlich implementieren.
Das stimmt! Im Grunde genommen sind wir bei MVC gestartet und bei MVVM gelandet.
Gewisse Teile des Views haben nichts mit dem Spiel-Model zu tun , bspw. welches 3D-Mesh zu einem Objekt gehört, das würde ich mal als "View-Model" bezeichnen. Als Gegensatz zu dem Spiel-Model.
Nur als Begrifflichkeiten mal vorweg.
Eine wichtige Anforderung für unsere Game-Engine ist Skalierbarkeit auf Multi-Core Systemen (4-8 Kern).
Daher haben wir entschieden, die verschiedenen Grundbestandteile via MVC zu trennen.
Momentan haben wir folgende Module die in verschiedenen Threads laufen (können): Spiel-Model, Grafik, Physik, Input, Sound
Die Module laufen weiterhin asynchron, d.h. die Game-Engine arbeitet ereignisbaisert, nicht frame-basiert.
Normalerweise braucht der View die meiste CPU-Zeit (Rendern, etc.), aber die Physik ist auch nicht vernachlässigen.
Ich glaube das waren die Fakten kurz zusammengefasst.
Falls jemand an unserer GameEngine mitarbeiten, oder sein eigenes Spiel darauf entwickeln möchte, einfach bei mir melden.