LÖVE Setup for Adventure Game Studio is a setup launcher that I wrote as an alternative to AGS's default winsetup.exe. It is written in Lua, using the LÖVE framework.
This is its default appearance:
This launcher relies primarily on a LÖVE library, Löve Frames, written by Kenny Shields. This library features a skinning system that you can use to easily change the appearance of this default GUI even you have little knowledge of Lua:
If you do know Lua, of course, you can modify everything in the script to further customize your GUI. I tried to keep the code as organized and as easy as possible to understand. Here is an example of a different GUI with non relevant options removed and French text:
Main benefits over the default winsetup:
Minor drawbacks:
How to edit as a developer:
How to turn the script folder into an executable:
Download link:
LÖVE Setup v0.1 BETA
Have fun! (I hope
)
This is its default appearance:
This launcher relies primarily on a LÖVE library, Löve Frames, written by Kenny Shields. This library features a skinning system that you can use to easily change the appearance of this default GUI even you have little knowledge of Lua:
If you do know Lua, of course, you can modify everything in the script to further customize your GUI. I tried to keep the code as organized and as easy as possible to understand. Here is an example of a different GUI with non relevant options removed and French text:
Main benefits over the default winsetup:
- 100% customizable.
- Many improvements possible: For example, graying out incompatible resolutions instead of letting you selecting them is possible with coding, but I haven't implemented that yet.
- Potentially cross-platform: Since this script is written using LÖVE (i.e. Lua), it should in theory work on Mac OS X and Linux. That said, I can only test it on Windows.
- Easy to use for the player: The final launcher is a simple EXE file. The player doesn't need to install an interpreter or anything like that.
Minor drawbacks:
- May not detect some translation files: There is no way in native Lua to automatically list the full content of a directory to detect the .tra files. However, the existence of specific file names can be checked, so I have pre-defined a list of over one hundred language names for the script to check. As long as the name of your translation file matches the English name of one of those one hundred languages, it will be detected. If it isn't, simply add its name to the script.
- When actually launching the game, a terminal black window will flash up on the screen for a fraction of a second before disappearing. This is the only way to launch a program from a Lua script in Windows.
How to edit as a developer:
- Download my LÖVE Setup script and decompress it in an individual folder.
- Download the official LÖVE 0.9 client and decompress it in another folder.
- Make sure it's the 32-bit version, even if you have a 64-bit Windows.
- In a text editor, edit the script files however you want (the LÖVE wiki is helpful).
- In main.lua, make sure you replace "Demo Game" with the name of your game executable (without the ".exe" part).
- Also in main.lua, replace the default values in the acsetup_template string with your game's default settings (monkey_05_06's list will help).
- In conf.lua, you can define an icon for the future launcher.
- To launch the script for testing purposes, drag the script folder onto love.exe (or a file shortcut of it).
How to turn the script folder into an executable:
- Compress LoveFrames, conf.lua and main.lua into a zip archive named SomeGame.love (where "SomeGame" is the name of your future launcher).
- Make sure your file is SomeGame.love, not SomeGame.zip and not SomeGame.love.zip.
- Put SomeGame.love and create_gamesetup_exe.bat in the same folder as the love.exe client.
- Drag SomeGame.love onto create_gamesetup_exe.bat.
- You now have a working EXE file, but it still requires all eight DLL files of the LÖVE client to run. You can either distribute all that with your game... or use a wrapper program to merge the setup executable and the DLL files into a single EXE file. Enigma Virtual Box (freeware) will do the job fine.
Download link:
LÖVE Setup v0.1 BETA
Have fun! (I hope
