C++ Game Framework built on TGE
by Kirk Haynes · in Torque Game Engine · 05/03/2005 (3:25 pm) · 6 replies
(May 3, 2005)
Have the new Torque Engine docs been released yet?
I am starting (finally) to build my game framework. I have spent a good deal of time on the game design document.
I will be using the starter.fps and starter.racing as a reference but I want to start this new TGE Game Framwork from scratch.
In other words, I don't want to use any code from the SDK/game folder 'as is'.
I have a new folder named TGEGame that will have all of 'my' game framework code files, and leave all the Torque files right where they are for ease in upgrading the TGE. (Yes I'm talking about you TSE!)
If this doesn't make sense to anyone that knows the core Torque Engine, please feel free to say so, since I am only vaguely familiar with the core Torque Engine and I will happily accept any assistance.
My first problem is trying to figure out what this stuff does in the example game code. I will be patiently stepping through this code for months to come while building the game. Most of the sample game code is not documented and therefore I'm finding myself following code around in circles, in and out of script, etc., to figure out what it does, when a little bit of source code documentation from the author(s) would have made understanding it quick and painless. Which brings me to the next issue.
Where do I look for information regarding the engine source? The majority of the core engine source 'documentation' is a simple listing of the classes and their members, without any actual comments. This doesn't really help me, since I can look at the actual source code file and learn more, faster, but still doesn't explain what they're used for. For that, I have had to look at how it's used in the code examples, which takes a lot more time and effort.
I've read rumors of new documentation coming out. Hopefully the new docs will address these issues. I also have looked at the 'resources'; the majority seem to deal with very specific issues and are mostly script based. The most usefull resource so far was the object heirarchy diagram in the docs.
I have a few suggestions. In the resources section, there is a Torque EngineTechnology section. There should be an abundance of resources in this section for people who want to create a new game and not use starter. for anything more than a lookup reference. Some examples would be a simple framework with minimal requirements to use the core features of the engine, and not a 'mod' based system for people who want to write a game and only really need to 'mod' the starter apps via scripts.
I plan on using all of the advanced features of the engine; the scripting system, the world editors, tools, but I want to build my game specifics from scratch.
I am going to be programming this game exclusively until my game is complete. If anyone at garagegames, either on staff or as a community member, wishes to make themselves available for direct email based developer support for me I will happily accept your email address.
Hopefully this will be the last you'll hear of my complaining and all future posts to this thread will be related to positive development progress, but I make no promises. ;-)
The Framework Goal:
Online only game. Pay once for the client. The going rate on GG seems to be $19.95. The game Server(s) will be hosted privately and the game Client will require authentication (license) to join a server. The 'universe' including the player's character data will be persistent. Environments (missions) will be semi-persistent.
3D
client/server architecture
dedicated server environments (Missions)
persistent universe
lots of NPC and automated systems
multiplayer client
player's perspective is character based.
1st, 3rd, other camera views also available
player can use vehicles
Back later. See ya.
Mr Anon
Have the new Torque Engine docs been released yet?
I am starting (finally) to build my game framework. I have spent a good deal of time on the game design document.
I will be using the starter.fps and starter.racing as a reference but I want to start this new TGE Game Framwork from scratch.
In other words, I don't want to use any code from the SDK/game folder 'as is'.
I have a new folder named TGEGame that will have all of 'my' game framework code files, and leave all the Torque files right where they are for ease in upgrading the TGE. (Yes I'm talking about you TSE!)
If this doesn't make sense to anyone that knows the core Torque Engine, please feel free to say so, since I am only vaguely familiar with the core Torque Engine and I will happily accept any assistance.
My first problem is trying to figure out what this stuff does in the example game code. I will be patiently stepping through this code for months to come while building the game. Most of the sample game code is not documented and therefore I'm finding myself following code around in circles, in and out of script, etc., to figure out what it does, when a little bit of source code documentation from the author(s) would have made understanding it quick and painless. Which brings me to the next issue.
Where do I look for information regarding the engine source? The majority of the core engine source 'documentation' is a simple listing of the classes and their members, without any actual comments. This doesn't really help me, since I can look at the actual source code file and learn more, faster, but still doesn't explain what they're used for. For that, I have had to look at how it's used in the code examples, which takes a lot more time and effort.
I've read rumors of new documentation coming out. Hopefully the new docs will address these issues. I also have looked at the 'resources'; the majority seem to deal with very specific issues and are mostly script based. The most usefull resource so far was the object heirarchy diagram in the docs.
I have a few suggestions. In the resources section, there is a Torque EngineTechnology section. There should be an abundance of resources in this section for people who want to create a new game and not use starter. for anything more than a lookup reference. Some examples would be a simple framework with minimal requirements to use the core features of the engine, and not a 'mod' based system for people who want to write a game and only really need to 'mod' the starter apps via scripts.
I plan on using all of the advanced features of the engine; the scripting system, the world editors, tools, but I want to build my game specifics from scratch.
I am going to be programming this game exclusively until my game is complete. If anyone at garagegames, either on staff or as a community member, wishes to make themselves available for direct email based developer support for me I will happily accept your email address.
Hopefully this will be the last you'll hear of my complaining and all future posts to this thread will be related to positive development progress, but I make no promises. ;-)
The Framework Goal:
Online only game. Pay once for the client. The going rate on GG seems to be $19.95. The game Server(s) will be hosted privately and the game Client will require authentication (license) to join a server. The 'universe' including the player's character data will be persistent. Environments (missions) will be semi-persistent.
3D
client/server architecture
dedicated server environments (Missions)
persistent universe
lots of NPC and automated systems
multiplayer client
player's perspective is character based.
1st, 3rd, other camera views also available
player can use vehicles
Back later. See ya.
Mr Anon
#2
John Vanderbeck's tutorials are a good starting point, as is MinApp (John's simply build off of MinApp). Unfortunately, if I remember correctly I had some issues early on following these tutorials that I couldn't figure out.
This is exactly the reason I haven't touched TGE in about a year.
05/03/2005 (3:39 pm)
I wanted to do the exact same thing when I first started playing with TGE. I didn't want to touch any of the code from the starters, and simply use them as reference - start w/ a clean slate so to speak.John Vanderbeck's tutorials are a good starting point, as is MinApp (John's simply build off of MinApp). Unfortunately, if I remember correctly I had some issues early on following these tutorials that I couldn't figure out.
This is exactly the reason I haven't touched TGE in about a year.
#3
Evic, I almost know enough about the starter.fps and engine source to know which main objects I need to subclass to put together a basic running game. It isn't a small list, but it isn't that long compared to the amount of engine code. I am going to spend the next several months developing the framework along with the game systems.
Mr Anon
05/03/2005 (5:59 pm)
Dreamer, I am making a game. I am not talking about selling the source code.Evic, I almost know enough about the starter.fps and engine source to know which main objects I need to subclass to put together a basic running game. It isn't a small list, but it isn't that long compared to the amount of engine code. I am going to spend the next several months developing the framework along with the game systems.
Mr Anon
#4
I dont know why anyone would want to start from *scratch* with TGE, as its main purpose is to give you a _working_ game engine to build off of, no re-inventing the wheel. But whatever, do what you will. By the time you get a game framework up someone else could complete a full game.
05/03/2005 (6:19 pm)
I dont see the point in doing that, unless you want *way different* gameplay than the starter.fpsI dont know why anyone would want to start from *scratch* with TGE, as its main purpose is to give you a _working_ game engine to build off of, no re-inventing the wheel. But whatever, do what you will. By the time you get a game framework up someone else could complete a full game.
#5
05/03/2005 (6:23 pm)
Ed, yes. The game is much different than starter.fps. The basic systems will be very similar, nearly identical in function, but designed differently. I hope the game that someone else could create is fun to play, because I love to play fun games.
#6
ConsoleObject
Event
GameInterface
GuiControl
GuiTSCtrl
InputManager
NetConnection
NetEvent
SimDataBlock
SimDataBlockGroup
SceneObject
SimGroup
SimEvent
MoveManager
Move
05/04/2005 (3:07 pm)
After looking at the game source and documentation today I have made a list of some classes to derive the framework from. This is not a complete list. I will edit it based on my progress and feedback.ConsoleObject
Event
GameInterface
GuiControl
GuiTSCtrl
InputManager
NetConnection
NetEvent
SimDataBlock
SimDataBlockGroup
SceneObject
SimGroup
SimEvent
MoveManager
Move
Torque Owner Dreamer
Default Studio Name