Game Development Community

TGE Inside?

by Sartika Cahyane · in Torque Game Engine · 07/02/2007 (10:33 am) · 16 replies

Learning about Torque, I figure out so many things I want to know.

1. When TGE loading a mission/create a player/or other scene object, where it's actually created? in Client side or Server side? (in multiplayer mode)
2. Can I skip the download phase of TGE?
3. It is possible to create Server without using TGE?
4. It is possible to load Mission on Client side but the ghost object in send by Server?
5. Can I create skeletal animation from script so I can create a dynamic animation using bone?

Thanks.

I hope somebody can give me an advise.

About the author

Recent Threads


#1
07/02/2007 (10:49 am)
1) Both. It's created as an authoritative instantiation server side, then networked to the client to form a non-authoritative subset of the simulation.

2) Not in stock. Having the client and the server both with the ability to replicate various aspects of the simulation is a core design requirement. Of course, that being said, you have the source code.

3) Anything is possible. It's a TON of work, for ultimately not that much gain at all except for extremely rare scenarios.

4) Not sure I understand the question...that's pretty much what it does now. There are optimizations you can do if you are willing to set aside some basic design criteria such as anti-hacking security, data protection and the like.

5) Also not sure I understand the question--you don't create animations inside Torque, you create them in external modelling applications, and then those animations are used by Torque.
#2
07/02/2007 (11:09 am)
I get the point.

Thanks.
#3
07/05/2007 (4:35 am)
Does TGE support for multi mission on a single server?

Thanks.
#4
07/05/2007 (8:06 am)
Define what you mean by "single server", and "multi-mission". A server instance can only run one mission at a time (with stock), but can cycle missions. A computer can run multiple server instances, with a compiler setting.
#5
07/05/2007 (12:52 pm)
Something else that might answer questions: A server can run in "dedicated" mode. In this mode the server doesn't run the "graphical" part of TGE, just the "simulation" part. There can be as many copies of TGE running in dedicated mode as a system can handle.

Is this perhaps what was meant by "running a server without running TGE?"
#6
07/06/2007 (9:41 am)
I am sorry with the question. not an advance programmer. hehehe

The point is when I wan to create a dedicated server that can load another mission when the "real" mission were run by the server. The purpose is to create instance map like World of Warcraft.

Thanks
#7
07/06/2007 (9:56 am)
@Stephen Zepp :
what I mean single server is one dedicated server.
I want to know is does a single instance of server can handle not only one mission

Quote: A computer can run multiple server instances, with a compiler setting.
is that mean a single executable file?

@Mark Dynna : In that case we can switch player to another server?
#8
07/06/2007 (12:48 pm)
This is actually a pretty advanced topic (server architecture/infrastructure), and not normally one that a relatively new user should worry about, but here's a general outline of an example way to set things up.

--create a single mission file per "area" of your game
--have 1 or more "server computers" that run multiple dedicated servers per machine. Each dedicated server is in charge of one mission file.
--have triggers (one technique) in each of your missions that know what mission (and therefore what dedicated server instance) they "connect to", and tell the client to disconnect from the current server instance, and connect to the new one instead.

That would be an example at the very top level of how to do a game similar to Everquest, or other games that have a player "zone" from area to area.

Please understand that it is much more complex in the big picture than what I described above, but that is the general plan for this type of game server architecture.
#9
07/06/2007 (1:47 pm)
In that case, I am planning that the server store the client map and position so the client will connect into a char server than the char server will decide which server to connect to. Any advise ?

Thanks
#10
07/06/2007 (1:48 pm)
Quote:
In that case, I am planning that the server store the client map and position so the client will connect into a char server than the char server will decide which server to connect to. Any advise ?

Thanks

That's exactly what's needed in most architectures--but it's just a start :)
#11
07/06/2007 (2:09 pm)
When trying to change the directory from

example
->common
->starter.fps
--->client
--->data
--->server

to
---------------------------------------------
[Client PC]
example
->common
->starter.fps.client
--->data
----------------------------------------------
----------------------------------------------
[Server PC]
example
->common
->starter.fps.client
--->data
----------------------------------------------
It always fail in mission download. When I'm trying to do so, the client always download the file from the server with exact directory on the server side. It's become:
------------------------------------------------
[Client PC]
example
->common
->starter.fps.client
--->data
->starter.fps.server
--->data
------------------------------------------------
and in the end the client crass.

The main idea is that the client can only run as client.

Another question is how we can stop mission file download? So the client will fail to connect if they doesn't have the mission file or other file defined in the datablock.

Thanks.
#12
07/09/2007 (1:23 am)
Quote:5. Can I create skeletal animation from script so I can create a dynamic animation using bone?
Quote:5) Also not sure I understand the question--you don't create animations inside Torque, you create them in external modelling applications, and then those animations are used by Torque.
I think what is meant here is a way to manipulate bones dynamically. For example, having a function like rotateBone(%bone,%degrees) that would rotate that bone and move all its vertices with it. This way you could create 'animations' dynamically - have a character's head point to an arbitrarily moving object, or example.
#13
07/09/2007 (6:58 am)
Quote: I think what is meant here is a way to manipulate bones dynamically. For example, having a function like rotateBone(%bone,%degrees) that would rotate that bone and move all its vertices with it. This way you could create 'animations' dynamically - have a character's head point to an arbitrarily moving object, or example.

exactly what I want :-)

any advise?

Thanks
#14
07/09/2007 (8:58 am)
You would need to dig very deeply into the TSShape and TSShapeInstance code, and track how animations are stored, then processed, and apply additional tools and mappings to give this level of control.

Not in any way a trivial problem, but off of the top of my head I can't think of anything specific that would stop you--it's just a different way of controlling the list of translations and rotations of nodes when it comes down to it.
#15
07/09/2007 (9:00 am)
So in short that's a no - straight out of the box, that is. Of course, you can do anything yo like with Torque, as long as you can code it. :) I'd really like to see that as a feature - with it you could do all sorts of cool things (IK anyone?). Sounds tricky, though :P.
#16
07/09/2007 (10:21 am)
Wow :-)

I have read the code (TSShape and TSShapeInstance) That very hard work :-)

Thanks All.