@Soul: Es ist aber eben *KEINE* 2 Jahre alte Engine. Sonst würde sie ja noch mit DirectX 8 arbeiten. Ich wette, das sie aber DirectX 9.0c (oder was auch immer beim Erscheinen aktuell ist) brauchen wird.
Wenn du jedesmal dein Programm komplett wegwerfen mußt, weil ein neues Feature hinzukommt, wärest du ein rekordverdächtig miserabler Programmierer.
Viele Techniken wie z.B. Normalmaps erfordern kein Redesign von Spieleengines. Normalmaps selbst sind einfach eine weitere Textur. Texturen konnte schon OpenGL 1.0 (und vermutlich auch DirectX 1.0, aber da habe ich eigentlich keine Ahnung, wie das genau aussah).
Okay, ich verfolge die Entwicklung jetzt nicht so im Detail, aber meines Wissens gabs in letzter Zeit keine größeren Umstellungen mehr.
Und 2 Jahre sind überhaupt keine große Zeit bei Programmen. Wir haben in unserer Firma Quelltexte, die schon bald 2 Jahrzehnte auf dem Buckel haben und immer noch verwendet werden.
Oder: Bei BG1 wurden schon die .2DA Files verwendet, die noch bei KotoR verwendet werden und sicher auch in "The Witcher" oder "Dragon Age" weiter Verwendung finden werden. Ich glaube kaum, das die Routinen, die diese Dateien laden, seit BG1 je wieder angepackt worden sind. Genauso werden viele andere Module der Engine zwar immer wieder überarbeitet, aber nicht komplett umgeworfen.
Überhaupt sind 90% der Algorithmen, die wir heutzutage verwenden, so schon in den 60ern bekannt gewesen. Ausnahmen sind natürlich Gebiete wie die verlustbehaftete Kompression (JPEG, MPEG3 etc).
Nur weil die Hardware dauernd schneller wird, wird die Software selber nicht auch anders.
In den nächsten Jahren wird auf die Software allerdings SEHR große Änderung zukommen, nämlich
1. 64 Bit
2. Multithreading
Selbst in der Dragon Age Engine werden diese Änderungen aber anscheinend noch nicht berücksichtigt werden, zumindest wenn man den Kommentaren der Bioware-Leute in ihrem Forum glaubt.