# Struktur



## Sogomn (29. Apr 2015)

Hallo. Ich arbeite sei einigen Tagen (wieder) an einem Spiel. Ich benutze keine Bibliothek bis auf einen JSON parser.
Jetzt bin ich gerade am HUD und habe, um mir Inspiration mit der Struktur zu holen, einige Möglichkeiten im Internet angesehen. Dabei bin ich auf folgenden Thread gestoßen: Klick.
Jetzt bin ich ein bisschen verwirrt, denn mein Code ist kein bisschen Event-basierend. Die Logik wird jedes Frame berechnet und Beziehungen werden nur über Parameter hergestellt. Ist das schlimm? Ich weiß, wie z.B. das MVC-Pattern funktioniert, sehe aber in einem Spiel nicht viel Verwendung dafür.
Meine ungefähre Struktur:

_Game_ lässt die Spielschleife laufen und updatet und zeichnet einen _LevelManager_.
_LevelManager_ updatet und zeichnet das momentane _Level_ (wozu z.B. auch das Menü).
Jedes ("spielbare") _Level_ hat eine _ArrayList_ mit allen Spielobjekten, die es updatet und zeichnet.
Spielobjekte haben teilweise Zugriff auf das Level (z.B. die Kameraposition) und können neue Objekte zum Level hinzufügen sowie entfernen.

Sollte meine Angehensweise eine totale Stilvergewaltigung sein, könnte mir dann jemand eine Beispielstruktur für ein Spiel geben?


----------



## Sogomn (2. Mai 2015)

Keiner?


----------



## Major_Sauce (2. Mai 2015)

Hey,

also bei mir ist jedes Spiel anders.
Kommt auf vieles drauf an, ist im Endeffekt auch nur nach deinem Geschmach gerichtet.
Bei mir läuft das meißt so:

Ein Thread der den Update und das Rendern anstupst, dabei ist wichtig dass immer in Abhängigkeit der Zeit gerendert wird !
Ein verteiler in dem dann immer definiert wird was denn alles gerendert werden soll.
Classen wie Player oder World, die jeweilst eine update(long timeSinceLastUpdate) und eine render()-Methode beinhalten.

Also wird bei mir sogesehen immer innerhalb der Klasse um die es geht gerendert.

Ach ja, man sollte dazu sagen dass es natürlich keinen Sinn macht neu zu rendern wenn ich nichts getan hat, aber du musst selbst wissen ob du lieber ständig abfragst ob etwas passiert ist oder ob du stumpf einfach immer renderst.

mfg Major


----------

