Apologies if this is the wrong community, happy to remove and post elsewhere.
I’m essentially a beginner to programming. I know some python (made a game of hangman with ASCII art for example) but nothing more complicated than that.
I’ve been wanting to learn some programming, whether it’s python or something else, and I think I’ve decided on a project I want to make (if possible?).
I aiming to make an emulation front end/GUI selector. I know there are things like RetroArch that are great, but it doesn’t have access to all emulation tools (e.g. doesn’t have Xbox/PS2/switch).
I’d picture just opening one program GUI that can select the “system” you want to use, then it provides a list of games.
The complexity that I can see is that even if I can run the actual emulator in a container or use a custom GUI to open the emulator it won’t 1) be able to show a games list within the same GUI and 2) it won’t be an easy back and forth to change emulators.
Not looking for anyone to solve the problem for me, just hoping for some advice on where to start like languages and what I should be trying to learn etc. or if it’s even possible. I’m aware there’s a high chance it’s not!
I’ve got years to learn and build before my kid might use it, not in a rush.
Thanks!
I wrote something like this before for academic researchers to load data sets on display walls by using their cellphones. I approached it by building a simple website. When the user logs in, they’d see a table of entries (from a directory listing on a shared file server that they could drop their data sets onto) and could click a button that made a form post to the server which caused it to run whichever programs were needed to load the data set they wanted (or run a couple of other handy commands – like turning the monitors on/off, etc).
You can do something like that too in Python if you want:
subprocess
library. If you know how to launch the programs you want from the command line, it shouldn’t be too hard to figure out how to do it from Python by reading the documentation. It will take some more effort to figure out how to interact with it (e.g. to stop it from user input) without blocking your script, but this can be done.localhost
(possibly plus a port) or from on your LAN by putting the IP of your computer into the address bar.os.listdir
, or something more involved like tracking the entries with a spreadsheet or database or JSON file that lets you associate custom metadata with each entry (like a custom name to show or an icon to display or when it was last launched, etc.)<
into<
that are needed for HTML output and also repeat patterns using entries from lists you provide to build the rows of tables and such for you.Good luck and have fun!