003
20.02.2005, 14:22 Uhr
~Zerstreuter
Gast
|
Für die dreidimensionale Darstellung benutzt man i.d.R. OpenGL oder DirectX. Damit kannst du dann z.B. ein Dreieck zeichnen. Als Spieleprogrammierer will man aber in der Regel nicht einfache Dreiecke darstellen, sondern ein Terrain, ein Playermodel o.ä.. Man will sich auch nicht unbedingt damit beschäftigen, wie die Daten der Models jetzt genau geladen werden. Man will sich auch nicht unbedingt Gedanken machen, welche Teile des Levels nun gerendert werden muss (geschweige den 'wie'). Man hat mit der Spiellogik genug am Hals. Aus diesem Grunde benutzt man i.d.R. eine entsprechende (Grafik-)Engine, die einem diese Arbeit abnimmt. Der Vorteil ist zum einen, das man sich wie gesagt auf die Gamelogik konzentrieren kann. Ein anderer Vorteil ist, das man besagte Engine nicht nur für ein Spiel verwenden kann, sondern für beliebig viele. So erspart man sich bei jedem Spiel das Rad neu zu erfinden. Neben der oben erwähnten Grafik-Engine, gibt es auch andere "Module", die gerne als Engine bezeichnet werden (Sound-Engine, Physik-Engine).
Sowas kann man natürlich auch selber schreiben und bei einfachen Spielen wird man dies auch tun. Wenn der selbstgeschriebene Code einigermaßen vernünftig strukturiert ist, dann wird man automatisch eine Grafik-Engine schreiben, auch ohne, das man das merkt . Es wird Klassen und Funktionen geben, die sich um das Grafik-Gedöns kümmern und die Spiellogik wird diese Klassen/Funktionen benutzen, um etwas auf den Bildschirm anzuzeigen. |