Another day, another interview again! Having interviewed JCorvinus, ItsEasyActually and SonicFreak94 so far, the next one is PkR, and this one is quite a bit special for me.
You see, PkR is the main developer behind Dreamcast Conversion, one of the key mods for SADX players nowadays, as it restores a HUGE quantity of visuals and models from the original Sonic Adventure on the Dreamcast, including enemies, levels, adventure fields, and even sound effects! (Because yes, there were sound differences too). It was a big part in SADX being restored into a much better port in representing the original incarnation, along with ItsEasyActually’s Dreamcast Characters, SonicFreak94’s Lantern Engine, and other useful things like MainMemory’s Mod Loader (which allowed for both easy mod support, and things like higher resolutions).
On top of that, he’s also a reason on why I always was so eager and interested about SADX modding (and its history), since he was the one that not only helped me with SADX 99′ Edition (a texture mod project from 2016 that intended to make SADX look like DC; he contributed with actual model ports), but also introduced me to the X-Hax community, where I saw so many cool things!
With all of this said, it was great to reach him out for this, and I also consider him a good friend of mine (though I was a bit absent myself from X-Hax these years) since that time; and of course, I admire all the research he did and making that dream I had of restoring Dreamcast levels into SADX a reality. So I hope you get to enjoy this one!
This interview was conducted on May 09, 2020.
First of all, thank you so much for this chance; I really admired all what you did in that mod, as well as how early you were attempting it. I always considered very cool not only that you were able to slowly restore from objects to whole levels in SADX from the Dreamcas,]but also things like the Title Screen and DLCs! And many others have been very happy as well with it as well.
My pleasure. It’s been quite a journey, hehe. I didn’t anticipate that DC Conversion would grow to become popular outside of a small circle of modders, and that it would lead to many other SADX-related projects as well.
What can you say about yourself to begin with?
I’m just someone who enjoys SADX modding as a hobby. I’m also a bit of a perfectionist, I guess. I like sweet stuff and watching the night sky. Don’t know what else to share about myself lol.
What could you say you are skilled with?
I’m a humanities person, but I’ve always liked looking at the technical side of how games work, especially with Sonic. I learned a lot when I was working on a Sonic fangame, and even more when I worked on SADX mods. I like to think that I’ve gained some reverse engineering and programming knowledge from all this, although I’m by no means a real programmer.
Outside of SADX, I would say I’m generally good at learning languages (or at least I was when I was younger). I have several years of experience as a translator/interpreter, and learning other languages has been part of me for a long time.
What is the programming language you prefer the most?
I only program to make mods or SADX-related tools, so C/C++ is the obvious choice here, but I can’t say I really know it. You don’t need to know a lot of C++ to make SADX mods, and I have no interest in becoming a programmer. I learned the NSIS scripting language to make the SADX Mod Installer.
Apart from that, I use Clickteam Fusion a lot. Sure it’s not really programming, but it’s good for prototyping stuff and it’s easy to make GUIs in it. To conclude, I think C/C++ is what I’ve used the most so far.
What was your first experience with Sonic?
My first experience with Sonic was… not actually a Sonic game. When I was little I had an NES/Famicom, and I only saw Sonic in TV commercials. I thought Genesis graphics looked cool but I didn’t get to play it until I was older. My first experience with Sonic, if you can count it as that, was an NES bootleg game called Somari, which I had on a cartridge as a kid.
I knew it was supposed to be Sonic and that it wasn’t officially on Nintendo. I liked the music in Green Hill, and I felt there was probably more to it than there was in Somari. When I was 13, I got ahold of the Gens emulator and a bunch of Sonic ROMs, and that was when I played real Sonic games for the first time.
Since how long have you been part of the (online) Sonic community?
I distinctly remember writing a self-introduction on Sonic-Cult forums (and getting accepted!) when I was in junior high school, so that must’ve been sometime around 2002-2004. I wasn’t particularly active there though. I became more active when I found out about fangames and SFGHQ and decided to join, which was probably in 2003 or so. I was also a member of a Sonic forum called Sonic-World, which I think I joined in 2003 or 2004.
It’s hard to comment because at that point my English fluency wasn’t great, and I remember things only vaguely apart from the fact that I joined it. Sonic-Cult felt a bit funny, like a place where you could be edgy and swear and talk as if you were an adult. It also had a bit of an “elite” atmosphere to it, like it made an impression that you could only join if you were “legit”.
SFGHQ definitely felt more open in this regard, it was a friendly and fun place to talk about fangames, and I made a couple of acquaintances there. Sonic-World is a Russian Sonic fansite, which changed hands recently but it still exists today.
How would you describe the scene of SADX modding in those years? Do you remember any details of the first mods?
I remember playing some early SADX mods from 2005 or so, but I wasn’t really into them at that point. There was definitely a scene (which other x-hax people can tell you about in greater detail) but I wasn’t part of it at the time. I was more interested in fangaming, which was my main Sonic-related activity in 2003-2012.
I also remember exchanging emails with MainMemory and SonicFreak94 back in 2012 regarding differences between SA1 and SADX and the possibility of restoring Dreamcast stuff in the PC version. It was around the same time I joined Sonic Retro and did my first experiments with SADX level replacements, which were somewhat successful thanks to MainMemory’s help.
Other than that, I remember a Dreamcast character model port and a whole bunch of “original character” mods, which I couldn’t really get into. There was also an “SADX MIP pack” mod, which added mipmaps to most textures in the PC version. It improved the look of the game a lot and I think it was one of the essential mods before the Mod Loader.
Around what time you joined X-Hax (and can you comment about your mainstay in there)?
It was in summer 2016. I was running out of trial posts on [Sonic] Retro, and SonicFreak94 suggested I join the IRC channel to continue the conversation about Dreamcast lighting. It was a lot of fun (and still is) talking with SonicFreak94, MainMemory, ItsEasyActually and everyone else discussing the secrets of SA1/SADX and the Dreamcast. Everyone’s been nice to me, and I’m happy to be part of it. It was also nice when you dropped by, and I miss those early days.
What or who inspired you to start hacking Sonic Adventure DX?
I tried to mod SADX twice in 2012 and 2014, but I didn’t get very far with it and gave up because I didn’t know why Dreamcast lighting wasn’t there. In summer 2016 I saw your post on Sonic Retro about your ’99 Edition mod. I took interest in it and decided to share my previous attempts to restore Dreamcast stuff in SADX with you and everyone else on that thread. Then in an Autodemo-related topic I saw a post from which I learned that PL and SL files were related to lighting in the Dreamcast version. The PL file format (which is extremely simple by the way) was the first format I’d ever reverse engineered. I made a viewer (and later editor) for it, which eventually became PL Tool. By the time SF94 told me he was working on Dreamcast lighting restoration for SADX PC I knew I should restart my attempts and create something bigger.
My first mod was the Chaos 0 level restoration, and that was where it all began. When I realized how much custom code would be needed, I decided to work on my own instead of making updates for SADX ’99 Edition, which relied only on file/texture replacements at the time. Eventually there were many individual level mods, and it felt natural to combine them into some kind of Dreamcast level pack. So that was how Dreamcast Conversion was born.
To sum up, I’d say my biggest inspiration to start hacking SADX was SonicFreak94’s commitment to restoring Dreamcast lighting. But your thread on Retro and your ’99 Edition mod was what got it all going, it made people talk about it. While I’m sure it would’ve happened at some point either way, if you hadn’t made that thread, who knows where Dreamcast mods would be today?
What were the tools that you often used to develop your mods? And can you comment about how you converted data from the Dreamcast version to SADX PC?
I remember that it involved using some of the tools and hex-editing from what you had told me before, and the mods were compiled with Visual Studio. (And just by chance, how did you figure that out?)
I mostly use IDA to look around the SADXPC disassembly and Visual Studio to develop mods. When I started work on the mod, the level format was already figured out, and it was pretty much the same between SA1 and SADX. Apart from patching a few texture-related things that MainMemory taught me how to fix, it’s not particularly difficult to get an SA1 level working in SADX thanks to SA Tools.
However, getting the DC level functional in SADXPC is only the starting point. The PC version has a lot of not so obvious but very important technical differences, which prevent Dreamcast levels from looking or working correctly, so I had to fix a lot of things.
For example, one of the biggest problems I ran into was related to transparent polygons and textures with alpha channels. The Dreamcast’s GPU had a unique hardware feature called order-independent transparency, which allowed Dreamcast game developers a lot more freedom in how they built their renderers and assets in comparison to other consoles and PC games. So using SA1 assets in SADX without touching them up causes visual glitches, with stuff becoming invisible at certain angles, being opaque instead of transparent, or clipping where it shouldn’t be.
To fix that, I made a lot of changes both to the assets themselves and to how the game renders them. For levels and object models, I mostly did it by sorting their mesh order to make sure transparent stuff would always render last. I also hooked the game’s rendering functions for many ingame objects to force some transparent models to render with a specific “depth” or in a specific order so that I could control how they should blend with other models. I learned how to do most of this stuff from SonicFreak94, who was very kind to explain how certain things work, and guided me around the disassembly.
The above is only one example of what needed to be done for SA1 levels to work properly in SADX. There are also collision problems, code bugs in SADX, material issues, different fog settings, things that were removed entirely, the list goes on… Restoring Dreamcast stuff in SADX is still an ongoing process, and we learn something new every once in a while. I figured it out mostly by poking around with code and learning how SADX works from the disassembly. x-hax is a very helpful place to learn about it, too.
Some people might think that Dreamcast Conversion is just a simple texture replacement to make SADX levels look like SA1’s, but there’s a lot more to it. It replaces pretty much every single area in the game, it restores over 800 models from the Dreamcast version, and it contains a large amount of code-related fixes, as well as custom code.
What can you comment about the programs/tools in SA Tools?
They were absolutely essential in getting the original DC asset porting work done. The split tool was what I used the most to extract assets from both games, and back in the day I used to run two instances of SADXLVL2 side by side to find names of level pieces I needed to edit in my mod. Last time I did that was during a complete overhaul of the mod last year. I also used SAMDL a lot to look at object models. There are also some older and custom tools I’ve used in my porting work that aren’t part of the SA Tools.
Sometimes I wish I could make my own SA Tools, or at least change some things about them, particularly in the UI. But I don’t think I can right now. Maybe someday, when I have enough programming knowledge to make something like that on my own. I have contributed a little bit to the SA Tools, however. For example, I edited an old tool called CompilePVM and made PVMTool, an archive editor that worked with untouched PVR textures that I needed for Dreamcast Conversion. Later MainMemory updated it to support GVM, and now it’s ArchiveTool in SA Tools.
Occasionally I also make small contributions to mapping out data in SADX and SA1, since I have a lot of information on that in Dreamcast Conversion.
Nice! Were your first attempts on Dreamcast landtables your first mods in SADX? Or had you attempted something else before?
I think I tried some texture replacement before that, but I quickly gave up on it because I realized the actual level models were different. So yeah, I think the landtable/level model replacements were my first mods.
Which others were working with you on Dreamcast Conversion?
Although I’ve been working on the mod mostly on my own, a lot of people have made contributions to it over time. You probably remember your old title screen replacement, which was part of the mod for a while until I made my own. A friend of mine drew a few textures for the “SADX Style Water” option. McAleeCh recreated the Dreamcast version’s intro in higher quality (with Windii’s contributions as well). supercoolsonic provided SET files with fixes for some of the issues affecting the original DC version and some optimizations. Sonikko contributed several framerate-related fixes. Speeps offered help with some Japanese assets. GerbilSoft went through the code of my mod and optimized it. The x-hax regulars have also helped a lot here and there.
What can you comment about your site, Dreamcastify?
Dreamcastify is a site that I’ve worked on together with Speeps and Sonikko (and @spookmeman, who offered some miscellaneous help). To put it simply, it’s an attempt to document all SADX downgrades and changes from the Dreamcast version, which, as I argue, make the game a lot worse up to completely misrepresenting the Dreamcast original.
What did you think of the two other big projects for restoring Dreamcast assets? (Characters and Lantern Engine)
In my opinion, Lantern Engine is hands down the biggest achievement in SADX modding ever (other than the Mod Loader itself of course). It’s absolutely incredible and I can say for sure I wouldn’t have made Dreamcast Conversion if Lantern Engine didn’t exist. SonicFreak94 is a genius. I am also very proud to have been involved in Lantern Engine’s development, although SF94 obviously did the main work. Lantern Engine is something I love and care about a lot.
I also love ItsEasyActually’s Dreamcast Characters mod. I’ve always wanted to have Dreamcast characters back in SADX, and he brought them back, complete with proper vertex welding and mouth animations. Back when the mod wasn’t public, a lot of people asked me to add character models to Dreamcast Conversion, but I decided not to look into it because I knew ItsEasyActually was going to do it. I’m happy he delivered such a quality mod. I’ve made contributions to his mod as well, mostly lighting-related, and some code changes/fixes.
I’m also very glad to have seen both happen; I still remember when we were handed over some test builds for Lantern. I still wonder when exactly was the first test build done but I guess that SonicFreak94 would know better. (lol)
It was probably August 2016 or around that time, he started prototyping it when I figured out the format of PL files. But yeah, it was a long time ago, need to check IRC logs to confirm lol.
I’m aware that, on top of Dreamcast Conversion, you also were working on Sound Overhaul (which could be considered part of that mod at this point), which restored many of the original Dreamcast sounds; and that the last update (which was pretty recent) used HQ recorded audio from the Dreamcast. What can you comment about that?
Sound Overhaul is Dreamcast Conversion’s companion mod, it’s like Dreamcast Conversion but for sound. SA1 and SADX have a lot of sound differences which are caused by both programming differences and the format of the sounds themselves. It’s definitely a challenge to make SADX sound like the original game.
The main difficulty here is the Dreamcast version’s sound format. Like other Dreamcast games (such as Skies of Arcadia), it uses MLT files, which contain sequenced sound effects. There’s currently no proper way to extract them on PC, but there are some workarounds.
Versions 1 and 2 of Sound Overhaul relied on a set of scripts (from kingshriek’s page) that rip the Dreamcast version’s MLT files to create miniDSF files, which are playable in Winamp and foobar2000 when you use some specific plugins. But the sound produced by those plugins isn’t accurate to the Dreamcast’s sound chip. The plugins attempt to emulate it, and sometimes it results in audible differences (such as clicks, faster/slower sound or missing effects) or the whole sound turns into random noise. In version 2 I tried hard to combine the best possible results produced by two different plugins (aoDSF and HighlyTheoretical), and for the time I think it was quite good.
How version 3 came to be is an interesting story. At some point we noticed that the Dreamcast SDK contains source code samples that are meant to play sounds. Exant and I figured out how to compile those samples, and I ended up making a full-fledged MLT soundbank player that worked both on an emulator and on a real Dreamcast.
My first idea was to use that player and record sounds on Demul. That worked, but I wasn’t very happy with the results, especially after I found out some sounds were still different on hardware. So I decided to record the sounds directly from a real Dreamcast. However, recording straight from the Dreamcast without any hardware modifications meant the sounds would have to go through the Dreamcast’s DAC, and that meant potential loss of quality. So I didn’t know what to do.
At some point I was contacted by Alex/TheLegendOfXela, who had got his Dreamcast modded with DCHDMI for fully digital video and audio. I built a semi-automatic version of the MLT player for him, and he ripped the sounds for me. Like with version 2, I had to adjust the volume of many sounds manually to make them sound right (to my taste) in SADX. I also had to re-loop each looping sound manually, though the tool called LoopAuditioneer made it a lot easier. Then there were issues with SADX’ 3D sound system, some code differences, sound bugs in SADX etc… It’s quite involved. It’s kinda like Dreamcast Conversion, with a lot of hacks and fixes for the vanilla game.
Fascinating! Have you worked (or are working) in any other mods?
For SADX, there are quite a few… I’ve made HD GUI (which became sort of a team project with a lot of contributions from other people), SADX Debug Mode, the Dreamcast DLCs mod, the Keyboard Remapper mod, various smaller mods like the Time of Day mod… You can see most of this stuff on my GitHub page. I’ve also made contributions to other people’s mods, for example SF94’s Input Mod. I’m working on several projects right now, some of them aren’t mods but most of them are related to SADX in some way. And I still update Dreamcast Conversion every once in a while, this is my main project after all.
Any details or comments about your other projects?
Uhh… I’m not sure which one to talk about. I guess I could give you a quick preview of an upcoming update for SADX Mod Installer, which will work together with the Input Mod and let you customize keyboard and gamepad controls in SADX.
Here’s something completely unrelated to SADX, I like taking pictures like this:
Woah! That looks fantastic! Do you post those somewhere?
Not really, but I do sometimes share them with friends in real life. This is just a small side hobby, I’m not really a photographer.
Well, that’s pretty nice! Stuff like these is why I’m always interested to know about people like you. Like many others, there’s always something else for everybody. Just got reminded of inolen (redream developer; he also did motorbike stunts, which I consider pretty insane); but yeah, good for you!
For me, SADX is like an escape. I can come back home after work, sit down, log in on GitHub/Twitter/Discord and completely immerse myself in whatever I’m interested in at the moment. Nobody on my Twitter cares what I do in real life when I make mods. And it works both ways – when I get sick of SADX, I can just log out and get back to real life, which feels very refreshing.
On the topic of emulators, what would you say that are the emus that have impressed you the most? And how would you say that Dreamcast emulators have helped with Dreamcast Conversion?
Demul is what I’ve used the most in figuring out the Dreamcast version’s sound system and the SL Lights system (a component of SA1 lighting that isn’t implemented in the Lantern Engine mod yet). Demul certainly has helped a lot with DC Conversion’s development, not just in figuring things out through Cheat Engine, but also simply in comparing the modded game against the Dreamcast original to see what remains to be fixed/restored.
While it works, Demul has a lot of quirks. The redream emulator that became more popular a couple years ago is very impressive, and I’ve been watching its development because it may eventually present a nice alternative. As of now, it’s still not as accurate as Demul in the sound department, but it runs very well and has the nicest UI I’ve ever seen in an emulator. It feels like a very competent, professionally designed product, and I bought the premium version almost instantly. Earlier versions had a very cool debugger, which helped me understand a few things about the SA1 sound system.
I actually chat with inolen sometimes, he’s been very helpful in matters related to both Dreamcast emulation and just figuring out some things specific to the Dreamcast version of SA1.
I enjoyed a lot the days in X-Hax, and also enjoyed the chatting times I had with ya; I’m really grateful for both what you had taught me back then and for what you did now. Like, it was so cool to talk about that and I always felt flattened in how, all these big efforts came from Dreamcast Conversion, which came from my small project with texture replacements from the Dreamcast 🙂
Well, you should drop by more often, we’re still here and we talk about SADX every day :p
Thanks! What other games have you modded or tried modding? Any games with level editors you have messed with?
When I was little I messed with Doom, Duke Nukem 3D and Quake 1/3 a lot. I briefly considered getting into Rayman 2 modding but I lost interest in it because it seemed a lot less researched than SADX, at least the last time I looked into it. I want to make a level editor for 2D Sonic fangames someday.
Interesting! On the topic of Sonic, what are your favorite games in the series?
In 3D games, you can probably guess. Sonic Unleashed is my second favorite 3D Sonic game. I also like the music and the art style in Sonic Jam, Sonic R and Sonic 3D Blast (Saturn/PC) a lot.
In 2D games, my favorite is probably Sonic 2, with 3(K) being a close second. I also like Knuckles’ Chaotix on the 32X, again for the soundtrack and the art/graphics.
Just by curiosity, where is your profile picture from? Did you or a friend draw it?
It’s from a manga called “Keroro Gunso” (“Sgt. Keroro”, also known as “Sgt. Frog”). It’s a comedy manga (and also an anime) about alien frog invaders that came to conquer the Earth but ended up befriending humans and living with their families. I used to watch it a lot, I enjoyed the humor and the music, and the characters are very cute.
I found this picture on some random site on the Internet many years ago. I think it’s cropped from a page in the manga.
What other mods have you tried for SADX? Any impressive mention?
I’ve been very impressed with Kell’s Sonic Heroes mod. It’s completely insane, it does a lot of crazy things to get Heroes levels and objects working in SADX, and I can appreciate the technical aspect of it. The Chao Gameplay mod is also quite crazy. I also like Exant’s mods a lot, and I hope he will be the one to make a proper Dreamcast Chao restoration in SADX. Finally, I follow supercoolsonic’s mod “Fixes, Adds and Beta Restores” for prototype stuff and bugfixes, some of which overlap with what I want to do in Dreamcast Conversion. I contributed to his mod a little, and he let me use some of his stuff in Dreamcast Conversion. We help each other out.
Did you remember checking out JCorvinus mods back when they were out? Like Sonic RDX and Mushroom Zone?
I remember playing them when they were released. They were quite impressive considering SA Tools and the Mod Loader didn’t exist at the time.
What did you think when I reached out to you for this interview?
I was happy, and I’m especially glad that you’re doing this with multiple people to get different stories and perspectives that form a bigger picture. I’ve never been interviewed regarding my modding work before. Also, I look forward to your interview with SF94.
I’m really looking forward finishing my article documenting the history of SADX Modding; I always was intrigued by how much was done all these years, and that’s all thanks to you too, who brought me into X-Hax in first place and made me meet everybody there.
There’s a lot of stuff going on in SADX modding, and I’m glad to have been part of it. I’m also glad you were there for a while. I hope you consider rejoining and making C++ mods someday – we need more SADX modders.
Do you have any greetings or special thanks for someone? Have a message for the Sonic community?
I’d like to thank everyone who plays my mods, and everyone who has helped me make them. I appreciate all the feedback and help I’ve received on my mods and other projects. I’d also like to thank SF94 for being so fun to chat with, for making Lantern Engine and many other things, and for the existential comments that cracked me up when I stumbled upon them in the disassembly.
thank you so much for this opportunity! It really was amazing to see these past 10 years with constant improvements unfolding so often. And of course, to see Dreamcast Conversion slowly being a thing with all of your early contributions to SADX 99′ Edition until they became part of something much bigger than what I planned.
No problem, and thank you for doing this. I appreciate your efforts to document the history of SADX modding and I like that you’re including different perspectives in it.
Thank you so much for reading this, and I want to give special thanks to everyone that has been supporting me, as well as sharing my stuff with others; and of course, BIG BIG thanks to PkR and all the other X-Hax members for the wonderful history I had watched unfold with SADX (and that I’m documenting right now). Hopefully I will be able to finish that article in these days before I get caught by homework, so stay stuned for that one, and see you later!