Game Development Community

Multiplayer - How strong is Torque2D??

by Rinaldo Jerimiah · in Torque Game Builder · 08/24/2010 (8:04 am) · 26 replies

I am looking to make a real-time action-based RPG (similar to Diablo 2, Ultima Online, or Neverwinter Nights)

This is not turn-based, but real-time with many players on the same screen.

My desire goal is perhaps to have 100 players in one game, one game zone, but an easier goal to shoot for is just 20-40 players.

Does Torque2D have Multiplayer that can handle 20, 40, or 100 players in a real-time game environment? Even if combat was slow or real-time turn-based (like MMORPG's combat, with time delays per action) I would still want networking that can handle as if it was an action shooter game. Latency is very important in my game; more-so than other games.

I read somewhere that Torque2D can only handle turn-based games with only a few players. Is this true that it can't handle real-time multiplayer? What about 20, 40, or 100 players in one game/zone in a real-time multiplayer environment?
Page «Previous 1 2
#1
08/24/2010 (1:28 pm)
Torque 2D currently has event-based networking implemented which does not account for network ghosting for real time synchronization of clients. You would need to rework the network layer to implement the functionality on the level that you are desiring.
#2
08/25/2010 (7:22 am)
I could have sworn I read that TGB had amazing multiplayer, but I guess I misread (maybe it was TGEA, or perhaps only turn-based).

This really...well, lol, even professionally said it blows.

This means I have to start from scratch. I mean, if I am going to learn enough programming to build my own networking then I might as well just build my own engine while I'm at it. I thought of doing this before TGB, but I thought once I found TGB I found what was perfect for me.

Guess it's back to the drawing board! Ugh...
#3
08/25/2010 (1:25 pm)
The next iteration of Torque 2D will have robust real-time networking incorporated. Because networking is a rather advanced topic in most respects, the decision was made early in the current engine's lifecycle to utilize simplicity, which is great for doing things like posting high-scores or creating low-latency games where you do not need direct synchronization of all objects in that moment.
#4
08/25/2010 (9:47 pm)
Thanks for the information, that sounds like it'll be a GREAT release!

For now, I have been suggested to go and try UNITY as I've been told the documentation, tutorials, and utility is better.

I don't know about TGEA (I've heard it's a lot better than TGB) but Torque2D/TGB seems to be on the back-burner comparatively. I've thought of TGEA, but I ran through too many very small (harmless) bugs in my demo of TGB that were needlessly frustrating. (Like how I can't import a file named "blah.png", delete it, then import a fixed version with the same name. It'll always import the old one, even if that is deleted and recycle bin empty. LoL

Thanks though! For a singleplayer game, it would be great!
#5
08/26/2010 (12:12 am)
Are you making a 2D game? Unity's 2D functionality is quite limited since it's a 3D engine. It's a great engine and I like the developers, but it is a 3D engine with a 2D afterthought. Networking is not its strong point, but it is definitely passable. The tutorials are strong, but the API documentation is on the low end side. Their wiki is really picking up steam with community contributions.

The problem you are seeing with assets is due to caching the assets in the project folder, not in the folder you load them from initially.

EDIT: clarification
#6
08/26/2010 (3:03 am)
As I just found out! To even do 2D without a huge headache I will probably need to fork over an additional $100 (although Unity is free, so I guess it's not additional, lol) to get two plugins to do animations more easily.

I am just stumped! Perhaps I will just go without an engine and make it using Java and Slick2D as well as other libraries.

I wish I could find a 2D engine that handles networking really well, but I really can't seem to find much at all.

Thanks for your help David.
#7
08/26/2010 (2:23 pm)
I hear even Epic's engine doesn't really have such great networking, so people are in fact making their own networking even when there is something built into the engine they're using! What you're trying to do isn't a very hard thing to do yourself, though. You want to design a protocol for the information to pass along efficiently between server and clients, and use plain old low-level networking functionality.

There is probably no networking library which is game-ready for your purpose, but there are hundreds of wrappers to simplify client-server communication.
#8
09/02/2010 (8:44 pm)
I'm writing a 2D MMO now using TGB and while I can't quite attest to having a lot of players as I've only tested it with 2 so far, in theory it should work as long as you handle all of the messages from client to server yourself... I agree, not optimal, but possible.
#9
09/06/2010 (7:16 am)
@Everyone with any networking knowledge. Is it possible to take an old MUD engine like CircleMUD, and use it as your networking server? You don't have to have the same TGB server do you? Can't you just use the TGB client and have it connect to another server and just have the MUD server update the clients with realtime packets?
#10
09/06/2010 (7:30 am)
Sure, that's perfectly doable. All you need to do is keep track of where players are and tell them where they are so the client can update it. Map, x, y and other status.

A decent modern 4/8/12-core server won't struggle with several instances of a Valve game server, so a 2D online game should put even less strain on it. TGB doesn't really have its own server as such, I think. You rely more on rolling your own communication.

It's not unlikely that you could use the MUD engine without changes.
#11
09/06/2010 (10:09 am)
So is Torque2D a good choice to make a multiplayer action-rpg, or even with some more work an MMORPG?

I am scratching my head trying to understand this. Would it be relatively easy to use a third party network solution with TORQUE2D, or would that be as complex and difficult as extending Torque2D's networking or adding your own?

Unity really doesn't support 2D very well, it sucks. I am really left with almost no option but to cram to learn programming for a full year before I can even make my own engine, setting back my game an entire year or more...

Would any of you advise ANY engine or ANY kind? And please explain why, and what I might need to accomplish to put a hundred or even thousand(s) of players online in a real-time environment?
#12
09/06/2010 (10:39 am)
The networking in TGB is rather simplistic. It wouldn't fulfill the entire job needed to make an MMO, for instance. There's just object ghosting from server to client - Torque objects can contain more than just the visuals, though. For an MMO you would want to use TCP and UDP and some custom packages for more optimised communication.

So using a third-party solution would actually not involve changes to the core system, really. You just plug in the new networking and make an update function on the client to redraw whatever needs redrawing, update script variables with player state etc. The built-in system isn't much of a realtime system.

To make an online game you NEED to learn programming. There's very little, if anything, out there which is a complete solution tor everyone. Some sort of middleware is usually needed. Lineage 2 doesn't use stock Unreal networking, or so I've read. DAoC uses a stock graphics engine, but their own server and networking.

All the logic for an MMO is on the server, so that's where you're spending the most programming time. The client just needs to receive player positions of the active player and any other visible players, chat, results of actions etc. Most of the client logic is in presenting graphics.
#13
09/06/2010 (12:00 pm)
Would you have a general idea of how much it would cost to hire a programmer (or team) to implement MMO-quality networking in Torque2D (i.e. how long it would take them)

I know a little bit of programming, just not enough to build my own engine. So I could make a game (probably a multiplayer one) using Torque2D- and IF it sells well and is popular, use the profits to hire team members to turn it into an MMO.

But if the cost is hundreds of thousands of dollars, it would probably remain multiplayer. If it's only tens of thousands, that's definitely do-able. I imagine it wouldn't take years to implement it.
#14
09/06/2010 (2:23 pm)
MMO middleware already exists, so have a look for that.
#15
10/03/2010 (8:33 pm)
David,

You mentioned that the next iteration of T2D will have real-time networking incorporated -- any idea when this will released roughly? Within a year? Longer? Thanks!
#16
10/03/2010 (10:18 pm)
I do not have an estimate on it since it is still in active development. We showed off some demos at GDC and have shown off videos of it in action. But it is still a ways out.
#17
10/03/2010 (11:19 pm)
Does "a ways out" mean MONTHS (3-12 months) or longer than a year?

Accuracy is less important than knowing if it will be released in late 2010 to late 2011 or if it's almost guaranteed to be released AFTER 2011, which means early 2012 to late 2013.

Months or Years?

I have no idea how long software like this takes to develop. Maybe even as small as time it started until time it was demo'd * 2 or * 3
#18
10/04/2010 (5:28 pm)
Right now I'm not sure since I haven't been in on the scheduling meetings. I know at GDC, it was planned for 2011. But I can't confirm projection dates since I don't have that information.
#19
05/31/2011 (6:34 am)
Wow, it's almost been a year since I last asked this question, and I find myself questioning if going with Unity3D was a good choice or not.

I've spent the majority of the year doing the graphics and artwork for the game, so not much is lost if I switch over. However, I have spent about a month on Unity3D, made a small game, began to make another, etc.

I really miss how Torque2D was entirely made for 2D gaming, because Unity3D is a PITA for 2D, even with a sprite manager plugin.
However, multiplayer is still my key goal, and although I've learned a lot since I last asked this question, it has not been about networking and only a bit about servers and the server-client relationship.

I noticed that Torque2D is only $99 and under new ownership. It is actually CHEAPER than buying Sprite Manager 2 for Unity3D.
I am not keen on switching engines, but maybe if I glance at T2D again my mind might change, as I understand game development and game engines MUCH better now.

Unity3D has a lot of friendly multiplayer middleware (server/client, mmo or fps type of implementation) via Photon, ElectroTank, SmartFox, Ulink, etc.
Photon's website: http://www.exitgames.com/

I was wondering what the difference might be for implementing such a middleware with T2D instead of Unity3D-- if any.
Obviously, I assume I will have to learn and implement the majority of the code myself anyways, and figure out how to create the "server" for a multiplayer game that holds more than a few players.

What advantages might I find with Torque2D under new development? Have there been any changes to T2D since October 2010?
#20
05/31/2011 (7:57 am)
I can't answer the question if there has been any changes but for a 2D Game, I'm telling you TGB/T2D is way better than unity and I'm not talking like fanboy better either. It's truly better tech for a 2D game. Yes, the networking currently is missing out a bit, but in reality, if you ever work on a game from scratch, you will have to program it somewhere down the line anyway. T2D does provide a facility of functions to ease this, but the general protocol for your game you will need to determine, as well as writing portions of it yourself. For now, with TGB 1.7.5, it is possible to hook it up w/ different more robust networking, or roll your own, and it shouldn't be that bad to do. You can keep track of what you need for the most part, and if it's an MMO, your not going to want the level of interaction w/ the hosting server as say an FPS would. So that makes it even easier on you for your protocol handling, you just need to track it in a way that makes sense for what your doing and scope your object updates to the player. These are all things everyone has to learn when they get into network programming, even w/ an engine that has it pre built-in.

But honestly, it's a good engine and at $99 even vs Unity's "Free" model, is very worth it.

One advantage, that hopefully will come here soonish, is that TGB/T2D is still getting better. They have, as far as I know, worked or are working on integration w/ Box2D (most would find this a big deal), and are adding other features like more robust networking, etc. Now that's only the information I've gleaned from the dev blogs, or announcements, etc from the forums here. I can't say when or if any of that is final or ready to be released or when it will be released. Though, it's something I'm hoping happens soon. ;)
Page «Previous 1 2