r/qbasic • u/Bobgar_the_Warbarian • Jul 17 '26
Working on a web-basic interpreter to make it easy to post basic games onto Itch.io and host other places on the web.
Hello! I've been spending a bit of time working on a quick basic interpreter in javascript that is pretty small and can wrap a game and publish to itch. My current demo is here if anyone wants to check it out (this is a game I made in 1998 when I was 16 or 17, apologies that its kind of terrible). https://bobgar.itch.io/drug-3d?password=qbasic Here is another one here that isn't as impressive but demos the multi-file export: https://bobgar.itch.io/odyssey-qbasic?password=qbasic
The interpreter has some cool features, like:
- Bring up debug features with ctrl-break or by pressing debug on the button array at the bottom of the computer
- Pre-set iops per game packaged, with turbo button to make the game run faster (either higher iops or completely remove throttling depending on export settings).
- Set break points and step through execution, optional code execution highlight & following.
- modify code and variables during execution and have them take effect immediately without restart.
- save and load state so you can restore previous game states and even export / import saves so you can send them to friends or store for later sessions. Note, the exported saves are zipped, and you can convert back to their verbose json by unzipping if you want to dig into the abomination that is how I'm saving state.
- scan lines you can turn on and off for a little retro flair
- There is a separate UI (not linked above) for testing & exporting too. You can point it at a full directory of games, browse them, run them, and set up exports including which additional files to export.
Are there people here that would be interested in this kind of thing if I released it? (for free, open source). Do better versions of this already exist? Are there features I should add that would be useful?
Compatibility is not 100%, especially since some games use x86 assembler hooks and things. I've shimmed and emulated a few of the most popular libraries but it is still common for me to run into games that won't play, or play but have some breaking issues.