Irgendwann werden Sie aber mit der eigentlichen Entwicklung anfangen wollen. Aber womit fängt man am besten an? Bevor Sie sich auf die Implementierung des eigentlichen Spiels konzentrieren können, müssen Sie sich nämlich normalerweise erst einmal intensiv mit der Frage beschäftigen, wie man die Spiele-Hardware (Grafik-, Sound- und Netzwerkkarte) dazu bringt, das zu tun, was man im Spiel realisieren möchte. Eine Grafik-Engine zu programmieren, ist eine nicht zu unterschätzende Aufgabe. Wenn Sie das alles alleine bewerkstelligen wollen, dann brauchen Sie entweder ein großes Entwicklerteam an Ihrer Seite oder aber jede Menge Zeit.
Schon mal daran gedacht, für so etwas ein bereits exisitierendes Paket zu verwenden? In diesem kurzen Artikel werde ich Ihnen Crystal Space als eine mögliche Lösung für dieses Problem vorstellen. Crystal Space (von nun an mit "CS" abgekürzt) ist ein Satz von Bibliotheken und Modulen, die sich vor allem für das Erstellen von 3D-Spielen eignen. Wenn Sie also vorhaben, ein ausschließlich zweidimensionales Spiel zu erstellen, dann dürfte CS für Ihre Zwecke unpassend sein. In einem solchen Fall würde ich vorschlagen, dass Sie sich andere gute Bibliotheken wie SDL oder ClanLib einmal näher anschauen.
Frei und unabhängig
Zunächst einmal einige allgemeine Informationen. CS ist Open Source, d. h. Sie können es kostenlos herunterladen und in Ihren eigenen Programmen verwenden. Da CS der LGPL (Lesser GNU General Public License) unterliegt, können Sie dieses Paket sogar für die Erstellung kommerzieller Spiele einsetzen. Sie erhalten die jeweils neueste Version des Entwicklungspakets unter [1].
Eine wichtige Eigenschaft von CS ist seine Portabilität. Momentan läuft das Paket unter Linux (alle Arten), Windows (Win95, Win98, WinNT, Win2000), Macintosh, OS/2, BeOS, DOS, FreeBSD, SGI, Solaris, NextStep, OpenStep, MacOS/X, … Das 3D-Rendering lässt sich in Kooperation mit OpenGL, Glide, Direct3D oder aber per Software-Rendering realisieren. Diese hohe Portabilität gibt potentiellen Spieleentwicklern jede Menge Freiraum hinsichtlich der angestrebten Zielplattform(en).
Doch eine Warnung vorweg: CS befindet sich derzeit noch im Entwicklungsstadium. Ein großer Teil von CS lässt sich zwar bereits vernünftig einsetzen (etwa die 3D-Grafik-Engine), es gibt jedoch einige Bereiche, die noch wesentlich verbessert werden müssen, bevor sie wirklich sinnvoll einsetzbar sind, wie z. B. die 3D-Sound-Engine.
Flexible Komponenten
Was bietet CS bisher für (potentielle) Spieleentwickler? Die drei Hauptbestandteile von CS sind eine 3D-Grafik-Engine, eine 3D-Sound-Engine und ein Paket für die Netzwerk-Unterstützung. Ich werde diese drei Komponenten in den folgenden Abschnitten kurz erklären. Vorweg ist es jedoch wichtig zu wissen, dass alle drei Komponenten optional einsetzbar sind, d. h. Sie müssen die in CS integrierte Sound-Engine nicht verwenden, wenn sich Ihrer Meinung nach ein anderes Sound-Paket besser dafür eignet.



