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

Project TWANGO

Recommended Posts

Remember DWANGO? No, not the Doom WADs, the dial-up service. And y'know DOSBox? In comparison to most source ports, finding a person to play with in DOSBox has always been a challenge. You have no immediate chance of finding someone to play over the internet with you without seeking people out on forums, Discord, or IRC. There's no DWANGO anymore to look for players and servers with, so the appeal of DOSBox multiplayer has, unsurprisingly, faded into small niches.

 

Enter TWANGO. TWANGO is a take at not only reviving the DWANGO service into the emulation age, but to make DOSBox multiplayer more accessible to all, newcomers and veterans alike.

 

Our goals for TWANGO are as follows:

  • Connection over DOSBox's IPXnet tunneling through TCP/IP
  • Support for connection via real hardware and virtual machines like PCem through @fraggle's Dali
  • Compatibility with all of DWANGO's originally supported titles
  • A common medium for finding players to play with in DOSBox
  • Any other ideas that may come up along the way

 

Now, our call to action.

If any of you have any programming skills in relation to DOS programs, DOSBox, IPX emulation/tunneling, general networking knowledge, decompiling, or anything of the sort, please join us at https://discord.gg/vaFTspN and give us a hand!!

Edited by OpenRift

Share this post


Link to post

I know sometimes fraggle used to host vanilla Doom servers, though I don’t know if he’s done that for a while. Some sort of vanilla servers browser, with pre-launch chat available, would be fantastic. It’s funny, just the other day I was thinking “how hard would it be to make a server browser that runs in DosBox?” and now here’s this thread!

 

Probably old news for DosBox doomers, but xttl’s fixed ipxsetup.exe from 2016 allows -extratics and -dup 2 which make laggy connections much more playable. I heard that the DWANGO launcher automatically enabled these commands to help with the latency issues. The old version of ipxsetup was not able to take advantage of these commands.

 

I hope to see more people getting involved with this, the thought of a browser that runs in DosBox has always appealed to me.

 

You might find some interested parties in the Chocolate Doomslayers discord too!

 

Share this post


Link to post
15 hours ago, Doomkid said:

I know sometimes fraggle used to host vanilla Doom servers, though I don’t know if he’s done that for a while. Some sort of vanilla servers browser, with pre-launch chat available, would be fantastic. It’s funny, just the other day I was thinking “how hard would it be to make a server browser that runs in DosBox?” and now here’s this thread!

  

Probably old news for DosBox doomers, but xttl’s fixed ipxsetup.exe from 2016 allows -extratics and -dup 2 which make laggy connections much more playable. I heard that the DWANGO launcher automatically enabled these commands to help with the latency issues. The old version of ipxsetup was not able to take advantage of these commands.

  

I hope to see more people getting involved with this, the thought of a browser that runs in DosBox has always appealed to me.

 

You might find some interested parties in the Chocolate Doomslayers discord too!

 

I did find some people that were interested, one of which being the developer of a DOSBox fork, DOSBox-staging. I did advertise in the choco discord among a great many others.

Share this post


Link to post
5 hours ago, Redneckerz said:

Does VanillaDM help here?

Love the name.

Well right now we're working to have it all run in DOS, thanks to the guy who made this, the project has become very much plausible. Our (my) original vision of reverse-engineering the original DWANGO client to be a front end has been pushed to the side until we can find someone up to the task, because Scott, having created the predecessor to DWANGO has some um... feelings against DWANGO, so he's making his own front-end. However, he is allowing us room to have custom clients interface with the middleman/backend, so TWANGO Classic, as I've come to call it, is still a possibility. 

 

Also @Baratus II proposed the idea of a Win32 client reminiscent of DWANGO95. It's a definite maybe, albeit very low priority, because that could be a lot more work to get things properly interfacing between Windows and DOSBox. Or it could be a client designed for Win9x that would connect to TWANGO servers via Dali and launch DOS games natively. I don't know.

Share this post


Link to post

I made a Doom and Doom2IPX game dll a few years ago, and actually works pretty well, it of course also uses DosBox as the primary engine for IPX emulation. The concept is similar but in this case it uses Doom Connector for its frontend.

However the real reason for my post is this: I was looking at some BBS software that uses modern connection emulation to host an actual BBS. This was awhile back and at the time I had an idea to achieve something very similar to the TWANGO project mentioned in this very thread, though some years ago. The BBS software can be found here, if it could be of some help.

Here's also a list of currently running BBS's. ;)  

Share this post


Link to post

UPDATE: Due to some recent difficulties, our lead programmer is in need of a "C++ Guru" for assistance with various issues. If you or someone you know fits such a description, join/tell them to join this discord

Share this post


Link to post
6 hours ago, OpenRift said:

UPDATE: Due to some recent difficulties, our lead programmer is in need of a "C++ Guru" for assistance with various issues. If you or someone you know fits such a description, join/tell them to join this discord

 

It might be a better idea to just pose the questions here so that a wide array of people can attempt to answer

Share this post


Link to post

AH HA!  I finally managed to get logged in here again!  I'm the "lead programmer" mentioned above.  I don't really have any specific issues other than there's now a "subproject" (if you will) of the main client and I would like help with it so this can go online before the end of time.  :-)

 

I've basically broken the GUI toolkit off of the main client and set it up so it can run on both DOS and Linux.  I'd like help finishing this up.  Once our screens aren't so ugly, we can start showing things to people. 

 

And, it's not like we're writing an entire GUI.  We're just providing a "driver" for FLTK that is shared by both OSs so it behaves the same on each.  That allows us to debug and test with Linux and see the same thing we'll end up with in DOS.

 

Basically looking for someone good in C++, ideally on Linux, and even better if they have familiarity with SDL2.

 

Also, unlike most internet pie-in-the-sky projects, this one is entirely do-able and will be done.  I actually know what I'm doing.  :-D

Share this post


Link to post

Wait, how did you figure out building ISO C++ for a platform like MS-DOS? Did you use the OpenWatcom compiler? That thing still requires local variables to be put in the start of functions, like truly pre-C99 stuff. Or perhaps you use DJGPP? I don't know if people still use that thing. Or perhaps you build a freestanding x86 binary, like a .COM file.

 

I've used SDL with C, but not really used C++ that much. I have done C++ stuff in the past, and the classes might actually be nice for stuff like dynamic dispatch, say, should we ever need multiple possible backends for a connection handler, like dunno, if we wanted users to be able to join via the network (serial/TCP), or register via web (HTTP).

Share this post


Link to post

Using OpenWatcom 2.0 beta.  It's not bleeding edge but it's good enough to handle what I need.  I've been able to compile a surprising amount of modern code with it.  At the moment I'm trying to work out some memory issues with FLTK and then we'll be back off and running.  Drop by the Discord!

Share this post


Link to post

Ah, that's interesting. OpenWatcom is indeed a surprisingly standardized and just overall good compiler, all things considered. True to its legacy, I'd say!

 

Are you sure you can get FLTK to work with VGA? Like, directly into the framebuffer? It definitely is a fine library, and I find its minimalism often turns out to be a big plus more than anything else. But it might be necessary to write support manually if you want to draw widgets or even windows directly in the framebuffer. I still think it could turn out better than using an existing alternative, like perhaps a weird TUI dialog library, or even something silly like some ancient version of Allegro.

Share this post


Link to post

I already have it working, although with some bugs (RGB byte order, some pointer fubars, etc).  This is what I want help with.  I've taken the DOS port and merged it back into the FLTK master branch code.  The DOS port I am using provides the low-level hardware access for reading the keyboard and mouse as well as the VESA SVGA code to draw to the screen.  However, it also uses 8.3 filenames which there's really not a need for during development.  So I took the FLTK "driver" bits and made them work with the master branch of FLTK 1.4.  Then I simplified the driver by removing the legacy Allegro code and only leaving the new SVGA code.  Finally, I took the low-level DOS stuff and split it off the driver and wrote Linux stubs for all those functions.  The end goal is to have a driver for FLTK that runs on both Linux and DOS so I can debug and enhance it using modern tools on my Linux box.

 

It's getting there.  But I'd love help! 

(Also, FYI, there's a lot more complete than just a broken GUI port.  The client and server communications, security as well as a bunch of database features and such are in place and working.)

Share this post


Link to post

Just a follow up...   We're moving again!  A large amount of the DOS UI code now runs under Linux where it can be properly debugged and enhanced.  Drop by the Discord!

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
×