Posts Tagged ‘tgb mmorpg’

Is it possible to make an MMO in Torque Game Builder (TGB)? – Part 2

Monday, September 27th, 2010

You might remember my more optimistic part 1 post.

Well, I’m about 300ish hours into my MMO development (part time over the past year or so) and the other day I decided to finally do some performance testing… way too late to be doing this sort of thing btw.  I didn’t think too much of it before because the GG engines are touted for their networking layer, so I figured it should be able to handle the tiny packets that I was sending back and forth with no problem.

I started my testing with what I thought was a modest number of players for an MMO… 1000.  Not too high, not too low.  The server grinded to a halt! and suddenly I got that ‘Oh shit! What have I done?!’ feeling.  So just to get a better measurement, I dropped it to 500, then 100 and finally to 50 before things started to perform normally.  Ouch!  Now, I’m not trying to get EVE Online numbers, but 50?!?!  My stomach sank a little as I thought about all of the wasted work and all of the work I would have to do to rewrite the server.

How could something awarded for its networking ability come up so short?  Well, it wasn’t the networking causing the bottleneck at all.  What I failed to consider was not networking, but the processing cycles needed.  Apparently, TGB doesn’t make the greatest server for a synchronous MMO.  The inherently single-threaded processing and the speed of torque-script were drastically overestimated on my part.

I can probably performance tune the TGB server more and move some things into native C++, but in the end I decided it would be easier to rewrite the whole server in Java which is my native language ;)   While most people still have a negative impression of Java performance-wise, 1.6 is quite fast and it can usually be further performance tuned.

Moral of the story: performance test early so that you can change technologies if necessary and not have to rewrite a ton of code.

I haven’t finished writing the server yet, but I will post an update once I do some early performance testing.

Is it possible to make an MMO in Torque Game Builder (TGB)?

Tuesday, November 24th, 2009

I hear this asked here and there throughout the Garage Games forums and once in a while in various other game development forums. So what’s the answer?

Honestly I can’t say for sure, but my current project is an MMO(RPG) and I’m using TGB to develop it.  Anyone who has used TGB might be thinking, “That’s suicide!”, but I think its possible and sooner or later (at the rate I develop games, definitely later) I’ll find out for sure!

I know TGB can be used to make quality games, so what more is there to consider in making an MMO?  Besides the sheer size of the project, the biggest thing that comes to mind is networking/data architecture to support thousands and thousands of players.

With that, here are some of the things I’ve already considered:

  • Will TGB’s “turn-based networking” be an obstacle? The networking that comes with TGB was initially referred to as turn-based networking which to me implies that it is kind of slow/laggy, but in reality its more of an RPC-based networking so as long as you don’t need real-time ghosting for something like a twitch-based game, I think TGB may be able to hold its own.
  • Can TGB handle that many concurrent connections? I asked this question a few different ways on the GG forums and the big shots tell me that the only realistic limit is the bandwidth and server hardware.  I guess if they are wrong then by the time I find out for myself it would be way too late to change to a different engine and you’ll surely find me hacking away at TGB source code to try and make it work.
  • Does TGB have DB support? No, but there are some community source code mods that make it pretty painless to add SQLite support and it took me all of a couple hours to get this working. I hate making source code mods to TGB, but this one was definitely worth it… you simply can’t make an MMO without DB support.
  • How much bandwidth will the server need? This is one thing that worries me because its not something that I can easily test.  As far as bandwidth goes, EQLive published EverQuest’s usage years ago as being about 1 KB/s per user download and .25 KB/s upload.  While I’m sure today’s MMOs (WoW, etc) use way more than that, I’m also estimating that my MMO will use quite a bit less than that as it doesn’t require as much information to be sent as often (in theory).  TGB also has a way to ‘tag’ strings between the server and each client such that subsequent sending of the same string gets sent as a tag ID rather than continuing to resend the same string over and over again.  This should cut down on the bandwidth usage.
  • How will I scale up the server as more players join? Most likely I will host the TGB server myself until the beta is underway and then scale up to a VPS or Dedicated server as needed.  The server will need to be Windows based (mostly because that is my development platform).  I also need to be able to scale up quickly in case I get an honorable mention on one of the big gaming news sites, but I also don’t want to break the bank while I’m anxiously waiting for that to happen.

All-in-all I think I’m going to have my hands full for a long time, but I wouldn’t even try this if I didn’t think it was possible.

If you’re considering using TGB or another GG engine to make an MMO, check out this awesome list of discussions on the subject:

Even if you’re not going with TGB, here is a huge list of things to consider when making an MMO: