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 Wurzelverzeichnis des Archives liegen.
  • In der .love-Datei sind die Datei- und Verzeichnisnamen muss die Groß- und Kleinschreibung berücksichtigt werden. Das kann rätselhaft für Windows- und Mac OS X-Lover sein, deren Dateisysteme falsche Groß- und Kleinschreibung berücksichtigen, und deren Spiele funktionieren, wenn sie entpackt sind, aber nicht, wenn sie gepackt wurden.

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

Windows

  1. Erstelle eine Zip-Datei
    (das ist bei XP, Vista und 7 schon eingebaut)
  2. Kopiere alle deiner Dateien ins Zip-Archiv, die Verzeichnisstruktur beibehaltend und sicherstellend, dass die main.lua-Datei im Wurzelverzeichnis liegt
    (wenn du eine Zip-Datei erstellst, die einen Ordner enthält, in dem deine Sachen liegen, dann wird es nicht funktionieren)
  3. Benenne das .zip zu einem .love um
    Es werden normalerweise die Dateiendungen versteckt. Du musst (Alt drücken,) und zu den Ordneroptionen gehen und den Haken bei „Bekannte Dateiendungen verstecken“ entfernen, um die .zip-Datei umzubenennen.

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