Tux's heimliche Leidenschaft - Spiele unter Linux

ArticleCategory: [Es gibt verschiedene Artikel Kategorien]

Games

AuthorImage:[Ein Bild von Dir]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en: Harald Radke

en to de:Harald Radke

AboutTheAuthor:[Eine kleine Biographie über den Autor]

Harry studiert seit 1994 Informatik an der RWTH Aachen. Er begegnete Linux das erste Mal 1995 und spielt seit dem damit herum, wobei es ihn immer wieder positiv überrascht. Er progammiert ein wenig unter X, interessiert sich für das Thema Grafik allgemein und natürlich spielt er gern. Weitere Hobbies: Brettspiele, Science Fiction Literatur, Gitarre spielen (dürftig!), Kochen,Ju-Jutsu sowie Zeit mit seiner Freundin verbringen.

Abstract:[Hier sollte eine kleine Zusammenfassung stehen]

Dieser Artikel versucht einen kurzen Überblick über die Linux Spieleszene zu geben. Dabei soll dem Leser gezeigt werden, dass Tux und sein Betriebssystem zu mehr gut sind, als nur Internetanwendungen oder der reinen Datenverarbeitung. Heutzutage gibt es so einiges über Linux und seine Spiele zu entdecken.

ArticleIllustration:[Das Titelbild des Artikels]

[Illustration]

ArticleBody:[Der eigentliche Artikel. Überschriften innerhalb des Artikels sollten h2 oder h3 sein.]

Einleitung

Tux, der knuffige kleine Pinguin, ist mittlerweile als hart arbeitendes Mitglied der Internet Gemeinde bekannt. Viele WWW Server, Datenbanken, Internetdienste und Netzanbieter bauen auf ihn. Programme, die unter Linux laufen, wie etwa Apache, Sendmail oder mySQL beweisen täglich, dass dieses Betriebssystem zuverlässig, schnell und effizient ist. Langsam findet Tux auch seinen Weg in den Desktopbereich. Beispiele für Anwendungssoftware, welche der Benutzer jeden Tag für die Bewätigung seiner kleinen und großen Aufgaben benötigt sind KDE, GNOME oder auch GIMP. Diese Programme bieten nun auch unter Linux ansprechende grafische Oberflächen, die von vielen in der Vergangenheit schmerzlich vermisst worden waren. Und nun wird eine weitere Seite von Linux langsam aber sicher von Benutzern, den Firmen und der Presse entdeckt: Spiele.

Dieser Artikel versucht dem Leser einen ersten Eindruck über diesen Aspekt von Linux zu vermitteln. An seinen Schluss findet man eine Liste von Verweisen, welche zu weiteren Informationen über die hier erwähnten Programme und Spiele führen. Desweiteren möge dieser Artikel der erste von vielen in einer neuen Kategorie des LinuxFocus sein, welche sich mit dem Thema Spiele beschäftigt. Dafür werden allerdings auch Leser gebraucht, die Spielekritiken schreiben. Wer also bereits ein paar Spiele ausprobiert hat oder sowieso ein Spielesüchtiger ist, möge doch seine Erfahrungen und Meinung mit allen anderen teilen und einen Artikel schreiben.

Abuse
Civilisation: Call to Power

Ein wenig Geschichtliches

Die ersten Spiele unter Linux waren solche, die auch schon unter anderen Unix Derivaten zu finden waren, da ihre Portierung relativ einfach war. Auch waren sie den frühen Linux Benutzern von diesen Betriebssystemen bekannt, sei es vom Arbeitsplatz oder der Hochschule her. Diese Programme waren recht simple Spiele mit gar keiner oder nur recht einfacher Grafik, kaum vergleichbar mit den Spielen, welche die Benutzer von DOS oder Windows PCs kannten. Die Rechner, auf denen damals Unix lief, konnten nur mit relativ hohem finanziellen Aufwand mit ausreichender Grafikhardware ausgestattet werden. Und nicht zuletzt wurden sie einfach in ganz anderen Aufgabenfeldern als dem Unterhaltungsbereich eingesetzt.

Dadurch, dass sich Linux den privaten PC Bereich erschloss, stand nun eine relativ fähige und kostengünstige Umgebung zu Verfügung, um anspruchsvollere Grafiken realisieren zu können. Die Entwicklung rund um das Betriebssystem schritt voran und heutzutage werden nahezu alle Grafikkarten durch das X Window System unterstützt, wodurch der Benutzer über ein Grafiksystem verfügt, welches grafisch ansprechende Applikationen und Spiele bietet. Darüber hinaus bietet auch die Konsole nicht nur Text- sondern auch Grafikunterstützung, jedoch wird die große Mehrheit der heutigen Programme unter X entwickelt.

Das nächste Hindernis für die Entwickler war das Problem, dass die Programmierung unter X relativ kompliziert war und es schon einen recht großen Aufwand bedurfte, ein einfaches Fenster auf dem Schirm darzustellen. Dadurch ging die Entwicklung nur recht langsam voran. X selbst war recht ressourcenintensiv, wodurch die Spiele wiederum langsam und recht einfach waren. Die Tatsache jedoch, dass mit der Zeit immer leistungsfähigere Hardware zu erschwinglichen Preisen angeboten wurde, ermöglichte die Programmierung von Software, welche grafisch ansprechender und auch komplexer war. Mit der Zeit erschienen dann auch noch verschiedene Programmierbibliotheken und SDKs (Software Development Kits), die den Programmierer bei seiner Arbeit unterstützten.

Immer mehr Hardwarehersteller realisierten die Bedeutung von Linux für eine wachsende Zahl von Computerbesitzern, ihren Kunden. Einer nach dem anderen begann, Informationen oder Treiber, manche sogar als Open Source, für ihre Produkte anzubieten, seien es Grafik- oder Soundkarten, oder auch 3D Beschleuniger. Heute unterstützt Linux eine große Zahl von Multimedia Komponenten.

Allerdings nicht nur die Hardwarehersteller entdeckten Linux, auch der Spielebereich bemerkte dieses neue Betriebssystem. Auch wenn die meisten Linux Spiele frei erhältlich sind (zum Beispiel unter der GNU General Public License), gibt es doch ein paar kommerzielle Programme. Dadurch eröffnet sich für den Linux Benutzer die Möglichkeit, Unterhaltungssoftware hoher Qualität schneller zu erhalten. Auch wenn sicherlich einige Leute der Meinung sind, dass Kommerz nicht mit dem Geist von Linux in Einklang zu bringen ist, glaube ich persönlich, dass gute Software es immer wert ist, gekauft zu werden, zu einem vertretbaren Preis natürlich. Auch sollte man nicht vergessen, dass mit Linux selbst schon Geld verdient wird, weniger durch den Verkauf von Software, als zum Beispiel in Verbindung mit Hardware (Inter-/Intranet Server) oder auch durch den Support. Diese Möglichkeiten gibt es bei Spielen nicht, sie können halt nur verkauft werden. Durch freie Software könnte ausserdem durchaus Druck auf die Spielefirmen ausgeübt werden, sodass diese nicht nur einfach Software produzieren und verkaufen, sondern sich gezwungen sehen, wirklich hochwertige Spiele zu schreiben, damit diese gekauft werden.

Heretic
Hopkins FBI

Bibliotheken und SDKs

Wie schon erwähnt, steht heute dem Programmierer eine große Zahl an Werkzeugen, Bibliotheken, Software Development Kits (SDKs) oder sogar ganze Spiele Generatoren (Game Engines) zu Verfügung. Ebenso kann man natürlich auf die verschiendenen Bibliotheken zur X Programmierung, wie Qt, Gtk, das Athena Widget Set oder XForms zurückgreifen. Diese erlauben es dem Entwickler, ansprechende grafische Benutzeroberflächen auf eine recht komfortable Art und Weise zu schreiben. Desweiteren bieten sie auch einige Funktionen für den Einsatz von Grafiken. Für eine Reihe von Spielen dürfte diese Bibliotheken vollkommmen ausreichend sein. Programme, die ohne aufwendige oder zeitkritische Grafikoperationen auskommen, können mit Hilfe dieser Bibliotheken relativ einfach realisiert werden und bieten desweiteren das gleiche Look and Feel Verhalten andere Applikationen unter X.

Während also Spiele wie etwa Minesweeper, Mahjong oder auch Tetris auf diese Art programmiert werden können, sieht das zum Beispiel bei Echtzeitstrategielspielen wie Warcraft oder Command & Conquer etwas anders aus. Ballerspiele in 3D arbeiten mit aufwendigen Texturen und müssen eine hohe Bildwiederholrate aufweisen, um den Spieler an den Monitor zu fesseln (man stelle sich etwa Unreal oder Descent mit ein oder zwei Bildern pro Sekunde vor). Diesen Anforderungen können wohl die normalen Bibliotheken für die allgemeine Progammierung unter X nicht gerecht werden. Glücklicherweise existieren neben diesen noch weitere Bibliotheken und Werkzeuge, die speziell für den Einsatzbereich der schnellen und aufwendigen Grafikprogrammierung entwickelt worden sind.

Im Bereich 3D Grafik ist Mesa zu nennen, eine freie OpenGL Implementierung, die speziell für die Generierung von 3D Szenen aus einfachen Primitiven, wie Punkten und Polygonen, entwickelt wurde. Ein Vorteil von OpenGL ist, dass viele PC Spiele unter Verwendung dieser Bibliothek geschrieben worden sind, und so deren Portierung nach Linux möglich ist, ohne sie komplett neu zu schreiben. Bisher war ein großes Problem von Mesa, die fehlende Unterstützung von 3D Beschleuniger Hardware, die absolut notwendig für Spiele mit Texturen, Nebeleffekten, Alpha Blending, usw. ist. 3dfx war über einen langen Zeitraum der einzige Hardwarehersteller, der binäre Treiber für die Verwendung seiner Produkte unter Mesa zu Verfügung stellte. Viele Rechner, in denen nicht diese Karten verbaut waren, mussten softwaremäßig, als durch den Prozessor, die Berechnungen durchführen, wodurch es zu drastischen Einbußen bei der Leistung kam. Heutzutage jedoch können viele Benutzer von ihrer 3D Hardware profitieren, da NVidia die Quelltexte für Mesa Treiber der Riva 128/ZX/TNT/TNT2 Chipsätze entwickelt und veröffentlicht hat. Ebenso kann nun auch die Matrox G200 von Mesa genutzt werden. Es gibt eine ganze Reihe von Anwendungen und Spielen im Netz, die Mesa/OpenGL verwenden. Die Namen der meisten von ihnen fangen mit GL an.

Neben Mesa gibt es noch weitere Bibliotheken und SDKs für Grafik- und Spieleprogrammierung, die darüber hinaus dem Programmierer Mittel zur Verarbeitung von Eingabe des Benutzers und der Ereignisbehandlung (Event Handling) bieten. Ein Beispiel für solch eine Bibliothek ist SDL, welche von Loki Entertainment erschaffen worden ist. Loki portiert bekannte PC Spiele nach Linux. Die Bibliothek, die sie hierfür einsetzen, SDL, wurde frei veröffentlicht, jeder kann sie verwenden. Zu ihr gibt es Mailing Listen, in denen Loki Programmierer und Benutzer über den Einsatz von SDL diskutieren. Mittlerweile gibt es einige (auch freie) Spiele, die SDL verwenden.
Neben SDL gibt es noch viele weitere Bibliotheken, wie etwa PLib, ClanLib oder PowerPakGame SDK.

Grafik allein reicht aber im allgemeinen nicht für ein Spiel aus. Deshalb gibt es auch diverse Sound Kits für das Abspielen von Musik und die Erzeugung von Effekten, die einfacher zu handhaben sind, als die direkte Programmierung des Linux Sound Systemes (sei es OSS, ALSA, oder andere). Einige der oben genannten Bibliotheken, die speziell für die Entwicklung von Spielen geschrieben worden sind, bieten zusätzlich zur Grafikprogrammierung auch Soundansteuerung an, ja sogar Werzeuge für komplette Animationen!

Ein weitere Gruppe von Werkzeugen für die Spieleentwicklung sind die sogenannten Engines. Durch diese SDKs wird versucht, alle Aspekte bestimmte Spiele Genres abzudecken und bei der Erstellung eines Programmes von der konkreten Programmierung, soweit wie möglich, zu abstrahieren. Beispiel für solch eine Engine ist Chrystal Space für 3D Action Spiele und Adventures. Daneben gibt es noch weitere Engines, z.B. für Rollenspiele (RPGs).

Dem Leser dürfte aufgefallen sein, dass es keine Standardsoftware, wie etwa directX unter Windows, existiert. Der Benutzer wird so wohl oder übel dazu gezwungen, die Anforderungen des jeweiligen Spieles durchzugehen und die vom Programm benötigte Software zu installieren. Mit der Zeit dürften sich so eine ganze Reihe von Bibliotheken für all die netten kleinen Spiele, denen man nicht widerstehen kann, ansammeln. Andererseits kann der Programmierer sich ein beliebiges SDK aussuchen, abhängig von seinen Vorstellungen und den Möglichkeiten, die die Bibliothek bietet. Ausserdem dürften heute die meisten Linux Rechner über ausreichende Festplattenkapazität verfügen, um all die unterschiedliche Software aufnehmen zu können.

mHockey
Golgotha

Von Civilisationen, Rennfahrern und Raumflotten...

Es gibt mittlerweile wohl beinahe jede Art von Spielen unter Linux. Sei es für die Kurzweil während der Mittagspause (Minesweeper, Tetrs oder Go), oder es gelte, das dringende Bedürfnis zu befriedigen, den Planeten von ekligen Aliens oder Robotern zu befreien (Doom, Heretic, Descent). Auf der Suche nach etwas Anspruchsvollerem, wie etwa das eigene Volk vom Anbeginn der Zeit an die Spitze der Welt zu führen ? Kein Problem, gibt es doch FreeCiv or Civilisation: Call To Power. Wer keinen Führerschein besitzt, steigt dennoch mit XRacer oder GRacer ins Cockpit.
Wie man sieht, ist (fast) alles da, was das Herz begehrt. Die meisten der Spiele kommen, da sie unter Linux laufen, direkt mit Multiplayerfähigkeit daher, was die ganze Sache noch interessanter macht.

Manche der Spiele dürften dem einen oder anderen bekannt sein, während andere total unbekannt sind. Es gibt sogenannte Clones und Ports von existierenden PC Spielen, sowie ganz neue Vertreter diverser Spiele Genres. Clones sind komplett neu geschriebene Spiele, mit eigenen Grafiken, Sounds und Spieledaten, die natürlich dem PC Pedanten recht nahe kommen wollen und daneben noch zusätzliche Features bieten können. Ein schönes Beispiel hierfür ist FreeCiv. Ports verhalten sich im allgemeinen exakt wie das Original. Meist werden auch sie komplett verbreitet (wie Civilistion: Call To Power), es gibt aber auch Projekte, deren Ziel es ist, nur die wirklich notwendigen Teile eines Spieles neu zu schreiben. Solche Ports sind u.a. Descent, Doom , Heretic und ALE Clone (Warcraft). Wer diese Programme verwenden will, muss (zumindest momentan noch), die DOS Original Versionen haben, deren Daten benötigt werden. Daneben gibt es natürlich noch die Brettspiele, Adventures, Simulatoren, 3D Action Spiele, Echtzeitstrategie Spiele, uvm.
Diese verwenden bestehende (oder gar neue) Spiele Prinzipien, ohne mit einem konkreten PC Spiel in Verbindung zu stehen.

An dieser Stelle wird es wohl Zeit, die Erwartungen ein wenig zu dämpfen. Ohne Zweifel sind im Netz viele Spieleprojekte zu finden, alle unterschiedlich in Sachen Grafik- und Spielequalität. Einige sind recht komplex, andere einfach, alle werden auf jeden Fall ständig weiterentwickelt. Manche sind bereits spielbar, andere noch in der reinen Eintwicklungsphase. Man sollte also nicht zu viel erwarten. Fairerweise sollte aber brücksichtigt werden, dass viele Autoren die Programme in ihrer Freizeit schreiben, ohne dafür entlohnt zu werden. Meist arbeiten sie alleine, ohne Hilfe anderer. Man sollte deshalb ein wenig mehr Geduld mit unfertigen, fehlerhaften oder nicht direkt installierbaren Spielen haben. Auch kann jeder bei der Weiterentwicklung mithelfen, sei es durch das Melden von Fehlern, Vorschlägen oder sogar durch das Erstellen von benötigten Grafiken und Sounds. Natürlich wird oft auch direkte Hilfe bei der Programmierung gern angenommen. Ein Spiel ist trotz allem ein Linux Projekt, dass von dem Feedback und der Mithilfe der Linux Gemeinde lebt.

Pingus
World Forge

Fremde Welten - Spiele unter Wine

Mit Wine können Windows Applikationen unter X gestartet werden. Dies gilt auch für die Lieblingsspiele. Es gibt eine ganze Reihe von Berichten und Erfolgsmeldungen über die Verwendung bestimmter PC Spiele unter Wine. Dem Leser sollte aber trotzdem bewusst sein, dass Wine, obwohl es schon brauchbar läuft, konstant weiterentwickelt wird und noch recht weit von einer stabilen Version entfernt ist, vorallem in Verbindung mit Win32 Software. Dennoch ist es einen Versuch wert, und ein weiteres Beispiel für die vielfältigen Qualitäten, die Linux aufweist.

X Racer
Myth II

Zaster - Kommerzielle Spiele

Die Einstellung des kommerziellen Spielesektors Linux gegenüber reicht von absoluter Unwissenheit und Ignoranz bis hin zum selbstständigen Portieren von Spielen. Es gibt sogar junge Firmen, die sich auf den Linux Spielebereich spezialisiert haben. Einige Hersteller veröffentlichen die Quelltexte ihrer älteren Titel, wodurch eine freie Portierung möglich ist. So manche Firma lässt andere Gruppen die Portierung durchführen, andere planen oder tuen dies selbst. Daneben gibt es noch zögerliche Labels, die nur Teile ihrer Software für Linux zugänglich machen, etwa Spieleserver für den Mehrspielermodus ihrer Spiele. Im Netz sind so manche Petitionen von Linux Benutzern zu finden, durch die sie bestimmte Firmen dazu zu bewegen versuchen, ihre Titel auch für Linux zu vertreiben. Dies ist eine sehr gute Möglichkeit, den Herstellern zu vermitteln, dass es durchaus einen Markt für Linux Software gibt.

Alles in allem steckt der kommerzielle Bereich noch in den Kinderschuhen, da die meisten Programmierer noch unerfahren in Sachen Linux sind und das Potential eines Linux Spielemarktes schwer abschätzen können. Dennoch wagen einige den Schritt und investieren Zeit und Geld in diverse Projekte. Statt nun einfach auf ein "Happy End" zu warten, sollte man gezielt beim nächsten Spielekauf die Linux Version, statt der normalen PC Version erwerben, sofern man die Wahl hat, auch wenn dies bedeuten kann, dass die Installation nicht so reibungslos, wie gewohnt, abläuft und es einem vielleicht komisch vorkommt, für Linux Software zu zahlen.

Parsec
Free Civ

Ausblicke

So sicher sich der Spielebereich generell weiterentwickelt, so sicher wird dies auch der Linux Sektor tun. Dabei wird sich sicherlich die Kluft zwischen den PC Spielen unter Windows und unter Linux in Sachen Qualität sicherlich Schritt für Schritt schließen. Und dank des Engagement kommerzieller Spielehersteller wird man bei immer mehr Titeln auch bald die Linux Version beziehen können. Meiner Meinung nach wird der Spielesektor (neben weiteren Bereichen) eine entscheidene Rolle bei der Frage spielen, ob in Zukunft Linux auf dem heimatlichen PC seinen Platz auf der Festplatte findet und zwar nicht nur als Untermieter eines anderen Betriebssystemes, sondern als richtige Alternative.

Wo wir schon über das Thema zukünftige Projekte sind: Ich werde in Zukunft einige Spieleartikel für den LinuxFocus schreiben. Natürlich ist jeder Leser dazu eingeladen, das selbe zu tun. Dieses Thema ist sicherlich dem einen oder anderen es wert, ein wenig Zeit dafür zu opfern, denn, mal ganz ehrlich: Wer von uns spielt denn nicht gerne ? (-:

BFRIS
X Blast

Literaturhinweise