A hardy hello and some questions.
by William Gifford · in Torque Game Engine · 06/10/2008 (1:53 pm) · 2 replies
First off, I'd just like to say hello to everyone here in the GG forums. I'm a long time owner first time poster! ;) The sun, moon, and stars are finally aligning in such a way that I'm finally getting to dive into TGEA and create something, hopefully, fun and exciting. I'm a 5+ year professional software developer in th EDA industry here in Oregon. I'm finally starting to move down a path I've been wanting to do since playing Crescent Hawks Inception way back in the day. I've got a room full of rack mount servers and a small team of motivated individuals working on our project. I'm excited to start contributing to the community and also learning from it.
So to the learning part. I appreciate that the TGEA engine is a fairly hands on engine and am quite familiar with jumping head first into a code base. However, I just need a little nudge in a direction so I can pay attention to the right things.
1. Not terribly important to me but has anyone split the TGEA into a static library? Is this common practice with this code base? I like to treat things I don't write as 3rd party. However, as I've been going over the code it all looks pretty intimate. Meaning, I'm going to be modifying engine code more often than not to get the desired results I'm looking for.
2. What is the purpose of T3D code base in the project? Is it necessary for day to day engine duties? It looks to me like it is very specific to the fps style demos and the such. Could I remove T3D and the core features of the engine remain intact? Obviously the demos wouldn't work...anyway I'm identifying things I would use and things I wouldn't for the project. Is it common practice to modify/remove/delete these things in non-standard fps projects?
3. I understand the client/server concept but I am trying to relate it in terms of the project we have going. We are basically making an online only game (not a MMO). It looks like I would need to use TNL (for encryption mostly) vs. the built-in TGE networking API. We figure for internal prototyping we can use the built-in API but for production this would not be a smart choice for security reasons (plain text pass words, unencrypted packets, etc...). I'm getting the feeling that for anything other than the stock demo FPS it's going to be a fair amount of work. Is this the case? Does someone have examples they can point me to where people have handled online non-fps games with TGEA? On a side note this might a good demo as this is where the industry is heading IMO.
Thanks for your time and patience in reading this. Also thanks ahead of time for any helpful tips...
So to the learning part. I appreciate that the TGEA engine is a fairly hands on engine and am quite familiar with jumping head first into a code base. However, I just need a little nudge in a direction so I can pay attention to the right things.
1. Not terribly important to me but has anyone split the TGEA into a static library? Is this common practice with this code base? I like to treat things I don't write as 3rd party. However, as I've been going over the code it all looks pretty intimate. Meaning, I'm going to be modifying engine code more often than not to get the desired results I'm looking for.
2. What is the purpose of T3D code base in the project? Is it necessary for day to day engine duties? It looks to me like it is very specific to the fps style demos and the such. Could I remove T3D and the core features of the engine remain intact? Obviously the demos wouldn't work...anyway I'm identifying things I would use and things I wouldn't for the project. Is it common practice to modify/remove/delete these things in non-standard fps projects?
3. I understand the client/server concept but I am trying to relate it in terms of the project we have going. We are basically making an online only game (not a MMO). It looks like I would need to use TNL (for encryption mostly) vs. the built-in TGE networking API. We figure for internal prototyping we can use the built-in API but for production this would not be a smart choice for security reasons (plain text pass words, unencrypted packets, etc...). I'm getting the feeling that for anything other than the stock demo FPS it's going to be a fair amount of work. Is this the case? Does someone have examples they can point me to where people have handled online non-fps games with TGEA? On a side note this might a good demo as this is where the industry is heading IMO.
Thanks for your time and patience in reading this. Also thanks ahead of time for any helpful tips...
#2
06/11/2008 (9:28 am)
Thanks so much...just confirming some of what I've been figuring out...now to press on. Thanks again!
Torque 3D Owner Mark Dynna
1. You're right all the code is pretty intertwined. TGEA 1.7 has gotten better in that respect, but right now I don't think it would be worth effort to split it into a library.
2. I wouldn't be so quick to throw out everything under the T3D folder just yet. Although a lot of it is specific to an FPS style of game, there is also a lot of good, generic stuff in there. If you look at the class hierarchy in the documentation, you should consider everything from ShapeBase and "down" to be "game implementation" classes and thus up for refactoring or replacement. However, those classes do have a lot of good examples on solving common problems that you may want to keep around, or even use as a basis for your classes. To answer your question directly: yes, it is common to modify/remove/delete much of the code found under the T3D folder in the solution, but that's where you're actually going to be doing the "business" of writing the implementation of your game's functionality, so that's no surprise. However, there are classes in that folder that I (at least) would consider "core" functionality to Torque.
3. TNL is (from my understanding) an independent product based off of the original TGE Networking code. If encryption is a big need on your list, I think it will be far easier for you to just add Encryption to the existing network code rather than replacing it wholesale with TNL, which is very similar anyway.
TGEA is still fairly new, so examples of published titles using it are few, but one of the best ones (in what you're looking for) that I can think of would be Dreamlords. I hope this information helps!