The amount of games that can be played online on our precious Dreamcasts has increased significantly over the last few years. This is due in large part to a man known as Jonas Karlsson, better known as Shuouma around most parts of the internet. Some may call him a magician but I think that may be selling him short. Shuouma is responsible for reviving four online games in just the last year; these games include ChuChu Rocket!, The Next Tetris, PBA Tour Bowling 2001, and Worms World Party. Not only that but he played a huge part in helping Petter3k with Alien Front Online and released improved and more stable servers for Planet Ring and Starlancer. I think it's safe to say that Dreamcast fans owe this man a huge thanks!
So who is Jonas Karlsson? What makes him tick? Let's find out!
Q: Let's start off with your history with the Dreamcast. Did you own one back in the day? What are some of your favorite games on the console?
"I did own a Dreamcast back in the day. I’m a big Saturn fan so it was a natural transition to upgrade to the Dreamcast.
My favorite games on the console have changed over time, but back in the day I played Crazy Taxi, Soul Caliber, Resident Evil: Code Veronica, Blue Stinger and Sega Rally 2."
Q: Did you play any of the online games? If so, what were your favorites?
"No, this is also a driving force why I want to bring back online games. I want to experience a missing piece, from my point of view, of online history."
Q: Do you consider yourself a retro gamer? You obviously have a passion for the Dreamcast but what other consoles are among your favorites?
Q: Moving on to your recent work restoring Dreamcast game servers. What got you started doing this? What was the inspiration behind it?
"I don’t remember why but I started searching for “Dreamcast online” and found a thread regarding Kazade’s work with the DreamPi. After following the provided guide I managed to connect to the PSO server. I also had the Q3 PAL version and I didn’t understand why I couldn’t get it to work, so I started searching again. I found a thread where Kazade was trying to reverse the Dreamarena protocol, which is needed for Q3 PAL and Toy racer (dialup). In the thread people stated that it was already reversed but seemed unwilling to share the knowledge. So I thought, hey, I would like to give something back to Kazade so I reversed the Dreamarena protocol. After that I just kept going and continued with getting ChuChu back online."
Q: Developing replacement server software from the ground-up with no access to the original source code is no easy task. Can you give us an idea of what the process is like?
"It is almost like a puzzle, trying to fit pieces together and hopefully you will see a pattern emerge. But I can give a quick breakdown of the steps:
1. Find out which hostname/IP and port the game tries to connect to.
2. Set up so the game connects to a local server with a service listening on the specific port.
3. Investigate the packet structure.
4. Try to understand the assembler code of the game and find a red line. Try to locate where the game parses the received packets.
5. Research if there are similar games from the same company released during that period and maybe on a different platform.
6. Think, Think, Test, Think, Think
On a side note, we are lucky that a lot of the DC online games don't use strong encryption and use well known software like GameSpy and IRC as their platform."
Q: Your work bringing Dreamcast games back online has clearly shown that you have some mad skills when it comes to software development and networking. Are these things you do for a living or are they more of a hobby?
"I have a master’s degree in Computer Science but I would like to say that reversing is more like a hobby for me and the servers I code are purely done as proof-of-concept and not as a production release. That being said, the code provided is tested for memory leakage and CPU utilization."
Q: What are your thoughts on how developers/publishers handle online games? Do you believe they should release the server software and source code when the servers are taken offline? To me it doesn't seem right for a portion of a game I purchased to just stop working one day.
"I would say as long as the code doesn’t expose too much of the infrastructure it should be available for the public after a certain rest period, at least in binary format. This way it's up to the community (whichever it is) to provide the technical platform to host it. I feel bad for future generations not being able to play certain online games."
Q: So lastly, what games are you working on now? Should we expect any new games to be brought back online in the near future?
"My goal is to bring back two games during 2017. I usually do my reversing during vacations so you never know when I might have a breakthrough. I still think there is a lot of knowledge out there about other games, but people seem reluctant to pass the information forward to people that actually have time and understanding to get the games back online. Let’s hope that will change."
There you have it folks. A look into the mind of a magician. Jonas' work so far is just the beginning. Hopefully one day the entire Dreamcast online library will be revived and kept alive for future generations to enjoy.