Quote:
Hm, also wenn ich die ganzen Projekte, die ich in letzter Zeit gemacht habe (um mal Ventilator halbwegs zu zitieren ), betrachte, dann ist es im Endeffekt pro Spiel / pro Komponente immer eine Individuallösung. Man kann das während des Entwurfs und der Umsetzung so anlegen, dass die Möglichkeit entsteht, das für andere Projekte einzusetzen... die Wahrscheinlichkeit, dass man das dann aber anders braucht oder einfach eben neu schreibt (weil man selber wieder Neues gelernt oder an Erfahrung gesammelt hat), ist aber ungemein groß.


Ich finde solche "Eins für alle Anwendungen" Komponenten sind Quark.
Im Endeffekt würde aus dem Versuch herraus eine Komponente (sei es Shader, KI, Level/Terraineditor, Animationslösung)
für alle möglichen Szenarien zu entwickeln, die Komponente selber
immer den kleinsten gemeinsamen Nenner suchen, oder im Featurecreep untergehen und schwer verständlich sein.

Was Ich für sinnvoller halte ist (bei open source Projekten) die Komponente gut dokumentiert und modular zu entwickeln.

So kann man, sagen wir mal bei einem Leveleditor, die Komponente "Terrain.mdl" exportieren später leicht herrauslösen, anpassen
und in seinem Projekteigenen tool einbauen.

Ich scheibe meinen eigenen Code nie architektonisch als "Widerverwendare" Komponente (und dem damit verbundenen Boilerplate Code).
Sondern speziell für ein Projekt. (und mit vielen Kommentaren..)
Beim nächsten Projekt schau ich dann bei spezialfällen (sagen wir mal einen fileimporter oder soundgenerator) die Codestelle an,
und mache copy-paste, und ein paar Frickeleien.
Die übergeordnete Architektur des Projektes wird aber neu und angepasst auf die Lösung geschrieben.


Ist der Code-Schnipsel gut dokumentiert geht das wesentlich schneller zu implementieren,
als erstmal zu lernen wie man die "all in one" fertiglösung passend einsetzt / zurechtbiegt.
ich hasse Workarounds die versuchen Features wieder "auszuschalten".
Und man macht sich bei Problemen abhängig von der Zeitplanung
des Komponentenentwicklers.

---

In anderen Worten: eine gut geornete Code-Snipplet sammlung
ist praktischer als monolitische Plugins.
..wenn man einen gewissen Grad an Erfahrung hat..