I made a simple game launcher using python
It was not an easy task. But definitely doable.
Why did I make it?
I am sure anyone with a decent sized game library has had this issue. You want to play a game and also want to keep your desktop clean, i.e. not having a huge list of shortcuts staring down at you whenever you boot up a computer.
I did it for my sanity
I looked for existing options, but felt like they were doing a lot more than what I needed. I just wanted a list of the games installed. Nothing more nothing less.
Then I realised it'd be a great project to work on. My initial goal was to just make sure all the major stores / launchers like
- steam
- origin
- uplay
- epic games
So I sat down and devised a basic plan on how it's gonna work.
I quickly realised it was way easier than I thought. These existing launchers have a protocol in place to launch games which I can harness in my launcher which would also make sure that this doesn't break with any future updates.
Now these protocols need game IDs to launch a specific game
Here are some examples :
STEAM = "steam://rungameid/"
EGS = "com.epicgames.launcher://apps/" # + ?action=launch&silent=true"
UPLAY = "uplay://launch/" # launch/ID/0
ORIGIN = "origin://launchgame/"
Then you just pass the appropriate game ID to these protocols and viola it launches the game!
How did I manage to find game IDs for every single game?
I had to spend some time on https://gaming.stackexchange.com/
This post here explains how I implemented it for uPlay
A simple way to find installed games' uPlay IDs with python
Essentially there are different ways to extract game IDs for each vendor, I wont go into the details here but if you wish to know more about how its implemented you can checkout the project linked down below.
sakshatshinde / Plei
A game launcher with no bloat
Plei
A game launcher with no bloat
This project is ready for the launchers given below!
- Steam
- Origin
- Epic Games Launcher
- Uplay
- Standalone Games (Not gonna do this anytime soon :c)
Why is this a thing?
As new game launchers came into being it increasingly got annoying to keep track of all the games over different stores/platform. I wanted to make a unified front where users can access all their games, including the one with no launchers. The goal behind this launcher is to be simple, minimilistic and bloat-free
How to install? (For Devs)
This installation assumed you have python 3.X installed. Get python here
- Download Plei and extract it to your desired location
- Run the following command
pip install -r requirements.txt
- It might error out on "steamfiles" install. To fix this change your pip version to 9.0.X and run the above command again
python -m pip install pip==9.0.3
- app.pyw…
Top comments (0)