Zona, Inc Network Suport and TGE?
by David W. Hochstaetter · in Technical Issues · 09/18/2002 (8:34 am) · 10 replies
Has anyone looked at trying to implement the TGE with any of Zona, Inc. networking solutions? This is for any MMOG based TGE projects?
I spoke with them a while back before we picked up any licenses for the TGE and it sounded interesting for quickly ramping up a MMOG, if you don't mind outsourcing components.
However, with Zona's cut, GarageGames cut, and then other development/operational costs, it may just be economically unviable, unless you build your own 3D engine, or have a boatload of money.
For any of the GG staff have you spoken with any of the Zona members and if so, what is your take?
More Information:
Zona, Inc.
www.zona.net/products/
FYI: There are two whitepapers on the support page link,
www.zona.net/support/
I spoke with them a while back before we picked up any licenses for the TGE and it sounded interesting for quickly ramping up a MMOG, if you don't mind outsourcing components.
However, with Zona's cut, GarageGames cut, and then other development/operational costs, it may just be economically unviable, unless you build your own 3D engine, or have a boatload of money.
For any of the GG staff have you spoken with any of the Zona members and if so, what is your take?
More Information:
Zona, Inc.
www.zona.net/products/
FYI: There are two whitepapers on the support page link,
www.zona.net/support/
#2
09/18/2002 (8:54 am)
I would imagine the cost of this product would be way beyond the typical Torque development team. Besides which, if you can afford this product, then you could probably afford to buy a Quake 3, Serious Sam or Unreal license.
#3
Thanks for the reminder; in my mind I'm still operating under the old agreement.
Everyone,
Aside from the cost aspect of the system, for TGE projects is anyone aware of any serious and known technical impacts of attempting to merge TGE with this type of a network infrastructure?
From the look of it with some simple re-engineering, this could be made to work unless there are hitches that I am not yet aware of.
09/18/2002 (9:42 am)
Jeff,Thanks for the reminder; in my mind I'm still operating under the old agreement.
Everyone,
Aside from the cost aspect of the system, for TGE projects is anyone aware of any serious and known technical impacts of attempting to merge TGE with this type of a network infrastructure?
From the look of it with some simple re-engineering, this could be made to work unless there are hitches that I am not yet aware of.
#4
I took a quick look at this. This is my assessment of what you're looking at to make it work. This is a rough assessment based on what I know about Torque and the technologies involved.
In a Torque network game, the client mirrors the state of the server through a technique called ghosting. Nothing really exists on the client, and the client makes no decisions.
When you apply an impulse (for example, you tell the ghost of another player that you've shot it), this is relayed to the server. The server applies the impulse, and has the final say in if it happens or not.
All of this is accomplished via netlib. Netlib simply calls functions in the scripting language in response to events, and the client side code for "impulses" simply calls netlib to tell the server what it thinks happens.
So in theory, if you did the same thing with the Zona stuff, you could then use Torque with no worries on the client side.
The Zona server is written in Java. It invokes a back end via JNI. If the back end were to also be Torque, there would likely be some engineering effort there. You would need to compile the dedicated server as a DLL, and call into it from the JNI stuff most likely.
The main issue is with that many players, you'd have to have multiple playfields. You'll have to have separate processes, and it is likely you'll need to locate some of those processes on separate machines to get enough processor power to handle it.
That's a rough assessment. If you're using a lot of the fps module, you'll probably have to do some significant work. That module isn't really set up for this.
If you're using very little of the fps, then it will probably be easy because you've at least seen the netlib calls, and you probably know exactly where all of them are.
09/19/2002 (6:38 pm)
David,I took a quick look at this. This is my assessment of what you're looking at to make it work. This is a rough assessment based on what I know about Torque and the technologies involved.
In a Torque network game, the client mirrors the state of the server through a technique called ghosting. Nothing really exists on the client, and the client makes no decisions.
When you apply an impulse (for example, you tell the ghost of another player that you've shot it), this is relayed to the server. The server applies the impulse, and has the final say in if it happens or not.
All of this is accomplished via netlib. Netlib simply calls functions in the scripting language in response to events, and the client side code for "impulses" simply calls netlib to tell the server what it thinks happens.
So in theory, if you did the same thing with the Zona stuff, you could then use Torque with no worries on the client side.
The Zona server is written in Java. It invokes a back end via JNI. If the back end were to also be Torque, there would likely be some engineering effort there. You would need to compile the dedicated server as a DLL, and call into it from the JNI stuff most likely.
The main issue is with that many players, you'd have to have multiple playfields. You'll have to have separate processes, and it is likely you'll need to locate some of those processes on separate machines to get enough processor power to handle it.
That's a rough assessment. If you're using a lot of the fps module, you'll probably have to do some significant work. That module isn't really set up for this.
If you're using very little of the fps, then it will probably be easy because you've at least seen the netlib calls, and you probably know exactly where all of them are.
#5
The Terrazona architecture is basically set up to drop whatever game code and engine into it you want. The trick is that all your AI and NPC actions have to be governed by a seperate server, and system, so extracting that might be difficult. The idea that you would have to "zone" the world isn't quite true, as Terrazona utilizes ghost-sailing so that a player never realizes they've changed servers, nor will a server crash force the users connected to it, into disconnection.
I think it's an interesting solution to a lot of the problems faced by a developer trying to convert an engine to use with an MMOG. As was said earlier, however, though the hardware/software side of things might not present as many problems, I doubt an "Indie" Developer is gonna pony up the front-end cost that Zona is asking.
10/23/2002 (12:29 pm)
I've talked fairly extensively with the Director of Production at Zona, and his explanation was basically this: The Terrazona architecture is basically set up to drop whatever game code and engine into it you want. The trick is that all your AI and NPC actions have to be governed by a seperate server, and system, so extracting that might be difficult. The idea that you would have to "zone" the world isn't quite true, as Terrazona utilizes ghost-sailing so that a player never realizes they've changed servers, nor will a server crash force the users connected to it, into disconnection.
I think it's an interesting solution to a lot of the problems faced by a developer trying to convert an engine to use with an MMOG. As was said earlier, however, though the hardware/software side of things might not present as many problems, I doubt an "Indie" Developer is gonna pony up the front-end cost that Zona is asking.
#6
Are there any cheaper/free alternatives to Zona that people are aware of?
Thanks
10/23/2002 (12:43 pm)
Excellent thread.Are there any cheaper/free alternatives to Zona that people are aware of?
Thanks
#7
10/24/2002 (6:06 am)
With the new python support that's being added something like Twisted Matrix might be perfect for a distributed system. Someone mentioned this in another thread... can't find it now though :(
#8
10/24/2002 (6:59 am)
I've been reading a bit about Twisted, except none of it made sense! :P I don't know the first thing about Python so it's all way over my head.
#9
Not a bad scripting language though... the twisted stuff is mighty powerful when you play around with it though... I gave up trying to understand how it works ;)
10/24/2002 (9:27 am)
Mike i'm with you there, I investigated Python a while back and to put it mildly it's the strangest programming language i'd ever seen. www.python.org has some good tutorials... but be prepared for a shock if you're coming from C/C++, it's absolutly mad.Not a bad scripting language though... the twisted stuff is mighty powerful when you play around with it though... I gave up trying to understand how it works ;)
#10
It might be nice if Joshua were to release a plugable version of this for Torque (charge a small fee or something ?) so that other non python/programming inclined folks could use it in there RPG/MMOG games. It sounds like he has it pretty well integrated into Torque. I have not tried his python resource yet, and it may be that everything we need is already there.
10/25/2002 (12:42 am)
Joshua's Twisted Python supportIt might be nice if Joshua were to release a plugable version of this for Torque (charge a small fee or something ?) so that other non python/programming inclined folks could use it in there RPG/MMOG games. It sounds like he has it pretty well integrated into Torque. I have not tried his python resource yet, and it may be that everything we need is already there.
Torque Owner Jeff Tunnell
Jeff Tunnell GG