View previous topic :: View next topic |
Author |
Message |
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Mon May 07, 2007 8:33 am Post subject: Welcome to DNet discussion |
|
|
If you have suggestions, ideas, criticism or anything related to this project, please leave a note here.
I hope this project will serve to more people than just me. _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sat May 12, 2007 2:23 pm Post subject: |
|
|
Congrats on the new project. |
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Sat May 12, 2007 10:18 pm Post subject: |
|
|
yay, I hope your project succeeds because I need a networking lib and I'm not too fond of writing my own. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Sun May 13, 2007 2:31 pm Post subject: |
|
|
Don't we all Need a lib. Of some kind
On the other hand, I need a good OpenGL engine. Hear that, Joe ? _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun May 13, 2007 5:31 pm Post subject: |
|
|
Yes, heard loud and clear. With Yage, I usually trod slowly along my roadmap and deviate whenever I get a specific feature request from one of my users (unless it's something outlandish, of course) |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Mon May 14, 2007 11:25 am Post subject: Re: Welcome to DNet discussion |
|
|
bane wrote: | If you have suggestions, ideas, criticism or anything related to this project, please leave a note here.
I hope this project will serve to more people than just me. |
I read the abstract on your project page. I like the concept. Network communications for multiplayer gaming has been something of an enigma to me for a long time, and I've read here and there on the topic. I've never had the guts to code up such a framework.
I think when it comes to using UDP for a transport, you seem to have your hands round the pros and cons. Really, all that's left is for the developers who use your API to decide if their program can cope with these realities.
So I guess what I'm trying to say is that UDP is unreliable, so you should probably stop short of re-implementing TCP over UDP and allow some unreliability in favor of speed.
I think the real win to such a library like DNET will be all the hard-to-get-right tasks like client/server management, throughput tuning, dropped connection detection and event management (position data, scoreboard, console, etc).
If you're looking for some tried-and-true models, take a look at how Quake does things:
http://www.gamers.org/dEngine/quake/QDP/qnp.html
http://www.csse.monash.edu.au/~timf/bottim/q2net/q2network-0.03.html
You might also want to talk to H3r3tic about his Deadlock project. They might be in need of a multiplayer protocol and/or have one already designed. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
Dima-san
Joined: 25 Mar 2007 Posts: 33 Location: Almaty, Kazakhstan
|
Posted: Mon May 14, 2007 11:43 am Post subject: |
|
|
Hello everybody.
bane
Jeez.... it's been a long time since I've been here. I'm currently busy writing my diploma work. I've read an abstract at dnet project page -- my diploma work is on the same subject! Jeez... I can post my code, if you wish.
BTW, library I'm developing is called 'Replicator', so the name's taken! :p
I think we can collaborate, can't we? |
|
Back to top |
|
|
Dima-san
Joined: 25 Mar 2007 Posts: 33 Location: Almaty, Kazakhstan
|
Posted: Mon May 14, 2007 11:53 am Post subject: |
|
|
bane
Don't know when I'm gonna be online next time, so here's the list of features currently implemented in 'replicator' for you to know:
- client/server (connection, disconnection, reliable commands (RPC, in other words))
- message fragmenting and assembling
- per-bit message writing and reading
I'm currently working on object replication. That is, serializing/deserializing of class instances and class objects remote instantiation.
Please let me know if you're interested. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Mon May 14, 2007 2:21 pm Post subject: |
|
|
OK, lets answer this by order of appearance:)
Reply for Pragma:
Read your suggestions and considered your ideas. I agree there should be an option for raw speed and power of UDP - that is by not to have any checks whatsoever if programmer wants that way. It will be implemented, thanks for idea It could (does) work for LAN or reliable high speed network.
As for all "why bother reinventing TCP with reliable UDP packets" - you have a nice analysis of the subject in ENet's manual/api. I just say that most of network libs I examined all state same thing - use UDP, forget TCP, its too slow. I just follow what smarter/more experienced in that subject people say.
I could implement option "use UDP/TCP" in lib, but TCP would be good only for turn based/slow games. Reliable/ordered UDP would probably always outperform TCP in any scenario, so there is no need for 2 things doing same thing.
Reply for Dima-san:
I am very interested in collaboration in any form. Good and easy high level replication and
all that neat little helping features for network lib is very important part of dnet, and I think that part would attract most people. I do not have much experience in the subject, and simple replicating model I started in "dogslow" is basic features only - something I need for my testing/simple purposes. I now other people would like more than that.
I would like very much to have help in adding more than what "dogslow" offers.
Also, bit level manipulation and message fragmenting is expertize I need here - all operations (for now) in packets I am doing on byte level. With bit level and smart message fragmenting we can have (much) smaller packets, thus greatly improve speed of whole thing
Thanks both Pragma and Dima-san, I will copy you sugestions and ideas on main wiki page. This way we'll see easier where dnet is going to _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Mon May 14, 2007 3:55 pm Post subject: |
|
|
I posted stuff on wiki. There are opened things to contribute, if you are competent and willing then you are welcome to join. _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Mon May 14, 2007 4:00 pm Post subject: |
|
|
BTW, "Replicator" as high level module of "dnet"? Sounds good
Why not offer people more choices?
dnet - as low level lib.
dogslow - as simple replication for people that dont need more than basics
replicator - as specialized high level module for people that want more advanced stuff?
I know i hated zoidcom and raknet for simple stuff when I wanted to do most basic things. _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
Dima-san
Joined: 25 Mar 2007 Posts: 33 Location: Almaty, Kazakhstan
|
Posted: Wed May 16, 2007 10:28 am Post subject: |
|
|
bane
>BTW, "Replicator" as high level module of "dnet"? Sounds good Smile
Sounds good, indeed. Although the Replicator already has some basic client and server, the main replication thing (rpWorld and rpEntity) is completely independent of client/server/network sockets stuff, so it can be easily integrated with other libs.
I am now thinking: should I get the Replicator hosted here as a separate project or should it be seamlessly merged with dnet? I'd like to hear your opinion. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Wed May 16, 2007 3:11 pm Post subject: |
|
|
I am definitely for it.
I had monologue on same subject lately: http://dsource.org/forums/viewtopic.php?t=2736
(just replace "standard lib" with "network lib")
ps. dnet's license can be changed to anything (L)GPL, BSD etc. _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
bane
Joined: 01 May 2007 Posts: 41 Location: Pancevo, Serbia
|
Posted: Wed May 16, 2007 3:12 pm Post subject: |
|
|
Merging, that is
Choice is up to you, off course _________________ "I apologize only for my spelling" - a quote shamelessly stolen from some guy at unknown forum. |
|
Back to top |
|
|
|