jimbob, on 16 April 2021 - 03:08 PM, said:
sounds awesome, multiplayer lacking in eduke32 is a bummer and hopefully this sets things in motion
![:)](https://forums.duke4.net/public/style_emoticons/default/smile.gif)
It can.
Excuse my technical-ness for those who are not technically inclined, but I need to explain something.
Tech rant....
Like other duke nukem setups, my code will use the UDP/IP protocol to help with speed.
I dug into source code of commit, and I estimate the normal packet size for Duke Nukem is 2 KB (2048 bytes). For some connections, this is considered a large packet and I read IP fragmentation can be a bad thing. In fact, for just about any connection, this is bad unless you are lucky to have an ethernet card that supports jumbo frames.
This means if someone by chance is (still) on a dial-up connection or uses a standard ethernet connection, then data has to be divided into smaller chunks to be passed over the network. This might be the reason why people complained about lags during gameplay in the past because maybe all the pieces aren't sent as one.
For reference, dial-up maximum data size per send is 548 bytes, and maximum size of ethernet per send is roughly 1420 bytes. For jumbo frames, its well over 8000 bytes.
Now that I said that, and since I can't expect everyone to try to upgrade their hardware to support jumbo frames, I will have to also introduce fragmentation somehow just to allow all data to be sent.
...End of Tech rant
Having said all that, I could implement a game client that would be run completely in DOS. I can enable mouse support in the client. Fortunately for DOSBOX users, the mouse driver is pre-loaded when the DOS session is started, but for those who want to use the client with a mouse from real DOS will need to load a mouse driver (which can be found on many DOS boot disks).
A text-based (yang-replacement) client with colour will be very easy to implement.
One with graphics will take much more work.
Anyway I'll keep working at the commit replacement while dealing with my other obligations. Hopefully I'll come with a testable product in May.
Also, if anyone wants to dedicate their server (preferably a linux one) for the client then that would be awesome because like other chat clients, it will need to connect somewhere to register who is in what lobby and when someone new joins, etc.
Other alternative would be gut-wrenching because it will involve a player's computer constantly scanning every IP address in the universe to see what players are active on the network at any given time.