About Store Forum Documentation Contact



Post Reply 
RakNet Tutorial
Author Message
Chris Offline
Member

Post: #16
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Hi, sorry this demo is still in quite early stages; Dynad and I were still doing spline extrapolation and interpolation between player movement packets - you still can't see players moving properly between client and server (but we're nearly there); we have had to work back on our own individual games & projects. I've got some pretty steep deadlines at work and a trip to hong kong, so won't be able to do anything on this for the next two weeks.

Here's the current version we've got to.

EDIT: Removed Link, please see original post for latest versions.

It has maps and the start to spline extrapolation/interpolation.

Chris
(This post was last modified: 04-23-2010 05:39 AM by Chris.)
03-04-2010 01:48 PM
Find all posts by this user Quote this message in a reply
Demi Offline
Member

Post: #17
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Hi,

Hope you don't mind I jump in and give some feedback.

I have been researching Esenthel engine for a couple weeks and I think that Raknet will not really be the answer to a client/server setup. OH, I am just testing the engine right now before I commit to a license because I need to make sure it will interface with a middleware network engine.

I have been looking at several middleware engines. One is free engine (Massiv from sorceforge) that is highly scalable but I have a few concerns with LGPL licenses so I may not be able to use this one. I have been trying to contact the author but not getting responses so far.

The other (netdog) indie release ($299) looks to be similar to Massiv.

There may be others.

Demi
04-16-2010 02:29 AM
Find all posts by this user Quote this message in a reply
Mikesanimation Offline
Member

Post: #18
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Demi, make sure to keep us informed on what you discover grin. Both Massiv and netdog look like they could have a lot of potential and I am really interested in how well they could work with Esenthel.
04-16-2010 05:36 AM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #19
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
(04-16-2010 02:29 AM)Demi Wrote:  I think that Raknet will not really be the answer to a client/server setup.

Why do you think that RakNet is not suitable for client/server?

There is always evil somewhere, you just have to look for it properly.
04-16-2010 11:00 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Demi Offline
Member

Post: #20
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Raknet is a multiplayer package but in my optinion it is not a MASSIVE multiplayer package. Massiv and netdog are designed for clustering grids.
04-16-2010 11:45 AM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #21
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Well can u give us a good example why we will would choose using Massiv or Netdog instead of RakNet?

RakNet is free till u make profit over $250k, and if u do it costs only $5k so that wont be a problem at all. For the other 2 u need to buy a license first before u can use it.

~Dynad

There is always evil somewhere, you just have to look for it properly.
04-17-2010 11:26 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Demi Offline
Member

Post: #22
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Massiv is under LGPL and free. smile
04-18-2010 02:32 PM
Find all posts by this user Quote this message in a reply
iamcreasy Offline
Member

Post: #23
RE: RakNet Tutorial (Work In Progress, Help Appreciated)
Quote:Raknet is a multiplayer package but in my optinion it is not a MASSIVE multiplayer package. Massiv and netdog are designed for clustering grids.

I was hoping to see some technical analysis....err...cluster griding....etc etc...I am new to these stuff. wink

which one is better in terms of what?
04-18-2010 08:51 PM
Find all posts by this user Quote this message in a reply
Chris Offline
Member

Post: #24
RE: RakNet Tutorial
Hi, thanks for your feedback. I did a dissertation on grid clustering in online games - you can find it here if interested:

http://cwkx.com/reports/diss.pdf smile

- I found it fairly easy to implement custom partitioning schemes on servers, but it depends on the technology you use.

I did several months research, before choosing RakNet, and I will defend my choice in my particular case.

Before doing so, if anyone else is new to considering what to use, here are some other notable things to look at (but most of them are just for established companies):
  • Net-Z from Quazal- this was my first choice, but they didn't respond to my license and evaluation email.
  • Bigworld Technology
  • RealmCrafter
  • HeroEngine
  • Multiverse Network
  • Gamebryo
  • Monumental Games
  • Neutron

For me, I found a couple of problems with Massiv and Netdog. The main problem was that they don't offer NAT punchthrough. Another one was that they need recoding to support custom network architectures. For example, i'm writing a kind of "virtual environment" where security isn't an issue, therefore my world is partitioned and distributed to small peer groups. Also I found that Massiv and NetDog didn't seem to be in active development. I couldn't find commercial releases for either of them, or much detailed information on their security.

The pro's I found with RakNet are that you can have a commercial-grade, well-tested system with stuff like a perfect lobby's environment or have the ability to write flexible architectures, its really quick to develop with, secure, and the license options are decent for both companies and enthusiasts.
04-23-2010 05:33 AM
Find all posts by this user Quote this message in a reply
Mikesanimation Offline
Member

Post: #25
RE: RakNet Tutorial
Hey I just wanted to say thanks for the RakNet tutorial!

It's awesome! Great job!
04-27-2010 06:21 AM
Find all posts by this user Quote this message in a reply
Mikesanimation Offline
Member

Post: #26
RE: RakNet Tutorial
Hey, I got extrapolation working (well better than it is in the current version) if you're interested. I do what you recommend as far as getting the next position goes, but to make it a bit smoother, I interpolate to the position over a few frames, so there is a TINY delay. So push now looks like this (I've added a class variable as well -- Vec nextLoc) :
Code:
void Character::push(Netpoint &n) {
    if (Dist(n.pos,pos()) > 10.0f) pos(n.pos);

        Vec extrapolated = n.pos+(n.vel*((Flt)(n.packetTime - lastTime)/1000.0f));
        pos(Lerp(pos(),extrapolated,0.25)); // start the "move" process so he doesn't just warp
        nextLoc = extrapolated;
        angle = n.angle; //update the angle, we can make this smoother in the future
}

Then in the update() function I added something like this to the top:
Code:
Bool Character::update() {
    // move to the extrapolated position
    if(Dist(nextLoc, pos()) > 0.01) // it is close enough
        pos(Lerp(pos(),nextLoc,0.25));

   ... rest of code down here

}

At this point the character just warps around.
So I overrode the animate() code to make him do a running animation if necessary:
Code:
void Character::animate()
{
    __super::animate();
    if(Dist(nextLoc, pos()) > 0.01)
        cskel.animate(L"../EsenthelEngineSDK/data/anim/run.anim", Time.time(), 0.5);
}

Obviously this won't take any other animations into account, but that could be implemented easily enough.

I also changed the tick rate of the update in my code to 100 instead of 10.
This creates a smoother result at the expense of higher bandwidth usage.
(This post was last modified: 05-07-2010 06:42 AM by Mikesanimation.)
05-07-2010 06:40 AM
Find all posts by this user Quote this message in a reply
Seba Offline
Member

Post: #27
RE: RakNet Tutorial
Do you try using Replica Manager?
05-19-2010 09:52 PM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #28
RE: RakNet Tutorial
No cause we want to handle everything self, and easier to maintain in my opinion.

There is always evil somewhere, you just have to look for it properly.
05-20-2010 03:37 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Seba Offline
Member

Post: #29
RE: RakNet Tutorial
Can you help me with P2P connection. I try but don't know why it don't work. If you can write simple code to connect 2 clients, or how to make connection.
05-22-2010 07:35 PM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #30
RE: RakNet Tutorial
Well that can't be to hard, if u combine the server and client code in 1 gameclient. 1 gameclient must be the host and the other one is the client that joins (e.g cod mw2).

But i can tell u that even p2p needs a Main server that handles the gameservers, so that players can join smile

There is always evil somewhere, you just have to look for it properly.
05-22-2010 07:47 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply