Difference between revisions of "Game Distribution"
Sheepolution (talk | contribs) (Added Yellowafterlife's .bat file method, and the explanation of having the DLL files and your game in the same directory.) |
(→Making a .love-file: Simplified instructions, added some examples) |
||
Line 1: | Line 1: | ||
− | == | + | == Create a .love-file == |
− | + | Please note that some operating systems use case-sensitive paths. To avoid unnecessary hassle make sure that the path specifications you use in code matches that of your folders and files. | |
− | + | To create a .love-file you have to create a zip file of the whole game directory. Make sure that your main.lua is in the root of the archive, e.g. if you have | |
− | |||
− | + | <somedir>\SuperGame\gfx\character.png | |
+ | <somedir>\SuperGame\main.lua | ||
+ | <somedir>\SuperGame\conf.lua | ||
− | + | You must ensure the zip file containts | |
− | + | gfx\character.png | |
− | + | main.lua | |
− | + | conf.lua | |
− | |||
− | |||
− | = | + | and '''not''' the directory <tt style="font-size:1.3em">SuperGame\</tt>. |
− | |||
− | |||
− | + | Once you have your zip file you simply rename the ending from .zip to .love and you are done! | |
− | + | === Platform Specific Notes === | |
− | + | ||
− | + | ==== Windows ==== | |
− | + | ||
− | + | Windows supports creation of zip files out of the box. For detailed instructions see http://windows.microsoft.com/en-hk/windows-vista/compress-and-uncompress-files-zip-files | |
+ | |||
+ | Alternatively you can use the Distribution Utility that is available [https://www.love2d.org/forums/viewtopic.php?f=5&t=30259 here] | ||
+ | |||
+ | ==== Linux / OS X ==== | ||
+ | |||
+ | Assuming your current directory is <tt style="font-size:1.3em">SuperGame/</tt> you can create the .love file from command line directly using | ||
+ | |||
+ | zip -9 -q -r SuperGame.love . | ||
== Making an executable file out of a .love-file == | == Making an executable file out of a .love-file == |
Revision as of 21:27, 30 April 2013
Contents
Create a .love-file
Please note that some operating systems use case-sensitive paths. To avoid unnecessary hassle make sure that the path specifications you use in code matches that of your folders and files.
To create a .love-file you have to create a zip file of the whole game directory. Make sure that your main.lua is in the root of the archive, e.g. if you have
<somedir>\SuperGame\gfx\character.png <somedir>\SuperGame\main.lua <somedir>\SuperGame\conf.lua
You must ensure the zip file containts
gfx\character.png main.lua conf.lua
and not the directory SuperGame\.
Once you have your zip file you simply rename the ending from .zip to .love and you are done!
Platform Specific Notes
Windows
Windows supports creation of zip files out of the box. For detailed instructions see http://windows.microsoft.com/en-hk/windows-vista/compress-and-uncompress-files-zip-files
Alternatively you can use the Distribution Utility that is available here
Linux / OS X
Assuming your current directory is SuperGame/ you can create the .love file from command line directly using
zip -9 -q -r SuperGame.love .
Making an executable file out of a .love-file
Many people are (understandably) concerned about what end-users need to do in order to run a LÖVE-game. If users receive a .love-file alone, they will naturally need LÖVE installed (or at least unzipped) in order to run it. But, as of LÖVE 0.5.0, you can merge the .love file with the love executable.
In general, it's recommended to offer a .love for download, and optionally "merged" versions for the platforms where this makes things simpler.
Two things should be noted:
- The end result will not be a single executable, you must also include some DLLs in your zip-file.
- The resulting executable from the merge will still be readable by archiving software, such as WinZip.
Make sure that love.exe and the DLL files in the installation folder, and your game.love, are in the same directory.
Then use one of these following methods:
Windows
Here's how to do it on Windows. Open up a command prompt and type the following, where love.exe points to the LÖVE executable and game.love points to your zipped game.
copy /b love.exe+game.love game.exe
You can also make a .bat file, where you include the following:
copy /b love.exe+%1 "%~n1.exe"
Now just drag your game.love on the .bat file (Thanks to Yellowafterlife).
It's recommended to use the 32-bit version for this as it will run on every Windows. The 64-bit one only runs on 64-bit Windows.
Then, all you have to do is zip game.exe and the required DLLs, and distribute them. Yes; this does mean that the game will have a private copy of LÖVE, but there's nothing wrong with that. It also means that you will have to create one package for each platform you would like to support, or simply offer the .love alone for the other platforms.
Linux
On Linux, it's similar:
cat /usr/bin/love game.love > game && chmod +x game
Then, you'll have to make a package for various packaging systems with dependencies as the love package. Were you to make a .deb package this way, for instance, the user would not have to install the love package separately.
Eventually, we will provide scripts which do this automatically for various package systems. You'll have to figure it out yourself until then.
Mac OS X
As of 0.6.1, it is now easier to create ready-to-distribute stand-alone Love games by following these steps:
- First create a copy of the löve.app
- Right-click (Control+Click if you have one button) to bring up the contextual menu and select "Show Package Contents"
- Navigate to Contents/Resources/. There should be two .icns files in there. Copy your already prepared .love file into Resources.
Next, you need to edit /Contents/Info.plist. The main reason is that if you don't, your game will conflict with another LÖVE installation present on the user's machine, so that double-clicking any .love might open your game instead. The reasons are that when you launch the game, the Dock icon is still the default löve icon and the title is "love". To change this, all you need is a small amount of computer knowledge and the right tools. A text editor, or the OS X Property List Editor.app which comes with the Developers tools on the install disc. You can use either, but the PLE is easier to understand. The file you need to modify is the Info.plist file located in the Contents folder. Once opened in PLE, you will see a list of "properties". You need to make a couple of big changes: (Make sure to double-click the "Value" column and not the "Key").
- Bundle identifier - Make this something like com.yourcompany.whatever
- Bundle name - Changes the title in the Dock
- Bundle creator OS Type code - Make this unique if you can.
- Icon file - Optionally if you wish to make your icon a different file name. You could just replace the icon itself if you wanted to without renaming it though
Then, remove these sections by clicking the '-' that appears when you hover over it. This will avoid your application launching for any .love file:
- Document Types
- Exported type UTIs
Distribution on the web
There is an experimental project to run .love games in a WebGL capable browser (up to date firefox,opera,safari...) without needing extra plugins, see forum thread
Mobile distribution
There is an experimental project to run .love games natively on android phones, see subforum
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info