In gewisser Hinsicht hast Du natürlich recht, dass Programme heute im Allgemeinen viel zu verschwenderisch mit der Rechenleistung umgehen.
Wie Boris Schneider-Johne im letzten Spielevetranen-Podcast so schön beschrieben hat:
Er hat kürzlich mitbekommen, dass bei jedem einzelnen Tastendruck in der Adressleiste eines weit verbreiteten Browsers 30.000(!) String-Allokationen durchgeführt werden.
Und im Gegensatz dazu hat er die Anekdote erzählt, dass sie damals bei der Entwicklung ihres C64 Fastloaders die benötigten Taktzyklen ihrer Programm-Routinen einzeln gezählt haben, um die parallel auf zwei Prozessoren laufenden Programme im C64 selbst und des Floppy-Laufwerks 1541 (das eine eigene CPU hatte) exakt zu synchronisieren. Aus heutiger Sicht unfassbar.
Die Ursache für die Verschwendung liegt aber auch daran, dass man heute in High-Level Programmiersystemen arbeitet, die dem Programmiere viel abnehmen (eben z.B. die Speicherverwaltung). Dadurch sind sie nicht nur deutlich weniger fehleranfällig sondern die Entwicklung ist natürlich auch viel schneller. Anders würde man die heute üblichen, riesigen Projekte (und genau das ist ein Spiel wie AC:U auf jeden Fall) niemals in der Zeit realisieren können. Egal, wieviel Leute man darauf ansetzt (denn bestimmte Arbeitsabläufe lassen sich nicht dadurch schneller erledigen, dass man mehr Entwickler darauf ansetzt).
Trotzdem muss ich - der mich als Entwickler der 80er und 90er doch noch eher der alten Schule zugehörig fühle - immer wieder den Kopf schütteln, wie unbekümmert und unbedacht junge Programmierer vorgehen, ohne darüber auch nur einen Gedanken zu verschwenden, was ihr Code für Kapriolen schlägt um die einfachten Dinge zu lösen...