Game Distribution (Deutsch)

Wie man eine .love-Datei erstellt

Eine .love-Datei ist ein Zip-Archiv mit der Dateiendung „.love“. Zwei Warnungen:

  • Die main.lua-Datei muss im Root-Verzeichnis des Archives liegen.
  • In der .love-Datei müssen bei Datei- und Verzeichnisnamen die Groß- und Kleinschreibung berücksichtigt werden. Das mag für Windows- und Mac OS X Nutzer komisch erscheinen, da deren Dateisysteme falsche Groß- und Kleinschreibung in Verzeichnissen berücksichtigen, jedoch nicht wenn die Dateien gepackt sind, was dazu führt, dass gepackte Spiele mit fehlerhafter Groß- und Kleinschreibung mit einer Fehlermeldung starten.

Hier wird erklärt, wie man eine funktionierende .love-Datei erstellt (Info wurde aus diesem Thread geplündert):

Windows

  1. Erstelle ein Zip-Archiv
    (ein Archivprogramm ist bei XP, Vista und Windows 7 standardmäßig dabei)
  2. Kopiere alle deine Dateien ins Zip-Archiv, stelle sicher das die Dateien direkt in das Grundverzeichnis des Zip-Archives kopiert werden
    (befinden sich die Dateien in einem Unterordner in dem Zip-Archiv wird es nicht funktionieren)
  3. Ändere den Dateityp von .zip in .love um
    Standardmäßig werden Dateiendungen unter Windows versteckt. Drücke ALT um zu den Ordneroptionen zu gelangen, danach entferne den Haken bei „Bekannte Dateiendungen verstecken“ um die Dateiendung neu benennen zu können.

Linux / OS X

Auf der Befehlszeile:

  1. Geh in dein Projektverzeichnis mittels z.B. cd ~/Projekte/EpischesSpiel
  2. Führe zip -r ../${PWD##*/}.love *aus
  3. Deine komplett-präparierte .love-Datei sollte außerhalb deines Projektverzeichnisses liegen

Eine ausführbare Datei aus deiner .love-Datei machen

Viele Leute sind (verständlicherweise) darüber beunruhigt, was die Endnutzer machen müssen, um ein LÖVE-Spiel zu starten. Wenn die Nutzer eine .love-Datei bekommen, muss bei diesen LÖVE installiert sein (oder wenigsten ausgepackt) damit sie es starten können. Aber seit LÖVE 0.5.0 kannst du die .love-Datei mit dem love-Programm verbinden!

Normalerweise wird es empfohlen, eine .love-Datei als Download anzubieten und optional „zusammengeführte“ Versionen für die Plattformen, wo dies alles einfacher macht.

Zwei Dinge sollten beachtet werden:

  1. Das Endergebnis wird nicht eine einzige ausführbare Datei sein, denn du musst außerdem ein paar DLLs in deiner Zip-Datei mitliefern.
  2. Die resultierende ausführbare Datei der Zusammenfuhr wird immernoch von Archivprogrammen, wie WinZip, lesbar sein.

Windows

Hier wie es unter Windows funktioniert. Schreibe das in eine Konsole:

copy /b love.exe+game.love game.exe

Danach ist alles was du tun musst, die game.exe und benötigten DLLs zu zippen, und diese zu veröffentlichen. Ja: Das heißt, dass das Spiel eine lokale Kopie von LÖVE hat, aber daran ist nichts falsch. Das heißt außerdem, dass du je ein Paket für jede Plattform, die du unterstützen willst erstellen oder einfach die .love-Datei für die anderen Plattformen anbieten musst.

Linux

Unter Linux ist es ähnlich:

cat love game.love > game

Danach musst du ein Paket für verschieden Paketsysteme mit Abhängigkeiten als LÖVE-Paket erstellen. Wenn du mit diesem Weg z.B. ein .deb-Paket erstellen willst, dann muss der Nutzer nicht extra das love-Paket installieren müssen.

Eventuell werden wir Skripte für verschiedene Paketsystem erstellen, welche dies automatisch tun. Bis dahin musst du es selbst herausbekommen, wie es geht.

Andere Sprachen