This is a huge work-in-progress collection of hand-picked C64 games (3500 currently), demoscene demos, SID music, C64 magazines, and diskmags. 100% of the collection has been tested, streamlined and custom-tailored to get you into the games and playing as easily and quickly as possible. It's also portable and doesn't require any front-end to function (though it does come packaged with Launchbox).
Some of you may know that I have a website where I update older PC games to run on modern computers. While I primarily stick with DOS and Windows 3.1/95 games, I've also done a few Amiga games and even made a collection of C64 games called C64 Dreams. That was a collection of 128 of my favorite C64 games from my childhood, and it turned out relatively well. I've always been extremely picky when it came to C64 emulation. Having done my time with a real C64 as a kid, I have no desire to go back to the hassles that that entails (extremely long load times, cumbersome disk swapping, constantly swapping joystick ports from game to game, etc.) and, having been into emulation since the late 90's, I've messed around with a lot of different C64 emulators over the years. In nearly all cases there was always something that just rubbed me the wrong way; something that kept it from being exactly what I wanted. That said, CCS64 had always been my emulator of choice, because it got the closest to what I wanted. The Windows version of CCS64 has some significant... idiosyncrasies (more like bugs) however. What I ended up doing was using an admittedly rather convoluted method of setting up the DOS version of CCS64 (yes, it's that old) in DOSBox Daum which actually worked a lot better than you'd probably expect. I had custom joystick controls that allowed me to swap ports, swap disks, fast forward, have a dedicated button for up on the joystick (useful for platformers), and it had the massive boon of "Maximum 1541 Speed", an awesome auto-warp feature in CCS64. I was relatively satisfied with that collection, but knew that eventually I was going to have to expand it into a larger project. That's what I've been working on for the last 6 months.
For the first month or two I continued to do the same thing I had done with the original collection but simply expanded the library. The further I got, however, the more some things started to creep through and bother me. There were a few things that I just could not remedy no matter what I did. Fairly frequent, inescapable vsync flaws were basically the final straw for me. After literally months of work and an insane amount of testing, I finally came to the conclusion that I just needed something else. It just wasn't where I wanted it to be. I was at about 600 games completed when I decided I was just going to have to burn it all down and rework the whole thing. feelsbadman.jpg
I kindof went back to the drawing board at that point and decided to do a fresh sweep of a bunch of different emulators to see if anything would be satisfactory. I used Vice (both SDL and GTK3), Hoxs64, micro64, C64 Forever, Yace64, Frodo, and several versions of CCS64. CCS64 2.0B in DOSBox was still better than basically all of these options, which didn't exactly bode well. Finally I tried Vice in Retroarch. I love Retroarch and I've used it for years, but computer platforms isn't exactly something that it typically handles all that well, as that tends to introduce a lot of additional complications - it's just not all that conducive of an environment for it. After a fair bit of fiddling, however, I could see that there was real potential there. Something that Retroarch excels at is giving you the ability to custom-tailor your settings for individual games, which is really essential for this project. Fast forward a couple weeks and I had something working really well that was actually shaping up to be what I wanted.
Something you have to understand about the C64 is that its library is absolutely massive. There are literally around 30,000 C64 games. To put it into perspective, if you took the entire libraries of NES, SNES, Genesis, N64, Dreamcast, Playstation, and Playstation 2, combined all the games together and then multiplied them three times it still would be less games. Think you have a hard time deciding which Playstation game to play? Try diving into the C64 library some time. It's insane. My goal with this project is to bring some semblance of order to all that chaos, while providing a play experience that's as simple, streamlined, and pain-free as possible.
Gamebase64 is a collection of essentially every known C64 game. It's one release per game (often times several different cracking groups would release their own version of any given game, in some cases with 10+ groups releasing their own version of the same game), although it does include alternate regional/language versions as well. The end result is about 27,000 games in the library. It's an incredible accomplishment and an awesome resource, but it presents an obvious problem - where do you even begin with all that? For every Last Ninja or Bruce Lee there are at least 10 games that look like this.
This presents a ton of noise to have to filter out. Sure, you could find a top 50 or top 100 list of "greatest C64 games of all time" or some such and call it close (even though you honestly can't even begin to scratch the surface with that few games), but I wanted to do a genuinely deep dive. It's a platform I've loved since I was a kid, and one that I want to help more people experience, including lesser known games; the C64 is packed with hidden gems that have never had the honor of finding their way into some paltry little best of list. When I was a kid, I had the benefit of having literally boxes and boxes full of generic hand-written label C64 disks (clearly entirely legit) that I would just pore over like an absolute treasure trove, and I found all kinds of neat and weird stuff. I guess it's all come full-circle.
So how am I going about the selection process? Well, I'm literally going through the alphabetical screenshot folders in the Gamebase64 collection by hand and picking out anything that looks interesting. There are over forty two thousand images in there... I'm currently making my way through "K". To put into perspective the amount of filtering I'm doing, there are 9227 images between # and C, and I have 773 games in the collection within that range. Once I find a game that looks interesting, I don't actually pull out the Gamebase64 version (not typically anyway). I source most of the games from csdb.dk because I like to individually pick and choose which group to use (and sometimes there are newer/better versions than what's on Gamebase64, like an Easyflash version) - I sortof have a mental flow chart of group priority, which is something like Remember > Hokuto Force > Nostalgia > Genesis Project > Excess > Onslaught > Triad > Laxity > Fantastic 4 Cracking Group > Derbyshire Ram > Pugsy > Lurid & Tricycle > Hotline > Ikari > whatever else. Then I set the game up and test it. In some cases there might be some issue with a particular version of a game, like it might not work with True Drive off whereas a different version would (with True Drive enabled, it emulates the original drive read speeds, which is required for some games to work, but results in significantly longer load times), so then I'll try a different version and see if I can get around that. Only 6.72% of the games currently in the collection have True Drive enabled, which means speedy load times for the vast majority of them, and in the cases that True Drive is required, auto-loading savestates and/or auto-warp are often used. In some cases I've gone through 10 different versions of the same game to find the one I want. I also set each game up to use the correct joystick port (which varies from game to game) so you don't have to guess every time you load up a game whether or not you'll need to switch it - it's done for you already. In some cases I'll add in my own custom joystick controls like with Spellbound Dizzy, a game that's ordinarily keyboard input only. I've also mapped a number of handy functions to the controller, but more on that later. Outside of scouring through Gamebase screenshots, I also try to keep up with new releases and updated versions on csdb.dk and add/update games from that on a regular basis. I check latest releases on csdb.dk several times a week.
I'm currently at 3500 games complete and, as I said, I have a long way to go. This is something that I will be continually working on for, very likely, several years. However, I thought this would be a good point to put out a sortof "alpha" release to get it out there for people to play around with, see what they think, and give me some feedback. The full list of all currently available games, along with game-specific notes can be found here:
The collection can be imported into existing Launchbox libraries, but this requires a bit of additional work. I'll be providing some instructions on how to do this and will streamline a separate import-only version in the future, but the current version is just a standalone LB package. You can copy your existing license file, if you have one, into the folder and it'll function just like your normal version of LB. It's functional without that though. If you're really set on importing it into your existing library as-is, we can walk through how to do that.
I've tried to incorporate as many useful functions into the controls as possible. These will take care of the most common situations, but it should be noted that a keyboard is still recommended because you'll need access to things like the F# keys on occasion as well as other specific things in one-off cases. I do include a virtual keyboard key though if you're adamantly opposed to it. You can get by pretty well with the standard control mappings. While the virtual keyboard works in a pinch, you probably aren't going to want to use that for any text adventures (of which there are a few in here)
b1e95dc632