Hi guys
Any of you still playing arcade emulated old games on pc ? :)
I do, and I would like to create a DLL for network play, like kaillera.
kaillera is dead now, no more updates, and has many bugs.
I am looking for ideas, on how to create this protocol for network play :)
regards
maCo
Posted on 2003-08-04 11:32:02 by maCo
Do you want to use DirectPlay or a free, cross-platform library (maybe sdl)?
TCP/IP, IPS/IPX or another?
Posted on 2003-08-04 14:27:31 by greenant
I want to use UDP/IP.
I have heard it is better for network play.

any ideas, like syncronization, and those things.
Quake's network protocol can help me
Thanks
Posted on 2003-08-05 11:00:56 by maCo
I'm sure you realize this already, but anyway...
under UDP you have to worry about dropped packets and out of order packets.
You can eliminate these issues by inventing ur own "reliable udp" which is as simple as adding a numeric fingerprint to each packet, so that the receiver can detect missing packets, and reconstruct the correct packet ordering.
The way I went about this was a system of "rounds", where A sends a volley of packets to B, who then waits a minimal timeout before sending a compound request packet containing the numeric ID's of all missing packets from the last round, and ending with the highest packet B received (and repeated after another timeout). If/When A gets that request, A can tell if B got the last packet in that round, and has a complete list of packets to retransmit.
This all sounds like a lot of work, but the bottom line is that UDP packets can be a lot faster than TCP packets over ethernet, which I attribute to ethernet's mechanism for avoiding collosions on the wire, which resembles a busy road which the would-be user wishes to join - they have to wait for a suitable gap, and this, my friends, is where udp enjoys its moment in the sun - the packets are smaller, and more likely to squeeze into a smaller gap between the packets of other users of that shared wire. A regular tcp user might have to wait much longer before a large enough gap presents itself, and may mutilate the packets of other users each time it fails, which makes your isp very happy, since this results in not only the would-be user having to retransmit but also the user whose packet was inadvertently mangled by your hesistant roadside manor.
Jeez I ramble sometimes :)
Posted on 2003-08-06 00:36:43 by Homer