Aus Linux-Magazin 01/2006

Aktueller Überblick über freie Software und ihre Macher

Vergnügen und Arbeit mit freier Software: Worldforge lässt virtuelle 3D-Welten entstehen, Wine und React OS starten Windows-Programme ohne Windows-Installation.

In der Welt der Computer-Freunde stehen sich zwei Kreise weitgehend kontaktlos gegenüber. Für Spieler ist der Rechner vor allem ein Unterhaltungsmedium auf höchstem Niveau, Programmierer sehen in ihm vor allem ein technisches Arbeitsgerät. Doch selbst in diesem Fall gibt es eine Schnittmenge, die beide Extrema zusammenbringt: Spieleprogrammierer.

Worldforge

Worldforge [1] schafft eine Programmierumgebung für fantastische 3D-Welten und 3D-Online-Rollenspiele, vergleichbar etwa mit dem kommerziellen Erfolgstitel Ultima Online. Der Spieler schlüpft in einen virtuellen Charakter, der sich durch eine vom Computer simulierte Welt schlägt (Abbildung 1). Die Spieler agieren untereinander weitgehend frei, unter Berücksichtigung der für die gewählte Welt geltenden Regeln.

Abbildung 1: In der Worldforge-Umgebung leben programmierte Hühner und andere Dorfbewohner.

Abbildung 1: In der Worldforge-Umgebung leben programmierte Hühner und andere Dorfbewohner.

Ein Worldforge-Server verwaltet die Welten in einer PostgreSQL-Datenbank und liest die jeweiligen Regelwerke ein, die die darin lebenden Einheiten – Menschen, Tiere und Gegenstände – und ihre Verhaltensweisen bestimmen. Um sie zu deklarieren, stellt Worldforge einen spezialisierten Python-Dialekt zur Verfügung. Die Beispielwelt namens Mason definiert ein Dorf so:

village=[('hall','location', hall_xyz),
('butcher','location', butcher_stall_xyz),
('pig','location', pig_sty_xyz)]

Das Objekt »village« enthält also lediglich eine Liste weiterer Objekte, die Gebäude und Lebewesen repräsentieren. Der Unterschied zwischen natürlichem Englisch und der Programmiersprache ist minimiert, das ermöglicht auch Anfängern den schnellen Einstieg. Das Verhalten eines Huhns sieht im Worldforge-Python-Dialekt beispielsweise so aus:

chicken_goals=[(il.avoid,"avoid(['orc','wolf'],10.0)"),
 (il.avoid,"avoid(['settler'],1.0)"),
 (il.flock,"flock()"),
 (il.peck,"peck()")]

Der Benutzer verbindet sich schließlich mit dem Worldforge-Server über einen frei wählbaren Client. Dabei ist er nicht an die für derartige Spiele übliche 3D-Darstellung gebunden. Neben dem Standard Sear beispielsweise gibt es auch zweidimensionale und sogar textbasierte Clients. Sämtliche Komponenten stehen auf der Worldforge-Homepage zum Download bereit. Dort sind auch bereits die Adressen mehrerer öffentlicher Server verzeichnet.

Neuer Pelz für den Wolf

Die grafische Darstellung organisieren so genannte Media-Sets. Sie geben Lebewesen und Gebäuden eine sichtbare Oberfläche. Die lässt sich auch beliebig austauschen, theoretisch spricht beispielsweise nichts dagegen, einem Wolf einen Schafspelz überzustülpen. Die Eigenschaften und Verhaltensweisen beeinflusst das Aussehen nicht. Der neu entwickelte Media-Server ermöglicht es den Clients, die von ihm verwendeten Medien direkt herunterzuladen und einzubinden.

Praktisch alle Elemente lassen sich mit Worldforge verändern. Die Hauptarbeit für die Entwickler besteht derzeit darin, Welten, Regelwerke, Grafiken und Sounds sowie Clients fertig zu stellen. Damit wiederum lassen sich dann vollständige Spiele zusammenstellen. Das einzige bereits funktionierende Spiel namens Acorn hat eher demonstrativen Charakter: Das spielerisch vergleichsweise banale Hauptziel besteht darin, eine Schweineherde zu füttern und vor Wölfen und Zombies aus dem benachbarten Wald zu schützen.

Bis zum Eintauchen in komplexe virtuelle Rollenspielwelten bleibt also noch viel zu tun. Wer sich daran beteiligen will, findet dank des durchdachten Framework-Konzepts einen leichten Einstieg und ist ausdrücklich willkommen. Eine Anlaufstelle bieten die Mailingliste und der Projekt-eigene IRC-Server unter [http://irc.worldforge.org].

Fenster zur Freiheit

Auch wer freie Software generell oder speziell Linux als Betriebssystem aus unterschiedlichen Motivationen heraus vorzieht, kann gelegentlich auf manches Windows-Programm nicht verzichten. Das beweist allein die Existenz mehrerer Projekte mit dem Ziel, Windows-Programme ohne Windows-Installation auszuführen.

Das älteste ist der Windows-Imitator Wine [2]. Mit über zwölf Jahren erreicht das Projekt fast dasselbe Alter wie Linux selbst. Das Akronym steht für “Wine Is Not An Emulator”, denn es baut keine Windows-Umgebung nach, sondern übersetzt an das Windows-API adressierte Aufrufe in Linux-Funktionen. Die Erfolge verstecken sich weiterhin eher in den Details, viele Programme laufen immer noch nicht. Welche Software damit zuverlässig funktioniert, ist für die Anwender häufig kaum vorhersehbar. Orientierung verschafft eine Liste auf der Wine-Homepage.

Die kommerziellen Produkte Crossover Office [3] und Cedega [4] haben Wine erweitert, um Microsoft Office beziehungsweise Windows-Spiele unter Linux zu betreiben. Dass sie Linux-Benutzern immerhin ausgewählte Windows-Software zugänglich machen, zeigt, dass das Wine-Projekt durchaus viel versprechende Basisarbeit geleistet hat.

Die Wine-Entwickler haben sich nun dazu entschieden, mit Ausgabe 0.9.1 das Alphastadium für abgeschlossen zu erklären und zum ersten Mal eine Betaversion veröffentlicht. Das Fixen zahlreicher Fehler hat Wine stabiler gemacht, auch wenn noch nicht alle Windows-Programme damit laufen.

Nachbau

Einen anderen Weg beschreitet das Projekt React OS [5] – immerhin auch schon seit 1998 (Abbildung 2). Die Entwickler haben sich das ehrgeizige Ziel gesetzt, Microsoft Windows mit all seinen Schnittstellen so weit nachzubilden, dass sämtliche Windows-Programme auch unter React OS laufen.

Abbildung 2: React OS bildet ein Windows-System vollständig nach, und zwar ausschließlich mit selbst geschriebenem, freiem Programmcode.

Abbildung 2: React OS bildet ein Windows-System vollständig nach, und zwar ausschließlich mit selbst geschriebenem, freiem Programmcode.

Von der erhofften Binärkompatibilität ist das freie Betriebssystem aber derzeit noch weit entfernt. Doch die kürzlich veröffentlichte Version 0.2.8 brachte einen weiten Schritt nach vorne. Insbesondere verbesserten die Entwickler die Hardware-Unterstützung für die USB-, SCSI und Netzwerkgeräte.

Obwohl die Liste der funktionierenden Hard- und Software auf der React-Homepage bislang vor allem als Platzhalter für künftige Einträge dient, zeigt die grafische Oberfläche schon im aktuellen Pre-Alphastadium deutliche Ähnlichkeit mit dem kommerziellen Vorbild. Die Entwickler beschränken sich aber nicht auf bloße Imitation, sondern integrieren zusätzlich von freien Desktop-Umgebungen bekannte nützliche Features, etwa die Möglichkeit zum Wechsel zwischen mehreren virtuellen Desktops.

Die React-OS-Homepage beschreibt das Projekt vor allem als lehrreiches Beispiel für die Programmierung eines Betriebssystems, möchte die Kompatibilität zu Windows aber dennoch wirklich umsetzen. Der frei verfügbare Quellcode soll zugleich allen Interessenten die Möglichkeit bieten, Schwachstellen auszuräumen, damit React-Nutzer nicht mit den gleichen Schwächen zu kämpfen haben wie der große Bruder. Ein Ende der React-OS-Entwicklung sehen die Projekt-Mitarbeiter nicht, denn auch das nachzubildende Windows-API selbst entwickelt sich ständig weiter.

Spanische Tortilla

Zutaten: 8 Eier und 1 kg Kartoffeln, Öl. Die Kartoffeln schälen und waschen, in kleine Würfel schneiden und in genügend Öl anbraten. Währenddessen die Eier gründlich schlagen. Wenn Eiweiß und Eigelb gleichmäßig vermischt sind, die Kartoffeln hinzugeben und alles gut vermischen.

In eine Pfanne etwa drei Esslöffel Öl geben, sodass nur der Pfannenboden bedeckt ist. Wenn das Öl erhitzt ist, die Mischung aus Kartoffeln und Eiern in die Pfanne geben und bei geringer Hitze braten. Darauf achten, dass sie nicht am Pfannenboden anbrennt. Mit einem Deckel oder Teller die Tortilla wenden und von der anderen Seite ebenfalls anbraten. Zuvor erneut etwas Öl in die Pfanne geben, damit sie auch von der anderen Seite nicht anbrennt. (ofr)

Infos

[1] Worldforge: [http://www.worldforge.org]

[2] Wine: [http://wine.sourceforge.net]

[3] Crossover Office: [http://www.codeweavers.com/products/cxoffice]

[4] Cedega: [http://www.cedega.com]

[5] React OS: [http://www.reactos.org]

[6] Vorschläge: [projekte@linux-magazin.de]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben