LabGen ist ein OpenGL-Programm zum Erstellen, Anzeigen und Durchwandern von Irrgärten, die als einfache Textdatei (Karte) erstellt werden können.
LabGen übersetzt Karten in eine begehbare 3D-Darstellung. Dazu sucht es beim Aufruf im aktuellen Ordner nach der Kartendatei labgen.map mit folgendem Aufbau:
; labgen.map ###################### # # # # # # # # # # ### ### # # # # # # # # # # # # # # # # # # # # # ? # # # ? ########### ##### ? # # # # # # x # # # # # # # # # # # # # ####### # # # # # # # ###################### |
In diesem Textformat stellen Rautenzeichen Mauern und Leerzeichen den Boden dar. Optional kann ein x für den Startpunkt des Betrachters und ein ? für ein Ziel (z.B. Ausgang) angegeben werden, was zur Ausgabe der benötigten Zeit führt. Semikola leiten Zeilenkommentare ein.
Findet LabGen keine Kartendatei, generiert es eine eigene, zufallsbasierte Karte.
LabGen sucht beim Aufruf im aktuellen Verzeichnis nach folgenden Ressourcendateien:
Dateiname | Funktion |
---|---|
bg.wav | Hintergrundmusik (Windows) |
bg.mp3 | Hintergrundmusik (Linux) |
bg.png | Himmel |
wall.png | Mauer |
Somit läßt sich das Programm mit eigenen Texturen / Musik anpassen. Die obigen Dateien können als Beispiel und Startpunkt für eigene Anpassungen heruntergeladen werden.
Findet LabGen keine Ressourcendateien, verwendet es interne Ressourcen (Normalfall).
Im Programm schaltet F11 auf Vollbild um. Ein Nachtmodus ist verfügbar. Weitere Befehle finden sich in der Hilfe (F1).
Das Programm kann als Archiv heruntergeladen werden:
labgen.zip [65 KB, 64 bit, MD5]
labgen.tgz [88 KB, 64 bit, MD5]
Nach dem Download ist eine Prüfung auf Virusfreiheit und Authentizität zu empfehlen.
Installation oder Deinstallation des Programms sind nicht notwendig. Da sich das Programm nicht in Systemdateien einträgt, ist ein portabler Betrieb möglich. Das Programm kann in einen Ordner eigener Wahl kopiert werden.
Getestet wurden Windows 10, Ubuntu 18, Mint 20 und Slax 9.11.
Das Programm benötigt die Bibliotheken OpenGL, ALSA und FreeGlut, die in normalen Linux-Distributionen standardmäßig vorhanden sind. Unter Minimalsystemen wie z. B. Slax ist FreeGlut ggf. nachzuinstallieren (apt install freeglut3).
Unter Linux kann statt einer einfachen Verknüpfung auf dem Desktop (Schreibtisch) eine sog. Desktop-Datei angelegt werden, die es erlaubt, ein Icon auf dem Desktop anzuzeigen und den aktuellen Ordner auf den Programmordner zu legen, damit Begleitdateien (eigene Klänge, Texturen oder Karten) beim Programmstart gefunden werden.
Exemplarisches Vorgehen für einen Benutzer namens Tim:
[Desktop Entry] Type=Application Name=labgen Path=/home/tim/bin Exec=/home/tim/bin/labgen Icon=/home/tim/bin/labgen.svgStatt labgen.svg ist auch eine andere Bilddatei möglich, z. B. labgen.xpm
Zum Austesten verschiedener Texturen, Klänge oder Karten ist ein Start im Terminal empfehlenswert, um Fehlermeldungen besser angezeigt zu bekommen.
Das Programm benötigt keine systemfremden Bibliotheken.
Ziel: Weitgehende Unabhängigkeit von Bibliotheken, ohne Programmgröße aufzublähen.
Ver. | Inhalt |
---|---|
0.9 | Prototyp, dankbar inspiriert durch Jeff Molofee auf nehe.gamedev.net. |
1.0 | Gangbild und Kollisionserkennung. Windows: Glut-Emulation, somit keine Abhängigkeit mehr. |
1.1 | Spielerlogik, Edge Following. RLE-Bitmaps und Wave-Audio-Dateien für Ressourcen. |
1.2 | Zufallskarten und interne Ressourcen, somit LabGen einzeln lauffähig. PNG statt Bitmaps. |
1.3 | Monsterkrake PulseAudio durch mehr verfügbare ALSA-Bibliothek ersetzt. Hintergrundmusik für Linux, Threads. MP3 statt Wave-Audio. Code-Überarbeitung, Programmgröße unter 100 KB gedrückt. |