Online game stores (Steam, GOG, Epic...)
As explained in the introductory chapter, you can export your game in the .solarus format, which players can launch using the Solarus Launcher. This is the method we recommend for distributing your game across the widest range of platforms.
However, online game stores like Steam or GOG do not accept files with the .solarus extension; instead, you must provide a package containing all the components needed to launch the game without the Solarus Launcher.
The downside of this method is that it limits the platform on which you distribute the game (e.g., Windows), as you will be providing a package containing an executable and libraries compiled specifically for that platform.
If you still wish to proceed this way, follow the instructions below.
Exporting your assets in .solarus format
First, create a directory on your computer to hold all the files that will make up the package you intend to submit to the online store.
From the Solarus Editor, export your game's data and assets in .solarus format to the directory you just created. To do this, go to the File menu and select Build package. You can click Browse to locate the destination directory. Ensure the file is named data.solarus; change the name in the field if necessary. If you make a mistake, you can always rename the .solarus file later using your operating system's file manager. Click Build.
The procedure is very similar to distributing your game directly in .solarus format. The difference lies in the steps that follow.
Copying the executable and libraries
This chapter covers only the Windows scenario; we will update this tutorial later to include other platforms such as Linux or macOS.
For Windows
You need to copy the solarus-run.exe executable located in the directory where you installed Solarus Editor. Copy this file to your destination directory, placing it alongside the data.solarus file you built earlier. Then, rename solarus-run.exe to match your game's name—keeping the .exe extension, of course (for example, my-awesome-game.exe). This is the executable players will launch to play your game.
Follow the same procedure and copy the following 36 files located next to solarus-run.exe into the destination directory you created:
- bzip2.dll
- gamecontrollerdb.txt
- libbrotlicommon.dll
- libbrotlidec.dll
- libbz2-1.dll
- libfreetype-6.dll
- libgcc_s_seh-1.dll
- libglib-2.0-0.dll
- libgraphite2.dll
- libharfbuzz-0.dll
- libiconv-2.dll
- libintl-8.dll
- libjpeg-8.dll
- liblzma-5.dll
- libmodplug-1.dll
- libogg.dll
- libopenal-1.dll
- libpcre2-16-0.dll
- libphysfs.dll
- libpng16-16.dll
- libsharpyuv.dll
- libsolarus.dll
- libssp-0.dll
- libstdc++-6.dll
- libtiff-6.dll
- libvorbis-0.dll
- libvorbisfile-3.dll
- libwebp.dll
- libwebpdemux.dll
- libwinpthread-1.dll
- libzstd.dll
- lua51.dll
- SDL2.dll
- SDL2_image.dll
- SDL2_ttf.dll
- zlib1.dll
You do not need to copy any other files; you have just created a package ready for distribution on an online store. All that remains is to create an archive such as a .zip file containing all these files to publish your game.
However, we recommend testing the game by launching it from this directory or even having friends or family test it on their own computers to ensure everything works correctly.
Modifying the executable's icon and metadata
Creators may wish to change the icon of the executable that launches their game; to do so, you must use an external tool such as rcedit. Such tools also allow you to modify metadata stored within the executable, such as the author or the game version.
Signing and notarizing the game
The executable resulting from this process which you will submit to the online store will be neither signed nor notarized. This means your players might encounter warning from Windows when launching your game. This does not prevent the game from running, as the player can choose to launch it anyway.
Some online stores do not strictly require your game to be notarized for publication; you simply take the risk of the warning appearing for your players. Additionally, antivirus software or Windows Defender on your players' computers might completely block the game from launching or even delete it from the system.
Therefore, if you use this publication method, we recommend partnering with a publisher who can handle the signing and notarization process.
If you encounter any issues, please feel free to ask for help with this procedure on our Discord server.