A simple game launcher for developers to showcase their games. Especially useful during gaming conventions for example.
⚠ It's not aimed as being shipped with your game on Steam or other platforms.
Here's an example folder
game_launcher.exe
├── games
│ ├── Game name
│ │ ├── game_executable.exe
│ │ ├── capsule.jpg
│ │ ├── bg.jpg
│ │ └── config.ini
You can also check the Fake folder to see a game example
A config.ini can be used to customize a game. Using the config file you can set extended information such as release date, platforms, and even a QR code.
See the example config_fake.ini
file in the Fake folder for a full list of properties.
Note: If used, the "description" key will override the description.txt.
The launcher itself is configured using launcher_config.ini.
shortcut_kill_game
: global shortcut used to kill a launched game. Requires shortcut_listener.py to be running. See [shortcut configuration](Shortcut configuration)fullscreen
: true|false, start the launcher in fullscreen window_title
: if windowed, the title you see in the title barshortcut_listener.py is a script to listen to a specific shortcut to kill any active game started by the launcher. It communicates with the launcher using websockets (yes a bit overkill).
Requires python 3.10.x with the following package asyncio, websockets, keyboard
pip install asyncio, websockets, keyboard
The python script will be launched automatically by the app if you have a shortcut_kill_game
set in launcher_config.ini.
Navigate using keyboard or gamepad using the usual keys used for navigation (arrows keys, enter).
alt+enter
to toggle fullscreen of the launcher
Right now, the launcher is only working with windows and linux. Supporting mac shouldn't be complicated but I don't have a mac nor experience with macOS. If you want to help, please see https://github.com/MrEliptik/game_launcher/issues/2.
For development, you can use the games folder present in the project using the same configuration as explained above.
Full time indie gamedev. You can find me everywhere 👇
If you enjoyed this project and want to support me:
Get exlusive content and access to my game's source code
One time donations