Auch wenn die Optik-Stunden aus dem Physikunterricht schon etwas länger her sind – die Regel “Einfallswinkel gleich Ausfallswinkel” ist sicher hängen geblieben. Das Spiel MirrorMagic macht ausgiebigen Gebrauch davon.
out of the box
Es gibt tausende Tools und Utilities für Linux. “out of the box” pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.
Computerspiele – nein danke? Selbst wenn Sie Ego-Shootern nichts abgewinnen können und Patiencen langweilig finden, ist noch nicht alles verloren, denn es gibt MirrorMagic. Das Spielprinzip dieses Linux-Spieleklassikers ist so simpel wie Sucht erzeugend: Mittels verdrehbarer Spiegel lenken Sie einen Laserstrahl so ab, dass er alle Ballons auf dem Spielfeld zum Platzen bringt. Dabei stellen sich Ihnen Wände, Schlösser, Eisbarrieren und vieles mehr in den Weg.
Die Vorlage für dieses Spiel – Deflektor – existierte schon auf Atari ST und Commodore Amiga. Allerdings handelte es sich damals nicht um Open-Source-Software. MirrorMagic selbst entstand bereits 1989 in einer Version für den Commodore Amiga. Im Jahr 1994 machte sich Holger Schemel daran, das Programm nach Linux zu portieren. Die aktuelle Version 2.0.1 ist durch die Verwendung der SDL-Bibliothek auch für MS-DOS und Windows verfügbar.
Den Spiegel anbringen
Bevor Sie die MirrorMagic-Homepage http://www.artsoft.org/mirrormagic/ zwecks Download besuchen oder sich mit der Heft-CD bewaffnen, sollten Sie das Vorhandensein folgender Pakete sicherstellen:
- GNU-C-Compiler
- make
- glibc-devel
- x11-devel
Das Archiv mit dem MirrorMagic-Quelltext kennt in seinem Makefile allerdings kein install–Target, so dass Sie die Installation händisch vornehmen müssten. Um Ihnen diese Arbeit abzunehmen, stellen wir auf der Heft-CD ein Installationsskript namens mminst.sh bereit, das Sie in ein gemeinsames Verzeichnis mit der Archivdatei mirrormagic-2.0.1.tar.gz kopieren.
Anschließend müssen Sie lediglich das Kommando sh mminst.sh in der Shell eingeben. Im Verlauf der Installation fragt das Skript nach dem root-Passwort, da es Schreibberechtigung für das Verzeichnis /usr/local braucht. Nach dieser Prozedur befinden sich das ausführbare Programm in /usr/local/bin und die zusätzlich benötigten Grafik-, Sound- und Level-Dateien in /usr/local/lib/mirrormagic.
Falls Sie mit der Installation aus dem Quellarchiv kein Glück haben, können Sie auch auf fertig gebaute Paketdateien für SuSE und Debian (jeweils in der Distribution enthalten) zurückgreifen. Allerdings basiert das SuSE-Paket noch auf der veralteten Version 1.3.
Vorsicht, Laser!
Nachdem Sie in einem Terminalfenster das Kommando mirrormagic & abgesetzt haben, begrüßt Sie das Spiel mit dem Hauptmenü (Abbildung 1). Unter dem Menüpunkt Name legen Sie Ihren Spielernamen fest. Als Voreinstellung wird der Login-Name verwendet. Mit Level wählen Sie aus den Level-Sets Deflektor, Mindbender und eigenen Levels aus. Der Name des aktuell eingestellten Level-Sets wird rechts unten angezeigt. Hinter Hall of Fame verbirgt sich die Bestenliste.
Im Level Creator ist es möglich, eigene Spielszenarien zu basteln. Der Info Screen stellt die einzelnen Spielelemente vor, ein Klick auf den Ballon neben Start Game startet den aktuell eingestellten Level, mit Setup nehmen Sie Einstellungen zu Sound und Gameplay vor, und mit Quit verlassen Sie das Spiel.
Knick in der Pupille
Abbildung 2 zeigt eine typische Spielszene. Links oben befindet sich die Quelle des Laserstrahls, der über verschiedene drehbare Spiegel durch das Spielfeld läuft. Sie müssen nun versuchen, durch Drehung der Spiegel mit der Maus die grauen Ballons mit dem Strahl zu treffen. Dabei kommt es oft vor, dass erst die Kombination mehrerer Spiegel zum Ziel führt. Reflektierende Wände, Prismen und Polarisationsfilter können sowohl Hindernisse als auch Hilfen darstellen. Die genauen Eigenschaften der Spielelemente (es gibt viele!) finden Sie am besten durch Ausprobieren heraus.
Zwei Dinge sollten Sie bei MirrorMagic immer beachten: Zum einen steht Ihnen zum Lösen des Levels nur eine begrenzte Zeitspanne zur Verfügung (erkennbar an der blauen Skala am rechten Bildrand), zum anderen darf sich der Laser nicht überhitzen. Eine Überhitzung tritt auf, wenn der Strahl direkt auf den Sender zurückgelenkt wird. Die Laser-Temperatur lesen Sie auf der roten Skala am rechten Bildrand ab.
Sind alle Ballons von der Spielfläche geräumt, verschwindet vor dem Laser-Empfänger (in Abbildung 2 rechts unten zu sehen) eine Barriere, so dass dieser nun vom Strahl erreicht werden kann. Gelingt Ihnen das, ist der Level gelöst. Manchmal finden sich zusätzlich eine Reihe von Glühlampen auf dem Spielfeld, die alle mit dem Strahl angeschaltet werden müssen, bevor der Empfänger funktioniert.
Baustelle
Wie bereits angesprochen, bietet MirrorMagic die Möglichkeit, eigene Levels zu erstellen. Diese Funktion ist aber nur für Ihr eigenes Level-Set (wählbar im Hauptmenü) verfügbar; die Deflektor– und Mindbender-Levels können Sie nicht verändern. In Abbildung 3 ist der Level Creator zu sehen. Darin haben wir als Beispiel einen LinuxUser-Level mit moderatem Schwierigkeitsgrad gebaut.
Die rechte Bildhälfte des Level Creator bietet alle im Spiel vorkommenden Elemente zur Auswahl an. Darunter befinden sich drei Felder, die die aktuelle Belegung für die linke, mittlere und rechte Maustaste anzeigen. Ein Klick mit einer der Maustasten aufs Spielfeld setzt das jeweilige Element an der Position des Maus-Cursors.
Unter der Elementauswahl lassen sich verschiedene Zeichenfunktionen (Einzeln, Linie, Box, …) anwählen. Die wichtigste Funktion in diesem Block ist Test – damit können Sie den aktuellen Level testspielen. Mit Save speichert MirrorMagic Ihre Level-Kreationen im Verzeichnis /.mirrormagic.
Mit dem Level Creator haben Sie so auch ohne Programmierkenntnisse die Möglichkeit, MirrorMagic zu erweitern. Wenn dem Autor des Programms genügend neue Levels zugeschickt werden, wird es bald ein drittes Level-Set geben. Die Fan-Gemeinde wird es Ihnen danken – seien Sie kreativ!
Glossar
-
SDL
-
Die “Simple Directmedia Layer Library” ist eine Bibliothek zur einfachen und plattformübergreifenden Grafik- und Sound-Programmierung.
-
Quelltext
-
Die für Menschen lesbare Form einer Software. Durch das Übersetzen (“Kompilieren”) mit einem Compiler wird daraus ein ausführbares Programm.
-
make
-
Programm zur Ablaufsteuerung beim Übersetzen von Quelltexten. Die Konfigurationsdatei von make (das Makefile) enthält dabei beispielsweise Informationen über Abhängigkeiten zwischen den einzelnen Quelldateien.
-
Target
-
Ein Makefile enthält sogenannte Targets (Ziele). Wird make mit dem Namen eines Targets als Argument aufgerufen, so führt es die zum Erreichen dieses Ziels nötigen Schritte aus. Während das Default-Target (das nicht explizit angegeben werden muss) üblicherweise das Kompilieren bewirkt, kopiert das install-Target das fertig übersetzte Programm ins Zielverzeichnis.
-
Shell
-
Einer der wichtigsten Bestandteile jedes Unix-Systems – die kommandozeilengesteuerte Benutzerschnittstelle.
-
~
-
Die Tilde steht als Abkürzung für das Home-Verzeichnis des aktuellen Benutzers. Ist man beispielsweise als Benutzer tux eingeloggt, so wird ~ von der Shell normalerweise zu /home/tux expandiert.








