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: