Tomb Raider in Open Source

Das 1996 erschienene Tomb Raider, mit Lara Croft in der Rolle der taffen Archäologin, galt und gilt als Meilenstein des Action-Aventure. Seitdem sind etliche weitere Teile entstanden. Auch die alten Teile sind bei vielen Fans immer noch sehr beliebt.

Die Projektseite von Open Tomb

So existieren einige Open Source-Projekte rund um Tomb Raider. Eines dieser Projekte ist Open Tomb, welches unter opentomb.github.io zu finden ist. Das Ziel des Projektes ist eine Reimplementation der Engine welche für Tomb Raider 1 – 5 genutzt wurde. Lizenziert ist das Projekt unter der LGPL3 und damit freie Software.  

Neben dem OpenTomb-Projekt existieren weitere Projekte, wie das OpenLara-Projekt, welches die Engine im Browser nachbaut. Eine spielbare Demo existiert auf der Projektseite; der Quelltext ist auf GitHub zu finden. Lizenziert ist OpenLara unter der BSD-Lizenz, in der Zwei-Klausel-Version.

Öffentliche Bücherschränke finden

Bücherschränke sind mittlerweile in der breiten Fläche angekommen. Bei einem solchen Bücherschrank handelt es sich um eine Örtlichkeit, in welcher kostenlos Bücher abgegeben bzw. getauscht werden können. Manchmal bezieht sich das nicht nur auf Bücher, sondern auch auf andere Medien. Damit dieser Dienst genutzt werden kann, muss dem Nutzer bekannt sein, wo sich ein solcher Bücherschrank befindet. Bei der Lösung dieses Problems hilft die Webseite openbookcase.org.

Die Standorte der Bücherschränke werden auf einer Karte visualisiert

Mithilfe der Karte können die Standorte entsprechender Bücherschränke gefunden werden. Für jeden Standort finden sich dort Informationen über die Position, eventuelle Öffnungszeiten und viele weitere. Neben der Karte können die Daten auch in Listenform angezeigt werden. Interessant ist, das dieses Projekt nicht das einzige seiner Art ist. So bietet auch die Webseite lesestunden.de einen Buchschrankfinder an.

Mapcrafter für Minecraft 1.14 nutzbar

Minecraft 1.14 ist bereits seit einigen Tagen veröffentlicht und nun wurde die freie Software Mapcrafter soweit nachgezogen, das sie mit der Minecraft-Version 1.14 genutzt werden kann. Mapcrafter dient der Erzeugung einer interaktiven Karte einer Minecraft-Welt. Unter Ubuntu kann das Projekt aus dem Repository geklont werden und anschließend kompiliert und installiert werden:

git clone https://github.com/mapcrafter/mapcrafter.git
cd mapcrafter
git checkout world113
cmake .
make 
make install

Anschließend kann Mapcrafter ausgeführt werden:

/usr/local/bin/mapcrafter -c akaria.conf -b -j 4

Die Konfiguration (in diesem Fall: akaria.conf) legt fest, welche Ebenen und Dimensionen wie gerendert werden sollen. Beispielhaft könnte die Konfiguration wie folgt aussehen:

output_dir = /var/www/map
background_color = #000000

[marker:teleporter]
name = Teleporter
prefix = Hauptteleporter
icon = beacon.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[marker:signs]
name = Signs
icon = sign.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[world:akaria]
input_dir = akaria
world_name = Akaria

[world:akaria_without_liquid]
input_dir = akaria
block_mask = !8 !9 !10 !11
world_name = Akaria

[global:map]
image_format = png
png_indexed = true
rotations = top-left
texture_size = 16

[map:day_isometric]
name = Day (isometric)
render_view = isometric
render_mode = daylight
world = akaria

[map:day_withoutliquid_isometric]
name = Day (without liquid, isometric)
render_view = isometric
render_mode = daylight
world = akaria_without_liquid

[map:day_spawn_isometric]
name = Day (spawn, isometric)
render_view = isometric
render_mode = daylight
overlay = spawnday
world = akaria

...

Im Zuge der Umstellung von Mapcrafter auf Minecraft 1.13 und jetzt 1.14, kam es bei Mapcrafter zu größeren Umbauten, welche leider noch nicht abgeschlossen sind. So fehlt im Moment noch die Möglichkeit der Blockfilter und auch beim Rendering von Schildern scheint es Probleme zu geben. Es bleibt zu hoffen, dass das Release in nächster Zeit fertiggestellt wird. Der aktuelle Status kann in dem entsprechenden Pull-Request eingesehen werden.

Blöcke welche mit 1.14 eingeführt wurden, werden nun ebenfalls gerendert

Die offizielle Seite des Projektes ist unter mapcrafter.org zu finden. Der Quelltext kann über GitHub bezogen werden. Lizenziert ist das Projekt unter der GPL3-Lizenz und damit freie Software. Wer eine Mapcrafter-Karte in Aktion sehen möchte, kann dies unter map.akaria.q1z.net tun.

Minecraft Classic im Browser

Morgen wird Minecraft sein zehnjähriges Jubiläum feiern. Anlässlich dieses Jubiläum kann nun die frühe Version 0.0.23a_01 (alias Minecraft Classic) im Browser gespielt werden. Die Version verfügt, wie damals, nur über den Kreativmodus. Mit insgesamt 32 Blöcken kann die Welt gestaltet werden. Auch die alten Bugs wurde unverändert übernommen. Das Spiel kann mit bis zu zehn Spielern gespielt werden.

Das ursprüngliche Minecraft im Browser

Allerdings sollte die Version als Demo, denn als vollständiges Spiel betrachtet werden. Es dient eher zur Auffrischung der Nostalgie und zur Feier von zehn Jahren Minecraft. Zu finden ist die Browser-Version unter classic.minecraft.net.

/dev/rdisk vs. /dev/disk unter macOS

Unter macOS werden Festplatten, SD-Karten und ähnliches im Dateisystem unter /dev/ als Gerätedateien eingebunden. Für eine SD-Karte könnte nun beispielhaft das Gerät /dev/disk2 vorhanden sein. Das Gerät ist ebenfalls über /dev/rdisk2 ansprechbar. Obwohl beide Gerätedateien das gleiche physikalische Gerät ansprechen, unterscheiden sie sich. So könnte ein Image mittels dd auf das Gerät geschrieben werden:

dd bs=1m if=filename.img of=/dev/rdisk2

Der Prozess ist nach relativ kurzer Zeit abgeschlossen. Wird die Operation nun mit dem Gerät /dev/disk2 durchgeführt:

dd bs=1m if=filename.img of=/dev/disk2

so verlängert sich die Dauer der Operation um ein Vielfaches. Hintergrund hierfür ist die technische Anbindung der jeweiligen Gerätedateien. Die Datei /dev/rdisk2/ ist näher an dem physikalischen Gerät, so das Änderungen direkt durchgeführt werden. Aus Sicht von Programmen, welche nicht im Kontext des Kernels laufen, ist der Zugriff auf /dev/disk gepuffert. Wird auf diese Gerätedatei geschrieben, so wird der Datenstrom in 4 KiB große Blocke heruntergebrochen, im Puffer gespeichert und erst dann (oder später) geschrieben bzw. gelesen. Wird hingegen /dev/rdisk2 genutzt, so wird der Datenstrom relativ direkt auf das Gerät geschrieben. Dies wirkt sich positiv auf die Geschwindigkeit aus und ist z.B. beim Schreiben von Images auf einen Datenträger von Vorteil.