Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Patrol1985

Can someone explain how exactly DWANGO worked?

Recommended Posts

I know that "out of the box" Doom supported 3 ways of playing:

1. over an IPX local network, up to 4 people
2. over a serial cable connection, up to 2 people
3. over a modem, long distace, but only up to 2 people

So what did DWANGO introduce? Did it allow more than 2 people to play at once via modem connection (like a proper server-client architecture introduced by Quake)?

Or did it automatize the process of searching for a modem opponent (or partner for coop)? As in: you connected to it first, then it searched for other people connected to DWANGO and linked two of you together?

What did it exactly do?

Share this post


Link to post

I had read the first link you posted, but not the second one. Thanks for the link, but I'm still not sure of my question:

Did DWANGO allow more than two people to play together at the same time over the Internet? If so, can it be considered the first instance of such a feature in FPS games (as opposed to Quake, which is usually regarded as the pioneer)?

Share this post


Link to post

Looking at this i suspect it to predate quake its client-server architecture while using the 'pre-internet' ways.
-> you dial to a master server.
-> You get a list of teams and connection posibilities.
-> You enter a lobby.
-> you can play.

If you want to create a team, press F2 and the Create Team panel will come up. The most common default options are listed. You can choose whether this will be a DeathMatch or Cooperative (yeah, right) game, which skill level to use, if you want monsters on the level (no
monsters is the norm), which map/level and episode you want to play, and the team name. You can edit any of these options by using the cursor keys to navigate the panel and press ENTER to change a field. If you want to play a PWAD file, press the F1 key and choose
which PWAD from the list of PWADs that you have. You must have a WADS subdirectory off the current directory you're in to choose PWADs.




*makes me wonder if DWANGO can be hex-edited or used to ''dial'' trough dosbox to a fake master-server system...

Share this post


Link to post
FireFish said:

*makes me wonder if DWANGO can be hex-edited or used to ''dial'' trough dosbox to a fake master-server system...


If there's a modem emulator and/or a way to redirect the COM output outside DOSBOX....

Share this post


Link to post

Hi! This is an interesting question that I'm happy to answer. There's some info in this wiki article:

http://doomwiki.org/wiki/Doom_networking_component

As you know, Doom has these separate ipxsetup.exe and sersetup.exe executables that you use to launch the game. They're each for a "type" of communication - ipxsetup for IPX network gaming, sersetup for serial/modem games. Id actually released the source to them and people made their own third party drivers. For example doomatic is an enhanced IPX networking driver that adds a bunch of stuff like chat and so on. There are also third party drivers that let you do TCP/IP networking. I wrote one myself recently that simulates a netgame on a single computer.

Doom itself has no idea what the underlying transport mechanism or protocol is. sersetup.exe only lets you do two players, but DWANGO was essentially an advanced alternative to sersetup.exe that let you play more than two players over a dial-up modem.

Share this post


Link to post
fraggle said:

Doom itself has no idea what the underlying transport mechanism or protocol is. sersetup.exe only lets you do two players, but DWANGO was essentially an advanced alternative to sersetup.exe that let you play more than two players over a dial-up modem.


If I understand it correctly, it is possible to "fool" Doom into setting up a 4-player game even through a serial cable or modem (which would normally imply 2 players), if somehow the 3rd and 4th players just manage to chime in (e.g. thanks to a modified server, modified drivers etc.)?

Share this post


Link to post
fraggle said:

DWANGO was essentially an advanced alternative to sersetup.exe that let you play more than two players over a dial-up modem.


Thanks for clarification Fraggle! That's actually amazing.

Why wasn't it as popular as Quake then? Did it have something to do with Quake having an "out of the box" client-server architecture?

I noticed that awesome features rarely get popular until they're implemented into software from the get go. If it's an external addon, a mod, or even a patch it won't get so popular. DWANGO is one example, a different one is GLQuake. I remember my "casual" friends noticing hardware acceleration from Quake 2 onwards (where it was available right away), even though it had appeared in GLQuake

Share this post


Link to post
Patrol1985 said:

Thanks for clarification Fraggle! That's actually amazing.

Why wasn't it as popular as Quake then? Did it have something to do with Quake having an "out of the box" client-server architecture?


The explanation lies in its name: Dial-up Wide-Area Network Game Operation.

Essentially, it was limited by its dial-up only nature. Rather than being based on the open Internet, it required a dedicated server, which operated first only in the USA, and then only in handful of cities around the world. And not in the sense that we use it today: they really had to lease a ton of dedicated POTS landlines to actually make it work, not just connect an Ethernet cable to a router!

If DWANGO didn't set up shop in your country/city, you could not use it, period (unless you were crazy enough to pay for an international dial-up call....)

Quake and other games relied on actual TCP/IP-based Internet, instead. If you had an "open" Internet connection, you could play against anybody in the world (matchmaking still required exchanging IPs or using a service, though, but a web-based one, even if a primitive 90s one, was infinitely better than a dedicated dial-up only server).

Of course, for pure DOS games, there weren't many options for using "open" Internet back then. Setting up a network and all necessary drivers was a task that became much easier with Windows 3.11 and later 95, and if you notice, many of the early internet-based "big" multiplayer titles (including Quake, Warcraft II etc.) were used through their Windows 95 versions to play online, rather than their DOS ones (or at least ran in a "bastard" DOS/Win mode).

Share this post


Link to post

Thanks Maes, now I get it. Despite all the limitations and cost it required, I'm still impressed by what DWANGO could do in terms of dial-up connections and multiplayer gaming.

Share this post


Link to post

There were other games that were accessed primarily by dial-up servers, like e.g. Federation II or Air Warrior, that relied on similar custom dial-up server hosting services, such as GEnie, in the era between BBSes and "true" Internet.

In order to play those games, you had to subscribe to a local server hoster (which usually doubled as an ISP) which implemented a particular game, and this pretty much caused segregation by server/country.

This model of dedicated, dial-up servers was entirely superseded by IP-based servers.

Share this post


Link to post
Maes said:

If I understand it correctly, it is possible to "fool" Doom into setting up a 4-player game even through a serial cable or modem (which would normally imply 2 players), if somehow the 3rd and 4th players just manage to chime in (e.g. thanks to a modified server, modified drivers etc.)?

No "fooling" necessary: Doom itself has no understanding of how packets are being transmitted, or that serial/modem games are "supposed to be" two players.

DWANGO is just an alternative to SERSETUP that doesn't have all its limitations.

Patrol1985 said:

Thanks for clarification Fraggle! That's actually amazing.

Why wasn't it as popular as Quake then? Did it have something to do with Quake having an "out of the box" client-server architecture?

I'd say that's the biggest thing, yeah. Authoritative server client-server, like Quake has, is what lets you hop in and out of games while they're running. It also fixes the "gating" where the game is lagged proportionally to the player with the highest ping; in Quake games each player gets latency proportional to their own ping, and other players aren't affected. That's a really crucial thing because it lets you scale up to lots of players.

Plus, things like QuakeWorld, which greatly improved Quake's already-pretty-good networking so that it could run over the Internet in a playable fashion, are what solidify Quake's reputation as the first FPS popular for Internet play.

In a way, DWANGO is a perfect example of the pre-Internet early '90s: another "online service" that you subscribe to and dial into with your modem - kind of like a BBS, or early services like Compuserve or AOL before they just became ISPs.

Maes said:

There were other games that were accessed primarily by dial-up servers

Yes, DWANGO was certainly only one way to do this kind of thing. I recall that for deca.wad we actually recorded the demos via dial-up to some BBS, though I don't remember much about it because I wasn't one of the players who took part in it. I also remember Kali was popular for a short time for playing old IPX games over the Internet. Actually, Windows 95 also made this kind of thing pretty simple to set up, because you could fairly easily configure IPX to run over a dial-up adapter and dial into someone's remote LAN for a game.

Unrelated note:

A few years ago I tried my hand at reverse engineering the DWANGO .exes and figuring out its communications protocol. The idea was that I wanted to make an Internet DWANGO server that you could "dial up" to via DOSbox's modem emulation and play over. Unfortunately my SSD died and I lost all the progress I'd made. But at least I still have these screenshots that show what the DWANGO interface kind of looked like.


Share this post


Link to post

Fraggle, I think if you did more reverse engineering on the Dwango exe, the oldschool players here would love to use it. It was fun playing across that vanilla server you had up, and I think having a built in chat client combined with the novelty of being Dwango would make it much more acessable for others :)

If it sounds like something you'd want to do, that would be freakin' awesome.

Share this post


Link to post
Maes said:

If there's a modem emulator and/or a way to redirect the COM output outside DOSBOX....


http://www.dosbox.com/wiki/Connectivity

forward and open to outside network ;
UDP port is optional. Otherwise it defaults to 213 (the assigned IANA port for IPX tunnelling). If you want another port, for example, port 19900, type:

ipxnet startserver 19900

If you change the default, it's customary to choose something above 1024 as anything below is considered reserved. In Linux specifically, only root (or superuser) can use port numbers lower than 1024.

Whatever UDP port is chosen (including the default), it must be forwarded and open to the outside network if a server is hidden behind a router (NAT).




http://www.dedoimedo.com/games/reviving/dosbox_multiplayer_cont.html

http://www.dosbox.com/wiki/Configuration:SerialPort

serialport ;
Configuration:SerialPort
Jump to: navigation, search

serialX = device [parameter:value]

device can be: dummy | modem | nullmodem | directserial
parameter is: irq
value is:

for directserial: realport (required), rxdelay (optional).
for modem: listenport (optional).
for nullmodem: server, rxdelay, txdelay, telnet, usedtr, transparent, port, inhsocket (all optional).

Defaults:
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

An example of how to configure an actual serial port for I/O use:

serial1=directserial realport:com1


Did anybody here ever attempt to run a comport server using dosbox its emulated systems while routing it to the outside net,
except fragle and his vanilla hosting, because if fragle the code guru knows how to do that then fragle should be able to
get dwango up trough dosbox... :)

Spoiler

also, chocolate doom has 2 servers you can access trough doomseeker but nobody ever seems to play simulated old-school... :/

Share this post


Link to post

London had at least one super-lively DWANGO-contemporary BBS, with ladders, tourneys and dozens of active players. A fair portion of my student loan went to that phone bill. :P

Share this post


Link to post

Heh, reading about all that DWANGO stuff just makes me cringe. I wanted so badly to play Doom multiplayer back in the day, but the options were so limited back then, and of course, nothing was ever simple and straightforward. I didn't really get my first taste of Doom multiplayer until 9th grade, when I managed to get a dial-up game going with a friend of mine at the time.

Share this post


Link to post
Patrol1985 said:

Cool stuff Fraggle! Thanks for sharing. Sorry to hear about SSD going dead though.

That's okay - it was years ago now that it happened. I think there were only a couple of things of value that I actually lost, this was one of them. The other was all my progress at reverse engineering the DMX music code (which could have greatly improved Chocolate Doom's OPL emulation if I completed it).

Doomkid said:

Fraggle, I think if you did more reverse engineering on the Dwango exe, the oldschool players here would love to use it. It was fun playing across that vanilla server you had up, and I think having a built in chat client combined with the novelty of being Dwango would make it much more acessable for others :)

If it sounds like something you'd want to do, that would be freakin' awesome.

Well, maybe. It would have to run over a TCP connection so it probably wouldn't be too good an experience: at the very least, worse than Chocolate Doom or DOSbox's IPX tunnelling.

When my SSD died I had only made a relatively small amount of progress in decoding the basic protocols: I could get it to "log in" to the virtual server and pop up messages (as you can see in the screenshot). I remember that there was a separate mode entirely for actually running the games that I never even got started figuring out. It's slow work digging through assembly code and trying to figure out what it all does, even if you have a good tool like IDA pro.

Also: there are multiple DWANGO binaries. I just picked one from one of the dwango.exe files included in the DOS Doom distributions and tried reverse engineering that. But when I tried getting other binaries to "dial in" to my server they didn't work. Presumably the protocol changed from version to version: DWANGO appeared to have a mechanism where if you dialed up using an old version of the client, it would download a new one and restart.

Basically it's a lot of effort for a dubious amount of reward. Maybe if I'd used DWANGO myself back in the day and had some lingering sentimental attachment to it, I'd be more inclined to try this again. Unfortunately I never actually used it myself.

FireFish said:

Did anybody here ever attempt to run a comport server using dosbox its emulated systems while routing it to the outside net,
except fragle and his vanilla hosting, because if fragle the code guru knows how to do that then fragle should be able to
get dwango up trough dosbox... :)

It's not that simple. All the stuff you've pasted there I figured out, sure - you can use DOSbox's "virtual modem" to "dial up" servers on the Internet. Unless you've got something on the other end to answer the "phone" and speak the right language, there's not a lot you can do.

The DWANGO server code / binaries were never public - they ran on private machines that people dialed up to. What I did was reverse engineer one of the clients and try to write my own server that I could "dial into" with it. But it's a lot of work.

If there was someone formerly associated with DWANGO - for example if they used to run one of the DWANGO servers - who still had one of the old server binaries they used to use, then it would probably be relatively trivial to run it in DOSbox and get games going. But I have no idea how you'd get hold of that or even figure out who ran them. I guess you'd have to know the right people. Perhaps there's someone out there somewhere who still has a copy.

Spoiler

also, chocolate doom has 2 servers you can access trough doomseeker but nobody ever seems to play simulated old-school... :/

Yep, this too. Doesn't help in terms of motivation.

Share this post


Link to post

Sorry for the extreme bump, but it really didn't seem necessary to make a new thread for the same old discussion.

I found this old document floating around on the web: http://www.thecomputershow.com/computershow/news/dwangoasia.htm

Inside we can find an interesting load of baloney:

DWANGOs client/server technology and proprietary compression/decompression software allows DWANGO to match the real-time speed of solo play on a PC, and is equivalent to or better than local area network, modem-to-modem and Internet play.


Really what I'm wondering about this, is just how improved was play over DWANGO compared to just direct dialing your friends? Was this just a load of hooey thrown in for sales, or had they really altered the programs "netcode" (probably not even the right term) so run smoothly, as we do over modern source ports these days?

If we could somehow contact Bob Huntley or one of his then-cohorts, maybe they could provide some interesting insight into DOOM networking and all that sorta stuff? I'd love for a fellow DOOM addict who also has some programming knowledge to get their hands on this "proprietary compression/decompression software" and see just how it compares to what's been done in the decades since.

Share this post


Link to post

@Fraggle, holy shit! Thanks for sharing that. It's a shame that all the work (even if it was a small fraction of the service) put into reverse engineering has now been lost but it's certainly interesting to see how the DWANGO service actually looked. Even if it is just the first bit. Also, nice find, DK.

Share this post


Link to post

For motivation, just think of all the $$$ you'll get when you implement that BILLING! option.

You'll be rich, I tell ya!

Share this post


Link to post
fraggle said:

If there was someone formerly associated with DWANGO - for example if they used to run one of the DWANGO servers - who still had one of the old server binaries they used to use, then it would probably be relatively trivial to run it in DOSbox and get games going. But I have no idea how you'd get hold of that or even figure out who ran them. I guess you'd have to know the right people. Perhaps there's someone out there somewhere who still has a copy.



I would think, if anyone, Romero would likely still have or know of those people involved.

Share this post


Link to post

DWANGO was a franchise of independently owned and operated servers so, it's entirely possible that some of the people who were a part of that still have the equipment laying around collecting dust somewhere.

Share this post


Link to post
Doomkid said:

Really what I'm wondering about this, is just how improved was play over DWANGO compared to just direct dialing your friends? Was this just a load of hooey thrown in for sales, or

I'd say that it was mostly marketing bullshit but there might be a grain of truth.

Playing over DWANGO would mean dialing up one of the DWANGO servers that would route the game data between players, so that would have inevitably introduced some extra lag. Whether it was enough to have any effect on significant effect on gameplay I don't know. Certainly if you and your friend were on the US east coast dialing up to a server on the west coast that wouldn't have been good. It would also have been very expensive (you'd be paying for DWANGO as well as long distance phone charges). If you just wanted to play a two player head to head game, I suspect the best thing to do was just do a direct dial up, cutting DWANGO out of the picture.

Technically speaking DWANGO's biggest strength was its ability to host games with more than two players. It sounds like there was some extra support for compression which may have helped if you had a slow modem. As far as I know Doom works fine on 9600 baud with SERSETUP though so the real advantage is in being able to scale to multiple players (Doom's networking model requires that you send the same thing multiple times to each of the players).

had they really altered the programs "netcode" (probably not even the right term) so run smoothly, as we do over modern source ports these days?

They didn't "alter" anything. DWANGO just used standard doom.exe/doom2.exe. The way Doom's networking code works, Doom itself (doom.exe/doom2.exe) doesn't "know" how the game data is being sent between players. It could be over a serial link (SERSETUP.EXE), an IPX network (IPXSETUP.EXE), the TCP/IP protocols used on the Internet (iFrag is an example), over smoke signals, carrier pigeons, or whatever. The DWANGO client is just a replacement for SERSETUP that tranports the netgame data over the phone line to other players through the DWANGO servers, presumably using a more elaborate protocol than the standard SERSETUP one.

Share this post


Link to post
Quasar said:

DWANGO was a franchise of independently owned and operated servers so, it's entirely possible that some of the people who were a part of that still have the equipment laying around collecting dust somewhere.



I remember Romero posting something about doing the DWANGO software development (though I may have confused it with something else, but pretty sure it was DWANGO) alongside Bob Huntley and the company behind the server leasing. So, if anyone has that source code all these years later, it'd be him.

EDIT: I proposed the question to him if its still available, and if so, is the source still closed source intellectual property. Let's see what he says.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×