C64 Dreams Progress 7/12/21
Hey guys, I know it's been quiet around here lately so I wanted to touch base.
After the last release I went on a bit of a hiatus to take a little time to just play some games for myself (what a crazy notion!) and sortof reset. I dumped about 160 hours into Nioh 2, 70 into Star Renegades, and 20~ into yet another (ongoing) Wizardry 8 playthrough. I think I'm pretty sufficiently re-centered at this point haha.
So diving back into things I got to work on the next release of C64 Dreams. The first 100 new games are done, but that's not where the majority of the time sink has gone so far. For this update the new big feature that I'm adding in is integrated Zzap!64 reviews. I've included C64 magazines in C64 Dreams for quite a while now, but historically this has always been a very simple incorporation where you could access web or local copies of each magazine, browse through them, and that's it. What I'm working on now is adding the ability to immediately access specific reviews for each relevant game, i.e. you right-click a game in the library and, if it has a Zzap!64 review, you'll see it listed in the additional apps (right-click) menu and you can then start the shortcut for either the web or local version and it'll jump right to it. I don't know how many people are going to care about this, but I think it's a really cool feature. I certainly hope I'm not the only person that has any interest in using this because it's turned out to require a significant time investment, moreso than I initially anticipated. I've made some tools to automate some of it, but in the end it still requires a lot of by-hand work for every one of them.
I have 329 of these setup so far, with the goal for the release being 1000+
Because of this specific focus for this update, the method for game selection has taken a bit of a left turn this go round. Ordinarily about 80% of the new games that get added are from parsing through GB64 and "filtering out the noise" as it were. I'm currently 46% through GB64 and am currently in the letter "K". 15% come from browsing through new releases on csdb.dk for anything interesting. The remaining 5% comes from random places like seeing a youtube video or a review on a game, or from users specifically requesting something. While I'll be getting back to that in the future, this time around, that's all gone out the window. Because of the focus on Zzap!64 review integration, I've been going through and adding in any games that were reviewed in the magazine but weren't already in the collection. At this point, every game that's reviewed in the first 5 issues is now included, for example. For issues 6-17 I've incorporated the reviews for the games that are currently in the collection and am in the process of adding in the games from those issues that aren't in the collection. This has meant adding in some games that I might have skipped previously, but I think that's okay - most of them are games that would warrant inclusion anyway, but might not necessarily appeal to my specific tastes. Case in point there are more flight sims and sports games than I would ordinarily gravitate to, but I'm certain that there are people that have an interest in these so I consider it still worth doing. And hey, I found some in that process that, it turns out, I like quite a bit that I wouldn't have expected like Solo Flight, The Great American Cross-Country Road Race, and Ricahrd Petty's Talladega! There will also be a fair few new text adventures added too since, if you're familiar with Zzap!64, you'll know there was a recurring section by "The White Wizard" reviewing the latest adventure titles. As always these can be hit or miss (or of no interest across the board since they're, understandably, not everyone's thing) but there once again I've come across a couple that I wasn't familiar with that it turns out I quite like, such as Red Moon, The Tracer Sanction and Valkyrie 17. Interestingly enough in the case of Valkyrie 17 the review clued me into something that I wouldn't have otherwise known about - the reverse side of the tape that the game originally came on had an audio recording that includes some background info for the story in the form of answering machine messages sent to your character! I managed to track down a recording of it which you'll be able to access through the right-click menu for the game. I really love this kind of thing!
In addition to all this I've also added in some interactive codewheels where possible and relevant:
I've also swapped out 60+ existing games with OneLoad versions created by StatMat. You can find out more about his project here. I'd recommend checking it out, he does good work.
That probably leads to an obvious question, however, of "What's the rationale for which ones get used and which ones don't?" since there are obviously quite a few games in that collection that I'm still not using. OneLoad games are "clean" i.e. no cracktros, no trainers, no docs, just the original game in cart format. I'm someone who is of the likely contentious opinion that "scene" releases are an integral part of the C64 experience. When I was a kid, I had no idea that cracktros weren't just part of the games. I do recall thinking it rather odd (and scandalous!) reading in the cracktro for Supremacy by The Dominators that they were "back to kick your ass!", but otherwise I always just took them for granted that they were part of it all. As an adult, I have a better understanding and appreciation for that scene and truthfully the work that those guys did should not be discounted. Trainers, docs, fixes for bugs in the original game, translations, added joystick support... these are, in my view, objective improvements that are worth preserving. It's precisely for this reason that the vast majority of C64 Dreams is sourced from csdb.dk. That said, there are some cases where a scene release has no trainers, no docs, nothing substantial from a player's perspective - just a cracktro. It's in these cases that I'm inclined to go with OneLoad versions because I don't feel like you're really losing out on anything major there. I like cracktros (and demoscene of course) but I don't necessarily feel tied at the hip if that's the only thing that's being brought to the table. So all the ones that were swapped out and will be potentially swapped out in the future with subsequent releases of the OneLoad collection are games where that's the case. I parsed the entire current collection against OneLoad v2 so that part's done. Now when I'm looking for a version for new additions I check csdb.dk first for a nice feature-rich version and, if there isn't one, I check OneLoad next.
As with the last update, I've worked pretty closely with sonninnos the VICE Retroarch core maintainer this go round working through any kinks I come across and he's been great as always. The core has undergone some updates which fix or improve some things which I'll go into when I release the update, but in the process the backend code was updated from VICE 3.3 to 3.5 which, while it does bring some benefits, it had the unfortunate side effect of breaking all 200+ existing auto-loading savestates :( So I had to go back and recreate every single one of those which, as you can imagine, took some time. That's done now though, thankfully. I ended up deleting about 30 of them in the process that no longer seemed necessary thanks to autowarp, which wasn't available when some of them were originally created. In those cases if it meant the difference between a 5 second load without using a save state or 0 seconds with a state, I went with the former. They can be really handy, and I certainly use them where they're particularly beneficial, but I felt like it was just better form to not rely on them if it wasn't a significant difference either way.
Finally, I recently got an RG351V, which I've had a whole lot of fun with so, of course, I had to see how much of C64 Dreams I could make functional on it.
Since it actually uses Retroarch and the same core I'm already using for the Windows version, a fair bit actually crosses over. Now of course I can't use any of the external/Windows-specific software that I'm using to add some extra bells and whistles in the normal version, but a lot of the core things are intact. So when the next update is released I plan on releasing a separate version for that as well. This could technically be used with other devices that are capable of using Retroarch as well like a Pi, though the included mappings are for the RG351 devices and I don't have a way to test others. It would be relatively easy to convert to other mappings though with mass find and replace. You'd just need to know what the button numbers are.
What it doesn't have:
Manual quick-swap (or manuals period)
Custom music for text adventures
Notes overlays (although this is theoretically possible and is something I'll be messing with eventually, they will all have to be remade to actually be conducive to a small screen so that will take time)
Super CPU support (which means no Metal Dust or the handful of Super CPU ports of games like Rescue on Fractalus)
What it does have:
All the games, named appropriately and with extra media/files stripped out
Correct joystick port set for each game
Border cropped for each game
True-drive disabled where possible and enabled where necessary + autowarp and auto-loading savestates where beneficial
Custom mappings for the same basic functionality as in C64 Dreams, though it won't include some of the more complex remapping (like in Fairlight, for example) as I don't have access to Antimicro in this setting
Anyway, that's where we're at right now. I may try to get another standard game release out before the C64 Dreams update is out but I tend to get fairly focused while I'm working on this project so I can't guarantee that. Sorry about things being quiet here in the interim. If anyone has any questions, requests, ideas, or just a desire to wax poetic about old games, feel free to hit me up here or on my Discord server.