Networking (technical)

Got something on your mind about the project? This is the correct place for that.
Forum rules
This forum is for feature requests, content changes additions, anything not a Bug in the software.
Please report all bugs on the Support Forums
Post Reply
nstrg
Peon
Peon
Posts: 3
Joined: 17 Sep 2004, 15:31
Location: Washington, USA
Contact:

Networking (technical)

Post by nstrg » 17 Sep 2004, 15:36

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.
User avatar
ElvenProgrammer
TMW Adviser
TMW Adviser
Posts: 2526
Joined: 13 Apr 2004, 20:11
Location: Italy
Contact:

Post by ElvenProgrammer » 17 Sep 2004, 16:08

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:
nstrg
Peon
Peon
Posts: 3
Joined: 17 Sep 2004, 15:31
Location: Washington, USA
Contact:

Post by nstrg » 17 Sep 2004, 16:34

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.
User avatar
Shura
Peon
Peon
Posts: 96
Joined: 15 Jun 2004, 02:36

Post by Shura » 17 Sep 2004, 17:28

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:
Don't argue with idiots. They drag you down to their level and beat you with experience.
nstrg
Peon
Peon
Posts: 3
Joined: 17 Sep 2004, 15:31
Location: Washington, USA
Contact:

Post by nstrg » 18 Sep 2004, 01:19

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.
User avatar
ElvenProgrammer
TMW Adviser
TMW Adviser
Posts: 2526
Joined: 13 Apr 2004, 20:11
Location: Italy
Contact:

Post by ElvenProgrammer » 18 Sep 2004, 08:04

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
User avatar
ElvenProgrammer
TMW Adviser
TMW Adviser
Posts: 2526
Joined: 13 Apr 2004, 20:11
Location: Italy
Contact:

Post by ElvenProgrammer » 18 Sep 2004, 08:04

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
User avatar
Shura
Peon
Peon
Posts: 96
Joined: 15 Jun 2004, 02:36

Post by Shura » 18 Sep 2004, 13:33

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.
Don't argue with idiots. They drag you down to their level and beat you with experience.
Lincity

Free Software

Post by Lincity » 22 Jan 2005, 21:46

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.
VCL
Peon
Peon
Posts: 4
Joined: 25 Sep 2004, 18:04

Post by VCL » 23 Jan 2005, 00:25

ReplicaNet is not open source. That should be enough reason to not use it.
User avatar
maci
Warrior
Warrior
Posts: 507
Joined: 05 Dec 2004, 21:01
Location: Germany
Contact:

Post by maci » 23 Jan 2005, 12:36

yeah i agree with VCl.. how can we make GPL software if we use non GPL software includied in it .. ......weird
ElvenProgrammer wrote:Maci: don't be rude, we're here to help people ;)
Post Reply