I wanted to share it with the community here since it's been an important resource in me completing it. I spent nearly all of my time working on the project in a custom-built version of Mini vMac running System 7.1. It was a lot of fun!
Since I wanted to be able to distribute the game in a way that was easy for people to play, meaning it's basically just a single executable that they could run, I made some modifications to Mini vMac to facilitate that. The changes include:
- For macOS builds, it looks for a Macintosh ROM file in the app bundle's Resources directory
- On startup it copies important disk images to an appropriate place in the user's home directory for when it's running in a read-only environment, namely in a signed macOS app bundle or in a Linux AppImage
- It automatically loads those disk images from that place in the user's home directory
- I added a script for bundling everything into a Linux AppImage for Linux distribution
- I customized the emulator's window title and desktop icon
I made a few quality of life improvements too:
- The emulator stretches to fill the screen when in full screen mode for macOS and SDL builds
- For multi-monitor systems, it goes full screen on whichever display contains its window rather than only the main display
- Alt+Enter / Command+F now toggle full screen mode, since that keystroke is more conventional than Ctrl+F
Those changes are currently hard coded for Blah Blob and a particular configuration for Mini vMac (namely Macintosh II, monochrome 512x342 display, magnify enabled, "All out" speed), but I'm thinking of making a new repo that factors the Blah Blob specific stuff out into a single configuration file (or something) so that others can use it for classic Mac OS distribution too, at least until such a point that others can make use of something like MACE. (Which I hope will happen someday!) Is that something folks here would be interested in?
(Also, I'll briefly acknowledge that I know including a Macintosh ROM files as part of a distribution like this is questionable and there are people that don't recommend doing so. But I decided to do it anyway since I'll lose 98% of potential players of my game if they have to go searching the internet for a specific ROM file, download it, and copy it to the right place before the game will even launch. People are hosting ROM files all over the internet (including on GitHub), so I don't think anyone cares. Hopefully I don't get into any trouble for it!)