Zuma Sunday

Die gestern aufgenommene Arbeit an Zuma-HD-Remake unter Linux ging stark weiter: Dank github.com wurde ein (friendly) Fork in Stellung gebracht der unter folgender URL zu finden ist:

https://github.com/19nkn80/Zuma-Deluxe-HD

Nico verbrachte viel Zeit damit, einige Sachen zu beheben und es gelang mir auch, ein fertiges Binary des Spiels zusammen zu stellen.

Weiterhin studierte ich einige Lizenztexte der verwendeten Audio-Bibliothek BASS von Un4seen Developments sowie dem Plug-In BASS_FX von Jobnik aus Israel.

Da das Projekt „Zuma-Deluxe-HD“ als „Educational“ deklariert wird, verdient niemand Geld mit BASS und dem Plugin und so entschlossen wir uns die Bibliothek in den Sourcecode zu integrieren. Eine entsprechende Notiz (README) wurde aus den Original Lizenztexten angefertigt und beigelegt.

Später stellte sich heraus, dass in der Vergangenheit ein anderer (friendly) Fork direkt mit der SDL_mixer Bibliothek existiert, die direkt unter einer freien Lizenz steht und daher rechtlich unproblematischer sein dürfte als BASS. SDL_mixer selbst steht unter der zlib License, die kompatibel zu unserem Projekt sein dürfte.

Letztendlich wollen wir (bzw. ich) gerne lernen, wie so eine Portierung von Windowsspielen auf Linux funktioniert und dies erwies sich als ein größerer Aufwand als wir unsprünglich dachten. Einfach Compiler anwerfen und gut ist, ist definitiv nicht der Fall.

Es sind sehr viele Feinheiten zu beachten: Dass Windows nicht zwischen Groß- und Kleinschreibung beispielsweise unterscheidet hatte ich ja schon im letzten Artikel gestern erwähnt.

Auch Pfadnahmen wollen beachtet werden: So verwendet Linux beispielsweise den „Forward Slash“ (/) während Windows den „Backslash“ (\) für die Trennung der Dateiordner nutzt.

Nico wirkte einiges an Kommandozeilenmagie mit „sed“ was für „stream editor“ steht und teilte diese Schritte in einer neuen ausgeräumten Dokumentation in seinem Repository. Persönlich hätte ich das nicht hinbekommen: Ich weiß zwar was „sed“ macht aber ich kann es nicht wirklich bedienen oder skripten.

Gegen Nachmittag wurde der Schlaf eingefordert: Kein Wunder bei all der ganzen Detailarbeit. So schlief ich ein wenig.

Gegen Abend gelang es mir dann noch, Nico zu den Leuten von holarse.de in den Gruppenchat zu bringen so dass man sich schneller austauschen und vernetzen kann. Hierzu diente erstmal in der Vergangenheit die Privatnachrichtenfunktion des Forums von Linux Guides.

So, dass soll es erstmal gewesen sein.. Den Artikel von gestern wo die ganze Sache ihren Lauf nahm steht auch nach wie vor zur Verfügung.

Happy Hacking, euer Maik

Zuma Deluxe – Wochenende

Ich schaue mir gerade die alten PopCap Spiele wie Bejeweled oder Zuma an ob sie noch unter Linux bzw. wine funktionieren. Ich glaube sowas ist genau mein Genre.. Casual Games nennt man die glaube ich. Keine Story, leicht zu lernen, etwas knobeln und sich keinen Kopf machen für ein paar Minuten..

EIn Freund von mir hatte mir berichtet, dass der Bubble-Shooter „Zuma“ wohl unter wine nicht so richtig im Fullscreen möchte und ich habe aus Bequemlichkeit, erstmal mit der aktuellen Beta1 von CrossOver auf dem Mac getestet und konnte die Problematik nachvollziehen.

Einen entsprechenden Report habe ich bei Codeweavers eingereicht, mal sehen wie sie darauf reagieren und ob sie die Fullscreen-Problematik fixen können.

Bei solchen Tests recherchiere ich oft parallel und bin dabei auf ein Projekt namens „Zuma-Deluxe-HD“ aufmerksam geworden. Es handelt sich dabei um eine moderne Implementation von Zuma, die insbesondere die höheren Auflösungen und Formate (also nicht 4:3) der modernen Monitore unterstützen soll. Zuma ist ja schon ein etwa 20 Jahre alter Softwaretitel.

Zuma-Deluxe-HD wurde unter Windows programmiert und der Quelltext der Software ist öffentlich auf github.com verfügbar. Ich habe mich also gefragt, ob dieser auch unter Linux übersetzt (kompiliert) werden kann.

Hierzu hatte ich im Laufe des Tages auch einige Anfragen in Foren wie bei LinuxGuides und auch in den Chat der Linuxgaming-Community „holarse“ gestellt und mir wurde von beiden Seiten sehr gut geholfen und es wurde sich wirklich da reingehängt.

Ebenso haben wir gemeinsam dem Entwickler sogenannte „Pull Requests“ geschickt damit einige Hürden bei der Kompilierung unter Linux in Zukunft etwas reibungsloser ablaufen. Ob er sie implementiert, steht natürlich noch aus.

Insbesondere geht ein großer Dank an nkn80 aus dem Linuxguideforum, der die ganze Aktion intensiv begleitet und im Forum dokumentiert hat.

Auch unterstützten mich comrad von holarse Linuxgaming und seine Crew rund um Fragen wie CMake, Generatoren etc. für den Einstieg. Ihm ist auch zu verdanken, dass ich bei einer Bibliothek Groß- und Kleinschreibung korrekt identifizieren konnte und weiter kam.

Einige Mitglieder von holarse fühlten sich im Matrixchat an alte Zeiten erinnert, wo man Spiele unter Linux mit Einsatz und kreativen Ideen letztendlich zum Laufen überredete.

Letztendlich gelang es auch, das Remake zum Laufen unter Linux zu bringen.

Es war eine große Arbeit und regelrechtes Ringen mit dem Computer. Ich danke allen Teilnehmenden für Ihren Einsatz und spreche meinen größten Dank und Respekt an alle aus.

In diesem Sinne: Happy Hacking! Euer Maik