make more netlink games?

This is the place for anything about Sega Saturn
Post Reply
segasaturndude
Posts: 147
Joined: Sun Apr 19, 2009 6:21 pm

make more netlink games?

Post by segasaturndude »

would it be possible to study the netlink software so i could make more online games for it? does anyone know how it works? im really interested in this as i could create more online games for it
Welcome to the Real world, Sega Saturn Image
User avatar
Warp2063
League Veteran
League Veteran
Posts: 1594
Joined: Mon Mar 03, 2008 4:28 am
Location: Virginia, USA

Re: make more netlink games?

Post by Warp2063 »

It's definitely possible. However, highly difficult and with a VERY small audience.

Let me count the ways:

1) Studying and reverse-engineering the NetLink communication protocols.
Bad, but not horrible. A fair amount of work has already been done at understanding the memory addresses that control the NetLink. If you want to use the specific NetLink communication protocols (which I don't recommend, for reasons I'll list in a minute), you'll have to reverse-engineer their protocol, which will require you to dig through the disassembled binaries from the NetLink-compatible games. This means tracing uncommented machine instructions through the code and trying to comprehend what it is that a section of code is doing, then finding the ones related to how NetLink games communicate with each other. Pretty painful unless you're already skilled at it. You'd probably be better off designing your own protocol.

2) Current NetLink userbase.
How many people still own NetLinks? Of those people, how many people have them readily available? Of those people, how many people would be willing to use them? Depending on the game, this number might go up, but you'd have to write a pretty compelling game to draw more than a couple dozen users. Look at how small a crowd the XBAND 2.0 project drew, and that one didn't even require that you own the hardware or games.

3) Playing the game.
The only way for someone to play this game would be to burn it to a CD-R. Even if many people owned a 4-in-1 cart and had the ability to load the software onto it, you couldn't use one because it would prevent you from using the NetLink modem. Therefore, the user would either have to perform a swap trick or install a modchip in their system. Modchips for the Saturn aren't very common anymore, and if you install it wrong, you can wreck your Saturn.

4) Current issues with NetLink transmission/communication.
One of the big reasons people don't often play NetLink games today (besides their age and semi-obscurity) is the list of issues the NetLink has with our current telecommunication networks. The NetLink requires a land line, which many people no longer have (having switched to cell phones). The NetLink rarely (if ever) works well over a digital phone line. Unfortunately, many of the "land lines" people have these days are digital, not analog, and analog phone lines are only becoming more rare (and expensive to install if you don't already have one). On top of all this, as there are fewer and fewer users of the Saturn, there are fewer and fewer users close together. This means that almost all calls must be long-distance. The NetLink is only so good with long-distance calls, too.
This is why I recommended you write your own communication protocol. Using the knowledge of the past decade and a half, you could write protocols to better handle the latency and interference of digital lines. Another advantage of using your own protocol is that you can customize it to work well with whatever game type you create. Several of the NetLink games had to be modified from their original versions to make them work with multiplayer over a phone line. And the connection had to be rock-solid to update properly for every frame of the game. You could write your game and protocol to handle situations where the modem didn't receive a response in time for the game to continue, thereby allowing the game to continue on at a normal pace rather than slowing down.

5) Programming for the Saturn.
Assuming you already got past the step of designing a good game, writing it into a program for the Saturn is NOTORIOUSLY DIFFICULT. Whereas most consoles of the time had a single CPU, a display processor, a sound processor, and maybe a few auxiliary chips, the Saturn had TWO CPUs and a myriad of other display processors, sound processors, and auxiliary chips. This made programming for the Saturn VERY difficult, as you had to write code to operate all of them at the same time, and do it intelligently enough that it ran smoothly. At the time, very few people had any experience with programming for two processors. Almost no C compilers existed for the Saturn, and they didn't work very well, so it required many of the developers to write their code in pure assembly... which can be VERY difficult and complex. Even today, there aren't many development tools for the Saturn. Also, as I mentioned that a user of your game couldn't use the 4-in-1 cart to play the game, you couldn't use it for development for the same reason. This means you'd have to run it in an emulator, which may or may not be an accurate demonstration of how your code would work on an actual console.

So... overall, it's a really daunting task. If you're up for the challenge, more power to you. But it's a pretty big undertaking to make a game for Windows. Undertaking that same challenge for the Saturn... is something else.
I have my Saturns, I have some of my games, I have a RasPi. Gotta put all this stuff together!
Post Reply