"Vibration of Nature" - It's a long story
Hallo mal wieder
@Cortix Ich will erstmal anmerken, dass meine Aussagen vom letzten Post durchaus überspitzt waren und weshalb ich verstehen kann, dass du das als unprofessionell siehst.
Corti hat an sich schon sehr gut erläutert worauf ich hinaus wollte. Ich will dann trotzdem nochmal das ganze etwas differenzierter wieder geben.
Ich hatte ja dieses Video von Naughty Dog verlinkt. Das ist ein Entwickler von großen AAA Spielen und sehr erfolgreich in dem was sie machen.
Der Prozess der in dem Video beschrieben wurde ist wie folgt.
- Neue Features werden zunächst schnell und pragmatisch eingebaut die Funktionsweise auszutesten
- wenn es passt wird optimiert und die Architektur überarbeitet
- Sollte die Feature sehr spezifisch sein und nur wenige mal im Spiel Einsatz finden, muss es von der Architektur nicht unbedingt optimiert werden
Mit anderen Worten: Features die oft Wiederverwendung finden (Enginefeatures wie Physik, Rendering) sollten eine gute Struktur und Architektur haben und dann auch alle möglichen Anwendungsfälle unterstützen.
Andere sehr Spiel-spezifische Features, wie z.B die Steuerung vom Hauptcharakter, sind sehr auf einen bestimmten Use-Case zugeschnitten - und hier ist eine saubere Architektur in meinen Augen unangebracht weil es zuviel Zeit kostet und keinen entsprechenden Gegenwert bringt.
Generell kann man sagen das bei der Entwicklung der Spielengine eine saubere Architektur tatsächlich essentiell ist, wie du sagt.
Bei der Entwicklung eines Spiels, insbesondere wenn es bereits auf einer soliden Engine aufbaut, ist eine saubere Architektur stellenweise überflüssig.
Der Grund warum ich das schreibe, ist ich oft mitbekomme wie Leute Ideale wie "Singletons = Bad" und "Immer Unit-Tests machen" von sich geben... CrossCode nutzt massiv Singletons und null Unit Tests. Das Projekt ist technisch jetzt schon sehr weit fortgeschritten und ich seh einfach nicht wie Singeltons und das Fehlen von Unit Tests für uns ein großes Problem darstellen werden.
Es gibt halt Ideale und dann gibt Praxis bzw. "Sachen fertig bekommen" (und ja, ich sehe die Ironie, dass gerade ich das sage.)
C ya,
Lachsen