Programmiertrends heute und morgen

Coding im Wandel der Zeit

12.10.2015
Von Thomas Drilling

Game-Engines nutzen

Total "out" ist die native Spiele-Entwicklung. Früher bedeutete Spiele-Entwicklung für die darauf spezialisierten Softwarefirmen, in großer Zahl Entwickler anzuheuern, weil so ziemlich alles "from scratch" in C programmiert werden musste. Dies verursachte zudem beträchtliche Kosten. Heute können sich die Software-Hersteller den Luxus gar nicht mehr erlauben, Custom-Code zu schreiben.

Unity3D ist einer der begehtesten Game-Engines, nicht zu verwechseln mit Canonicals Linux-Desktop.
Unity3D ist einer der begehtesten Game-Engines, nicht zu verwechseln mit Canonicals Linux-Desktop.
Foto: mozilla.org

Die meisten Spiele-Programmierer nutzen heute Game-Engines in Form von Bibliotheken, wie Unity3D, Corona oder LibGDX. C-Code wird im Prinzip überhaupt nicht mehr geschrieben. Stattdessen basieren heute viele Spiele auf der gleichen Game-Engine. Die meisten Programmierer sind darüber natürlich erleichtert, weil sich nicht mehr mit Details befassen müssen, sondern sich auf Ihre Spiele-Logik, das Implementieren von Charakteren und so weiter konzentrieren können, sowie auf künstlerische Aspekte.

GPU-Programmierung

Früher war Software meist relativ einfach strukturiert und alle Instruktionen wurden von der CPU, dem König des Motherboards in der Regel schön hintereinander abgearbeitet. Heute stellen vor allem Video Spiele mit ihren extensiven Grafik-Routinen ganz andere Anforderungen an die Hardware. Daher werden Grafik-Routinen bei aktuellen Spielen in der Regel von der GPU der Grafikkarte parallel ausgeführt. Sie können heute problemlos 500 bis 600 Euro in eine Grafikkarte investieren, wodurch der Preis des PCs um nahezu das Doppelte steigt. Spieler schrecken vor einer solchen Investition kaum zurück und wetteifern untereinander um die beste und leistungsfähigste GPU-Karte. Inzwischen arbeiten IT-Wissenschaftler aber daran, viele parallele Applikationen so zu konvertieren, dass sie mit GPU-Unterstützung bis zu hundert Mal schneller ausgeführt werden als bei ausschließlicher CPU-Nutzung. (sh)

Zur Startseite