Liebe com,
ich habe nun schon mehrere kleine bis große Spiele begonnen zu programmieren. Bisher hatte ich allerdings immer das Problem, dass ich nach einer bestimmten Nummer von Zeilen einfach vollständig den Überblick verloren habe. Deswegen habe ich auch begonnen mich mit Pattern auseinanderzusetzen.
Meine Frage ist, wie man ein Spiel möglichst strukturieren sollte, sodass man nicht so schnell den Überblick verliert.
Beispiele:
Mein allererstes Spiel was die reinste Katastrophe und hatte nichts mit Grafik zu tun Das lass ich hier generell mal lieber weg, sonst kommen sofort alle Hater
(falls sich noch jemand im JF dran erinnern kann, irgendjemand [ja, so hieß er wirklich!] hat alle meine Threads zerstört
)
Mein 2. Spiel war schon etwas komplexer, etwa 5k Zeilen mit Onlinemode sogar über das Internet (aber SEHR buggy). Dabei habe ich kein direktes Pattern genutzt und alle Werte von Einheiten einfach jeweils in ein static Array gepackt (OOP - Was ist das? ). Wie man schon sehr schön erkennen kann, hatte das auch nicht viel mit Struktur zu tun, Daten und Grafik waren überall vermischt, Berechnungen über alle Klassen verteilt etc.
Danach kamen ein paar Simulationen und Automaten, an denen ich auch jetzt noch arbeite. Dabei habe ich sehr erfolgreich das MVC-Pattern und Observer genutzt, und diese sind auch noch sehr übersichtlich (bei 1,5k Zeilen geht das noch).
Doch als ich vor etwa 20w mit nem Freund wieder ein Spiel (ein Strategiespiel) begonnen habe (Grafik mit Slick2D), haben wir inzwischen den Überblick verloren. Wir haben auch hier versucht das MVC zu nutzen, allerdings müssen sehr viele Berechnungen und auch die Events in der view ausgewertet werden bzw. wir haben es bisher so implementiert. Inzwischen sind wir bei 10k Zeilen angekokmmen und haben den Überblick verloren. Wir können zwar noch dran Programmieren, aber es ist kaum noch eine Modulation erkennbar und auch das Bugfixen ist kaum möglich, da zum selben Thema in unterschiedlichen Klassen Berechnungen durchgeführt werden müssen.
Deswegen wollte ich jetzt hier mal fragen, wie man (sehr) komplexe Spiele am besten strukturieren sollte bzw. welche Pattern sich am besten eignen, um sowohl besser programmieren zu können ohne die Übersicht zu verlieren, als auch das Bugfixing so einfach wie möglich zu halten. Hat jemand hier Erfahrung mit der Programmierung von komplexen Programmen bzw. Spielen?
Mir geht es hauptsächlich um Strategiespiele o.ä., da ich RPGs eher nicht mag und auch nicht programmieren möchte.
Danke schon im Voraus für eure Vorschläge!
mfg
BH16