SDL-Linuxspiele installieren und Zocken, Zocken, Zocken
Dieser Artikel beschreibt die Installation von SDL und stellt beispielhaft einige Spiele vor, die SDL nutzen.
Vorwort
Wer sagt, dass Linux eine schlechte Spieleplattform ist? Alles halb so wild, den Beweis möchte ich mit einigen sehr guten Spielen antreten. Natürlich können wir uns einfach von der Distributions-CD ein paar Spiele installieren, aber das eigens kompilierte Game ist viel mehr wert ;). Um die Auswahl nicht zu einseitig zu gestalten, habe ich mich für verschiedene Spiele entschieden, ein RPG, ein Arcadegame im Breakoutstil, ein Strategiespiel und noch einige andere. Um die Spiele zu kompilieren, benötigen wir SDL und einige SDL-Zusätze.
Einkaufsliste
Bevor wir beginnen, liste ich hier alle Downloads auf, die für alle Libs und alle Spiele gebraucht werden. Ich habe mir ein Verzeichnis angelegt und alle Dateien dort reingelegt. Finden sich auf den Homepages neuere Versionen, nehmen wir die natürlich, aber nur wenn sie als Stable gekennzeichnet sind. Von Snapshots und Previews lasse ich generell als Newbie die Finger. Hier die Shoppingliste:
- SDL von http://www.libsdl.org/ in meinem Fall die Datei http://www.libsdl.org/release/SDL-1.2.3.tar.gz
- SDL_image von http://www.libsdl.org/projects/SDL_image/ in meinem Fall die Datei http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.1.tar.gz
- SDL_mixer von http://www.libsdl.org/projects/SDL_mixer/ in meinem Fall die Datei http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.1.tar.gz
- SDL MPEG von ftp://sunsite.dk/pub/os/linux/loki/open-source/smpeg/ in meinem Fall die Datei ftp://sunsite.dk/pub/os/linux/loki/open-source/smpeg/smpeg-0.4.4.tar.gz
- SDL_mm von http://sdlmm.sourceforge.net/ in meinem Fall die Datei http://telia.dl.sourceforge.net/sdlmm/SDLmm-0.1.8.tar.gz
- Nethack Falcons Eye von http://www.hut.fi/~jtpelto2/nethack.html in meinem Fall die Datei http://falconseye.sourceforge.net/nethack_source_331_jtp_193.zip
- LBreakout von http://lgames.sourceforge.net/ in meinem Fall http://ftp1.sourceforge.net/lgames/lbreakout2-2.1.2.tar.gz
- ASC von http://www.asc-hq.org/ in meinem Fall die Datei http://telia.dl.sourceforge.net/asc-hq/asc-linux-1.9.5.tar.gz
- Tunnel von http://www.freesoftware.fsf.org/tunnel/ in meinem Fall die Datei http://freesoftware.fsf.org/download/tunnel/tunnel-1.0.tar.gz
- Defendguin von http://www.newbreedsoftware.com/defendguin/ in meinem Fall die Datei ftp://ftp.sonic.net/pub/users/nbs/unix/x/defendguin/defendguin-0.0.9.tar.gz
Alles zusammen sind das runde 22 MB, für die Anzahl der Spiele und den Spielspass durchaus angemessen.
SDL, was ist das?
SDL ist die Abkürzung von Simple DirectMedia Layer, eine Library um schnellen Zugriff auf vohandene Hardware bereitzustellen. Alle Spiele die wir installieren werden benötigen diese Bibliothek. Das ist der Grund warum die Reihenfolge die ich vorschlage einzuhalten ist. Erst SDL, dann die SDL-Zusätze und dann die Spiele in beliebiger Reihenfolge.
Normalerweise sollten mit den von uns installierten Bibliotheken nahezu alle SDL-Games kompilieren. Trotzdem liegt der Teufel wie immer im Detail, einige Spiele brauchen dann eben doch noch eine Zusatzlibrary. Das soll aber für uns kein Problem sein, wer die READMES der Spiele liest wird immer auch den Hinweis auf die benötigten Bibliotheken bekommen.
Die Spiele die ich hier beschreibe werden mit den gleich installierten Bibliotheken aber zufrieden sein.
Die SDL-Lib installieren
SDL kommt im Sourcecode, den wir erst noch kompilieren müssen, aber das ist in diesem Fall einfach da SDL nichts besonderes braucht. Das grösste Problem das sich für den Newbie darstellt: Welche Programme werden zum kompilieren benötigt? Ich installiere von meinen Distributions-CDs immer folgende Pakete, sollte der Paketmanager Abhängigkeiten entdecken installiert man diese einfach mit:
autoconf Automatische Sourcecode-Konfiguration automake Automatisch Makefile.in's im GNU Stil erzeugen bin86 8086 Assembler und Linker binutils GNU binutils bison GNU Parsergenerator cvs Concurrent Versions System flex Schneller Scannergenerator gcc Der GNU C-Compiler mit Supportfiles gdb Der GNU-Debugger make GNU make Befehl patch GNU patch Programm strace Programm zum Verfolgen von Systemaufrufen yacc BSD Yacc ist ein Parsergenerator
Ausserdem brauchen wir die Includedateien von X11 und manchmal auch die des Kernels, jede Distribution liefert diese auch mit, die Paketnamen sind aber unterschiedlich. In der Regel sollte man nach X11-devel und Kernel-Includes Ausschau halten und die Pakete dann auch finden.
Damit sollte man für nahezu jeden Fall gut gerüstet sein. Was die Programme im einzelnen machen, sprengt den Rahmen, natürlich bringt jedes Programm Dokumentation und Manpages mit. Wir aber wollen jetzt SDL installieren.
Zuerst müssen wir das heruntergeladene Paket entpacken. Dazu gibt es viele Frontends und X11-Tools. Ich benutze den kurzen Weg und tippe in meine Shell das Kommando zum Entpacken:
tar xzf SDL-1.2.3.tar.gz
Die Sourcen liegen jetzt in einem Unterverzeichnis SDL-1.2.3, in das wir hineinwechseln:
cd SDL-1.2.3/
Als erstes lesen wir wie immer die READMEs und Installationshinweise. Da wir gerade in der Shell sind, sparen wir uns grossen Aufwand und sehen uns die Dateien mit less README
direkt an. Die Installationshinweise lesen wir mit less INSTALL
. Die Installation ist einfach und besteht aus den üblichen Schritten, die wir auch gleich eingeben, wo wir schonmal hier sind. Für make install
benötigen wir Rootrechte, die wir uns durch die Eingabe von su
holen, falls wir als User angemeldet sind. Hier die Schritte:
./configure make su make install exit
Sollte make
oder make install
mit einem Error abbrechen, muss man die Ausgaben der Zeilen davor ganz genau studieren, oftmals fehlt nur ein kleines, aber wichtiges Programm. Findet sich nichts, bin ich gerne bereit, mir die Ausgabe mal anzuschauen. Je mehr Zeilen ich zu sehen bekomme, desto wahrscheinlicher kann ich einen Tipp geben. In der Regel sollte aber SDL problemlos installiert worden sein. Da wir die Rootrechte nicht mehr brauchen, schliessen wir die Rootshell durch die Eingabe von exit
. Sollten wir nochmals Rootrechte benötigen, werden wir das wieder mit su
erledigen.
Ein erster Test
Um die SDL zu testen, kompilieren wir ein kleines Testprogramm, das den Sourcen beiliegt. Dazu wechseln wir in das Unterverzeichnis test und geben folgende Kommandos ein:
./configure make
Die Testprogramme sind jetzt kompiliert und können mit dieser Kommandozeile angezeigt werden:
ls -la | grep "rwx"
Starten wir einfach einen Test durch die Eingabe von graywin
. Das Drücken von ENTER sollte uns in den Vollbildmodus bringen. Mit der Maus können wir lustige Vierecke erzeugen. Weitere nette Tests sind testalpha
, testvidinfo
oder auch testsprite
. Wenn die Demos funktionieren, ist SDL installiert :).