Discussion in 'Industry News' started by Ivan GR, Sep 22, 2017.
More info here http://www.thedreamcastjunkyard.co.uk/2017/09/tech-demo-video-taxmans-sonic-cd.html
only downside is AFAIK the dc port of retro engine doesn't support VGA. but his is very cool, the release of the engine only had homebrew levels IIRC
No audio though.
Very cool to see. I'm exciting to see if this can get improved over time.
What a fun project
The video in the first post was recorded from a TV connected via VGA. Also, it has nothing to do with Taxman's original release of Retro Sonic on Dreamcast, this one pure was KOS. It's only compatible with data files from the 2011 version of the game and nobody's made homebrew levels for it yet. (It will require you to provide game data and it will run the game for you, similar to how ScummVM works)
Sorry to bump the thread. I saw that John from DF Retro was working on a Sonic CD episode and did a quick search to see how far last year's video ended up spreading. (I'm hoping he won't find this actually, although it's a shame he's doing a Sonic CD video now since if this was finished he'd probably have found it.)
Eggfan was nice enough to mention not to expect it soon in his news post, and that's still true. I hop between playing games and working on a bunch of different projects all the time, so this one has actually been in the works for over 5 years. I started with an SDL port on macOS, and once it got to the point where it was playable I decided to try to get it running on Dreamcast. The visual problems in the video are all specific to the DC version, it looks fine on SDL. That build is basically a few hundred KB away from being completely out of memory. The mobile versions of CD, since they originally were compatible with first generation mobile devices without support for programmatic shaders, handle color palettes by pre-rendering the same art into 6 different 1024x1024 16-bit textures with different palettes and swapping between the proper texture as needed. That's 12MB of space just for textures, for those who don't want to do the math. With the Dreamcast only having 16MB of memory, that wasn't an option here since you need to fit the game engine, KOS and everything else in memory too. That build just has a single 16-bit 2MB texture with no alternate color palettes and it's a few hundred KB away from a kernel panic due to being so close to running out of memory. I even had to comment out all of the code related to 3D (used for clouds on title screen and the special stages) to get the memory use low enough to run. I started re-writing it to use the Dreamcast's native color palette support which will give me an additional 1MB of memory to work with and that should be enough to fit everything in, but I paused partway through and haven't touched it since last fall.
The primary reason for that was I didn't want to start making huge changes to the DC code before the main SDL version is finished. There were still some weird bugs (most are fixed now) and pieces that I haven't hooked up like actually saving / loading save files. I was hoping to be able to share the code base between multiple platforms, but the DC version requires so much stuff to change that it's going to be easier if I fork it instead. The awful updates to the mobile ports earlier this year motivated me to work on it again for a bit. (They added advertisements for people who purchased the game when it wasn't free, and it's completely unplayable on iPhone X because apparently they never tested it at all and it soft locks half way through the first level) I addressed several things on my TODO list but I still have a few things to finish before it's done and then I can go back to the DC port. At the moment, it's likely I probably won't touch this again until May.
My current plan is to wait until all planned ports are finished (SDL for Windows/Mac/Linux, Dreamcast, maybe web too) and release them all at once, just in case. Sega shouldn't really have a problem with this considering their past behavior; it's a recreation of the engine and requires the original files just like ScummVM would. But since this particular iteration of the game is only 6 years old at this point, I'm not sure if it's old enough yet where developing it in the open would be a good idea yet. The Dreamcast version will probably be distributed as an application that requires you to select a copy of the game that you have (either the Steam port, an iOS .ipa or an Android APK) and it will build a disc image for you. The mobile data files are preferred because the game got several fixes that the PC version never got, and the good news is that even the latest app store version with ads will work fine because the ads are actually added by the app itself and the underlying game data is untouched.
Thanks for explaining the process for this, very interesting read!
You've got to be shitting me. This is what pisses me off about mobile games. Even games that you pay for once to not get ads usually end up getting ads slapped in later when they decide to make it free to play. These used to be excellent versions of the game, now I guess they've gone and fucked it up to try and milk a few more dollars. Fuck the smart phone app industry, fuck it right in the ear.
Good to know this is still going along and may be finished.
Are you planning to do the same eventually with the Taxman versions of Sonic the Hedgehog and Sonic the Hedgehog 2? The situation with those are even worse because of being mobile only. They are in huge need of receiving conversions to any domestic platform, and it seems Sega will never bother to do them for modern platforms, so...
Separate names with a comma.