G33X Nexus Entertainment > RaptorNL

Start of the RaptorNL project

<< < (2/3) > >>

Rosencrantz:
I can't think of anything to add specifically, what exactly are the convenience factors? Is it just that development on HawkNL has slowed down, plus wanting additional features?

Also, what are some of the additional features that you're thinking of putting in?

contingencyplan:
Well, check out the Trac page for it, linked above. Mainly, my first and foremost goal is to make it object oriented, plus add documentation (via Doxygen) and SWIG bindings. However, I have some unofficial long-term goals:


* UDP - I don't know HawkNL's current support for UDP - it may already be there. If it's not, then this is the first thing I'm adding, since it's the first thing Precursors needs from it.
* Better gaming features - This includes some of Zoidcom's features, such as automatically condensing the data being sent, priorities, sending multiple messages per packet, etc. I just like some of the features of Zoidcom, but I'm not looking to duplicate them or rip them off. (Honestly, I'd still say we should look into them a bit more - perhaps somebody else can write a CEL plugin for it while I'm getting Raptor up to speed?)
* Hooking into MPI - This is a big undertaking, but one that's important for MMO server-side gaming. I don't know much about the inner workings of MPI yet (I'll be learning all about it during my parallel programming class this semester), but I do know it's basically a library for breaking up data processing among multiple separate computers that are networked together. If I can hook up Raptor to MPI, where you basically can distribute objects and call the method on the objects (or something like that), then I'll be very happy. And so will you. :)
* Hook into the SequenceL generated code - This is a major reason why I want to do the MPI thing - SequenceL has the ability to pull out parallelizable things very easily, since it's such a high-level language. I'm hoping I can target Raptor with my own SequenceL interpreter / code generator, making SequenceL's integration that much easier.
Note that these are unofficial - MUCH more research needs to be done on the possibilities before I can commit to doing any of these. However, these are things floating around in my head for the time being, so I thought I'd post them here so y'all could comment. Any other suggestions are welcome (though I created the board for a reason - start some new threads! I may split this topic up as more replies are posted, too.).

whitelynx:

--- Quote from: contingencyplan on September 15, 2006, 02:38:14 pm ---
* Better gaming features - This includes some of Zoidcom's features, such as automatically condensing the data being sent, priorities, sending multiple messages per packet, etc. I just like some of the features of Zoidcom, but I'm not looking to duplicate them or rip them off. (Honestly, I'd still say we should look into them a bit more - perhaps somebody else can write a CEL plugin for it while I'm getting Raptor up to speed?)
--- End quote ---

These are all things which RakNet supposedly has. The "ordering channels" is a way of ensuring that certain packets arrive in order (and you can specify whether you need all packets in order, or only the latest packet) and the reliability ties into this directly... I'd love it if we can come up with a simpler system for all this. Since we're converting this thing to OOP, maybe we can leverage objects to take care of some of this stuff... have a "packet conduit" or something which keeps track of what type of reliability to use, what priority the packets have, etc. and just send packets using the conduit instead of direct calls to the network interface... (maybe there's a better term than "conduit"... I just can't think of one right now)

contingencyplan:
I'm sure we can. One thing I'm striving for, though, is a cleanroom approach for right now - get the ideas we want in the library down pat first, so that we aren't just copying other people's code and features. Granted, there's a lot of research out there done on networking (and I'm already going through some of it), but as far as how specific libraries do things, I'm wanting to avoid looking into that so Raptor stands on its own two feet, so to speak.


--- Quote from: whitelynx on September 18, 2006, 12:12:20 pm ---
--- Quote from: contingencyplan on September 15, 2006, 02:38:14 pm ---
* Better gaming features - This includes some of Zoidcom's features, such as automatically condensing the data being sent, priorities, sending multiple messages per packet, etc. I just like some of the features of Zoidcom, but I'm not looking to duplicate them or rip them off. (Honestly, I'd still say we should look into them a bit more - perhaps somebody else can write a CEL plugin for it while I'm getting Raptor up to speed?)
--- End quote ---

These are all things which RakNet supposedly has. The "ordering channels" is a way of ensuring that certain packets arrive in order (and you can specify whether you need all packets in order, or only the latest packet) and the reliability ties into this directly... I'd love it if we can come up with a simpler system for all this. Since we're converting this thing to OOP, maybe we can leverage objects to take care of some of this stuff... have a "packet conduit" or something which keeps track of what type of reliability to use, what priority the packets have, etc. and just send packets using the conduit instead of direct calls to the network interface... (maybe there's a better term than "conduit"... I just can't think of one right now)

--- End quote ---

I don't see why each Packet object we create can't have priority and ordering information to it. Maybe even have something of a factory to set the default values for many of the Packet things, just as a convenience. That may be overcomplicating things, though. We'll have to see.

Everybody, keep checking the Trac page - I've started adding tickets for what I the initial steps I'm going to take with the HawkNL libraries.

Morgul:

--- Quote from: whitelynx on September 18, 2006, 12:12:20 pm ---[...](maybe there's a better term than "conduit"... I just can't think of one right now)[...]

--- End quote ---

Tubes? ;) ("The internet is a searies of tubes, after all.")

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version