Page 1 of 1

Networking (technical)

Posted: 17 Sep 2004, 14:36
by nstrg
This is just a suggestion mind you - but instead of rolling your own networking system why not use a pre-existing solution? The current project I'm working on is using replicaNet (http://www.replicanet.com) which is free for freeware games like this one.

Replicanet was designed from the ground up for MMOG's so it would save lots of time rather than getting all the quirks out of your own system =)

Anyway, great job so far on this game! The only downfall is that the sound freezes up when the game looses focus which got rather annoying :?


-Nate S.

Posted: 17 Sep 2004, 15:08
by ElvenProgrammer
Maybe it can be useful, but we already have a protocol and a server that I won't change. If this library doesn't add headers or something weird to transferred data I'll consider it. Anyway at the actual state the network code it's quite stable and working.

I'm sorry about the sound problem, but usually I start tmw with sound disabled so I didn't notice it, I'll fix it as soon as possible.

And thank you for everything, just stay tuned since there will be a lot of improvements soon :wink:

Posted: 17 Sep 2004, 15:34
by nstrg
Well using replicaNet isn't going to be *amazingly* easy if you already have everything sorted out (like it sounds like you do..).

From the very quick glance I made of your source code it seems like you are using TCP for all data packets - correct? The only problem with TCP is the overhead required to manage the protocol itself. You might not notice it now, but when you have 50+ users online at one time things will slow down big time.

Anyway, with replicaNet you basically use a scripting language called ROL to define game objects. These objects are then compiled in your code and can be added to the system via a created handler class. Then you dont even have to worry about any more networking because it is all handled behind the scenes. Finally, when an object is updated on the simulation all other objects get updated automatically -> to make a long story short this is called a DOS (Distributed Object System), this type of system is used in almost all major MMO's that are out currently. Oh and it also does dead reckoning automatically :D


-Nate S.

Posted: 17 Sep 2004, 16:28
by Shura
hmm... i don't think replicanet is distributing the library w/ sources for free. that is not acceptable since it seems that it only runs on windows which is againts the ideas behind TMW. on top of that, we will not be able to modify it unless we buy it.

yes, TMW is using TCP right now and we will think of changing that. the protocol we use is already 100% implemented and has proven to be optimized for MMORPGs. unfortunatley we have to stick w/ it unmodified unless we write our own server. for that i have already written a server core that is fast enough but not yet implemented a protocol. expect TMWs own server in the far future though. :wink:

Posted: 18 Sep 2004, 00:19
by nstrg
Actually replicaNet supports both linux and windows.. Also, the only time you would be able to get the source code to the library is if you licensed it, but the actual usage is free if your game doesn't make any money.

AND!! TCP is not optimized anyway you look at it. I'll assume you understand how TCP works compaired to technologies like UDP - so I'm not going to go there. Enough to say that when you send a packet you know it will get there because internally you get a reply after everything is sent, so that generates literally tons of lag - making a game with more than a few players painful to play (Trust me, my first MMOG suffered from this...)


Anyway, best of luck if you stick with TCP :lol:


-Nate S.

Posted: 18 Sep 2004, 07:04
by ElvenProgrammer
I know what you mean, in fact my last project over the net was using UDP, but since we use a RO server we are constricted to use TCP :(
Anyway at the end it is not too bad, believe me, with some linear prediction you can avoid most of the lag :D

Posted: 18 Sep 2004, 07:04
by ElvenProgrammer
I know what you mean, in fact my last project over the net was using UDP, but since we use a RO server we are constricted to use TCP :(
Anyway at the end it is not too bad, believe me, with some linear prediction you can avoid most of the lag :D

Posted: 18 Sep 2004, 12:33
by Shura
Elven Programmer wrote:I know what you mean, in fact my last project over the net was using UDP, but since we use a RO server we are constricted to use TCP :(
Anyway at the end it is not too bad, believe me, with some linear prediction you can avoid most of the lag :D
double post... heh.

well, athena is not exactly restricted to tcp as it does not necessarily sent any eplies to reuqests.

in any case i did not say that we will stick w/ TCP rather than the protocol on top of it.

Free Software

Posted: 22 Jan 2005, 20:46
by Lincity
I didn't like the idea.

Use non free (I mean really free) software could give some problems in the future.

Think about Debian Free Software Guidelines.

Posted: 22 Jan 2005, 23:25
by VCL
ReplicaNet is not open source. That should be enough reason to not use it.

Posted: 23 Jan 2005, 11:36
by maci
yeah i agree with VCl.. how can we make GPL software if we use non GPL software includied in it .. ......weird