Sign in to follow this  
WindScar

Is Raknet trustable?

Recommended Posts

Now I'm *planning* to start an important project of an online action game and I'm planning to use Raknet. Can I trust it to be fast enought and reliable enought to stand if my game grow, or would it be better to program it all by myself using winsocket? [Edited by - WindScar on December 22, 2009 7:24:28 PM]

Share this post


Link to post
Share on other sites
I don't think you mean to say "pretending"... I think you mean "thinking", as in "I'm thinking of starting an online action game project, and I'm thinking of using Raknet".

In answer to your question, yes you can trust Raknet to be fast "enough" and reliable "enough" (though you haven't really said what you mean by "enough"). If it's good enough for these guys, it's probably good enough for you.

Besides, there's no reason why you couldn't start out using RakNet and later replace it with something else if Raknet proves to be a problem. Spend your time actually making your game now and worry about that kind of thing when (if) it becomes a problem. After all, there's no point worrying about what'll happen when your project becomes popular if you never actually release anything in the first place!

Share this post


Link to post
Share on other sites
*LOL* Really used the wrong word, it was supposed to be "planning". Pretending is very similar to the translation of planning in my native language.

Also, perfect answer Codeka, thank you very much.

Share this post


Link to post
Share on other sites

If havent used RakNet or seen its specs, but the questions I would ask from one side is how large do you think/expect your game to grow, and from the other how scalable is RakNet -- if you have to split your servers into clusters is it a problem?

Does RakNet mostly low level (so that you build what you need above it) or higher level which may interfere in complications when a cluster is used. Does it already include some cluster type features to possibly simplify the work to make that function.

The complications of scaling up a server will probably be independant of the low levels and you might consider a design to allow cluster operations if you expect your game to go that large. Measure twice and cut once -- a little design at the front end could save you from massive rewrites of your game server system later.

Share this post


Link to post
Share on other sites
Compared to all the other stuff you'll need to solve, RakNet won't be your main bottleneck. If it makes network development easier for you, then use it. I seem to have seen RakNet credited in some commercial game I played (XBLA game, perhaps?) so it's clearly usable.

Share this post


Link to post
Share on other sites
Quote:
Original post by ARC inc
well if you want to make something more custom you really can't unless you feel like diving in shit tons of code, I just mean it's more custom when you build it yourself.
Yeah, but I'm guessing for the majority of people those libraries do everything they need and therefore they won't need to dive into the code to customize it, thus saving them copious amounts of time over reinventing the wheel.

Share this post


Link to post
Share on other sites
What weakness did you find in Raknet that would merit custom code?

If your argument is "it would require writing lots of code to customise Raknet", it is a pointless tautology and easily rebutted by "it would require writing lots of code to write your custom code from scratch".

Share this post


Link to post
Share on other sites
raknet is fine, a few games (Demigod) for example have ran into issues with the wrapper when over 100,000 users are connected at the same time. But that is an extreme example that most likely won't happen for you.

Share this post


Link to post
Share on other sites
Raknet was made with MMOs in mind. I am using it for my MMO Engine. Haven't tested it with large number of players yet since I am just working on a prototype at the moment and my engine isn't even complete but I am sure it can handle anything you throw at it!

Share this post


Link to post
Share on other sites
Quote:
Original post by dubcanada
raknet is fine, a few games (Demigod) for example have ran into issues with the wrapper when over 100,000 users are connected at the same time. But that is an extreme example that most likely won't happen for you.


Which has nothing to do with RakNet. It sends data as efficiently as possibly, but no network library in the world can deal with anything thrown at it. If you come across a game that has 100,000 users connected at the same time, chances are that they split them up by design - it's not because their library does magic.

WoW breaks too when people get too close to eachother in high numbers.

Share this post


Link to post
Share on other sites
To the original poster: Raknet is not for every game application, it all depends on your design. You need to look through your design, look through the Raknet API, and try to figure out if it will save you time or not.

You might even come to the conclusion that it's better to write your own networking stuff.. Probably not, but who knows? It would save you a third party lib dependency, and that's not too bad.

Share this post


Link to post
Share on other sites
Actually, RakNet is good for any application. It's cross-platform and it's reliable. It can certainly handle what you need it to do, and the API is incredibly easy to work with. Everything is well documented and it's not too complicated. If anything, don't trust some of the plugins. I've heard the networked ID one is bad once you add a lot of IDs to it. Other than that, it's really good, I use it for everything.

Share this post


Link to post
Share on other sites
Well windscar, why do you bother learning how to program a game instead of just learning Kismet and sticking to the unreal engine?

Some people like learning about network programming (:

Share this post


Link to post
Share on other sites
Some people like to implement everything from scratch. These people are oftenthe ones who haven't ever finished a game.

That said, the Law of Leaky Abstractions implies that even when using Raknet that you will be dealing with some of the underlying issues of the raw socket layer. Having a good grasp of raw sockets might aid in dealing with any issues that bubble through Raknet.

Share this post


Link to post
Share on other sites
Quote:

It's good the people that like to write everything from scratch exist.

if they didn't, who would write the tools that other people rely on? The knowledge would be lost :P

I could write a network layer, a physics library, a graphics library, etc, etc... but when will the game be finished? Sometime this century might be nice.

At the end of the day, you have to know what you are trying to achieve. That is the part you write from scratch. In the context of this thread, the OP is clearly interesting in writing an "important" project, a "game". Not writing the next network middleware.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this