Is torque the right sdk for me - mmog/database/other questions
by Glynn James · in General Discussion · 04/20/2005 (7:40 am) · 85 replies
Hi all!
Im hoping some of you will be kind enough to answer some questions i have!
Ive been looking at various different sdk/tools/engines to decide which is the best/most viable one for what i would like to do, and although torque sems to be coming out on top so far, having looked at lots and lots of post theres still some things im not sure of.
For some background i have VB/c++ experinece (some) but im mainly a web designer, database admin and 3d modeller.
The project i want to create isnt something i expect to happen overnight - im fully aware of the time it will take - i view it as more of a hobby project than some unrealistic comercial idea.
Like many others i would like to create a persistant world, with rpg elements etc etc.
Can the torque server side tap into a database to obtain its info? ie character stats not being kept on the client? and can it update a database via odbc or ado etc etc. Im not worried about server side process that run the elements of the game, i can create my own tools to modify a database for the creation of things such as npcs, quests, inventory lists etc etc.
But can torque access them? so can the torque server modify the world based on info in a database, and keep grabbing anything that changes?
I would start with 1 server, running for a small amount of players and providing one realm for them to wander round. but ive heard mention of running multiple servers that provide connected realms (one per server) - i have the ability to add servers to my network - and a few spare computers to use for them, but is the process for making the servers access the same database (if above question is yes obviously) so that they effectively work within the same "world"
Also is there a process for allowing a player to walk through a portal of some kind and appear on the other server?
Another main question - kinda tied in with the others - is there a way to create inventories for characters - even if it is by tapping into the database to display the items etc. does the interface creator tool allow for it?
I supose my main queries are with database access and server to server transfering.
the problem i have seen sofar that concerned me was the ability to make the world persistant and allow players to pick up where they left off.
I hope you can help becuase torque looks good and your community seems very enthusiastic, and to be honest all other avenues are not coming up so good.
Ill post again if i can think of other queries.
Im hoping some of you will be kind enough to answer some questions i have!
Ive been looking at various different sdk/tools/engines to decide which is the best/most viable one for what i would like to do, and although torque sems to be coming out on top so far, having looked at lots and lots of post theres still some things im not sure of.
For some background i have VB/c++ experinece (some) but im mainly a web designer, database admin and 3d modeller.
The project i want to create isnt something i expect to happen overnight - im fully aware of the time it will take - i view it as more of a hobby project than some unrealistic comercial idea.
Like many others i would like to create a persistant world, with rpg elements etc etc.
Can the torque server side tap into a database to obtain its info? ie character stats not being kept on the client? and can it update a database via odbc or ado etc etc. Im not worried about server side process that run the elements of the game, i can create my own tools to modify a database for the creation of things such as npcs, quests, inventory lists etc etc.
But can torque access them? so can the torque server modify the world based on info in a database, and keep grabbing anything that changes?
I would start with 1 server, running for a small amount of players and providing one realm for them to wander round. but ive heard mention of running multiple servers that provide connected realms (one per server) - i have the ability to add servers to my network - and a few spare computers to use for them, but is the process for making the servers access the same database (if above question is yes obviously) so that they effectively work within the same "world"
Also is there a process for allowing a player to walk through a portal of some kind and appear on the other server?
Another main question - kinda tied in with the others - is there a way to create inventories for characters - even if it is by tapping into the database to display the items etc. does the interface creator tool allow for it?
I supose my main queries are with database access and server to server transfering.
the problem i have seen sofar that concerned me was the ability to make the world persistant and allow players to pick up where they left off.
I hope you can help becuase torque looks good and your community seems very enthusiastic, and to be honest all other avenues are not coming up so good.
Ill post again if i can think of other queries.
About the author
#62
I don't (*yet*) know Torque, but I do know C++. There seems to be some terminology confusion here. Thomas is right in a lot of points here, as far as can tell. Matthew, header files are NOT the source, and I don't even think Thomas meant he was going to edit them (heat of the moment statement). You have to have headers and .lib files to link properly to dll's, in the windows world at least. That is not the same as having and modifying source, whether you call it "base source" or not. All you are doing is using linking to extend to already compiled source.
I admit that I am not totally up on other platforms, but I have done a good bit of windows dll prog.
Someone had mentioned that many people modify the source code directly rather than extending it. What happens when GarageGames provides new source? They could trounce your changes?
Which reminds me. I am VERY new here, so I was wondering... There seems to be an INCREDIBLE comunity here. Is there any organized way of keeping track of updates, modifications, etc. Open Source style stuff?
04/20/2005 (12:09 pm)
Wow, it looks like I have just jumped into a very current discussion that is a little heated. By the time I am finished with writing this, there will probably be a half a dozen more posts, so please forgive me if I miss something. I have a few other questions, but I thought I would throw in my 2 cents here.I don't (*yet*) know Torque, but I do know C++. There seems to be some terminology confusion here. Thomas is right in a lot of points here, as far as can tell. Matthew, header files are NOT the source, and I don't even think Thomas meant he was going to edit them (heat of the moment statement). You have to have headers and .lib files to link properly to dll's, in the windows world at least. That is not the same as having and modifying source, whether you call it "base source" or not. All you are doing is using linking to extend to already compiled source.
I admit that I am not totally up on other platforms, but I have done a good bit of windows dll prog.
Someone had mentioned that many people modify the source code directly rather than extending it. What happens when GarageGames provides new source? They could trounce your changes?
Which reminds me. I am VERY new here, so I was wondering... There seems to be an INCREDIBLE comunity here. Is there any organized way of keeping track of updates, modifications, etc. Open Source style stuff?
#63
Who cares? The source code costs $100. You're going to need to buy a license anyway in order to revenue ship a game.
And since you don't like Torque, and are actively advising people *away* from Torque, while claiming to be building your own competing engine... perhaps you should just stop chewing up GG's diskspace and bandwidth and go and actually finish one of those projects you advertise on your website, for once. Stop being a troll, or worse, a ringer.
04/20/2005 (12:11 pm)
Quote:
You are totally misunderstanding and still don't have it right.
etc. etc.
Who cares? The source code costs $100. You're going to need to buy a license anyway in order to revenue ship a game.
And since you don't like Torque, and are actively advising people *away* from Torque, while claiming to be building your own competing engine... perhaps you should just stop chewing up GG's diskspace and bandwidth and go and actually finish one of those projects you advertise on your website, for once. Stop being a troll, or worse, a ringer.
#64
I apologize everyone and forget about this... Just wound up from disputing some claims about Blitz 3D's capabilities when the person contradicted Blit3D's own website lol... didn't mean to get so worked up over specific terms :)
In truth I agree that an engine shouldn't require you to change its source to extend it... and truthfully TAP doesn't require many changes to do so
04/20/2005 (12:11 pm)
Right, after taking a second (lol I'll admit I was wound a bit too tight) I realize the different in terms in reference to Game engine marketing and casual talk vs C++ programming and standard programming... the source code not being the header files...I apologize everyone and forget about this... Just wound up from disputing some claims about Blitz 3D's capabilities when the person contradicted Blit3D's own website lol... didn't mean to get so worked up over specific terms :)
In truth I agree that an engine shouldn't require you to change its source to extend it... and truthfully TAP doesn't require many changes to do so
#65
your answer would be yes it could be done, with some modifications... Stephen put it best in his post above
04/20/2005 (12:20 pm)
Sorry for going off topic anyways.. the question about whether Torque is good for MMOG or database.your answer would be yes it could be done, with some modifications... Stephen put it best in his post above
#66
I posted this as a FAQ the other day, but it disappeared. Ken's book is pretty good, and it (necessarily) does a lot of primer on programming. It assumes people are not programmers, so it completely (so far, I am not all the way through it) focusses on the scripting side.
To be honest, I am a C++ programmer. I like C++, and I am not all that in to using scripts. I have the tools, and I like type safety, OOP (haven't seen classes in the script yet), and most importantly an integrated debugger.
Like I said, I don't have the full Engine yet. Is there more of a debugger? Is there a weakness to using pure C++ if you know it? It seems that the scripts are sort of JIT compiled or something into cs.dso files. Are there security issues with shipping them?
Thanks
04/20/2005 (12:21 pm)
I got a copy of Ken Finney's book and I have been reading it over. I also looked at the demos, (though not under the hood at all yet), and the engine looks cool. I am probably going to drop the $100 on the full thing, but I am still looking at what to work with.I posted this as a FAQ the other day, but it disappeared. Ken's book is pretty good, and it (necessarily) does a lot of primer on programming. It assumes people are not programmers, so it completely (so far, I am not all the way through it) focusses on the scripting side.
To be honest, I am a C++ programmer. I like C++, and I am not all that in to using scripts. I have the tools, and I like type safety, OOP (haven't seen classes in the script yet), and most importantly an integrated debugger.
Like I said, I don't have the full Engine yet. Is there more of a debugger? Is there a weakness to using pure C++ if you know it? It seems that the scripts are sort of JIT compiled or something into cs.dso files. Are there security issues with shipping them?
Thanks
#67
Yes, those that elect to modify existing classes have to deal with changes from GG. Keep in mind here that a large portion of this community are true "indy" game dev's, and many are simply people that think $100 is worthwhile as a starting point to learn game dev in all it's forms (project management, OOP design principles, c++ skillset, the whole gamut).
There isn't a high percentage of people with dozens of years of software development experience that are using TAP--it's one of our strengths actually! But you are correct, those that don't fully understand "best practices of OOP development" may cause themselves a bit more work in the long run, but hey--for many, this is a hobby, and even that extra work is a learning experience! And those that are highly experienced in development in an OOP environment know the pitfalls of modification vs extension, and either knowingly accept it, or avoid it!
04/20/2005 (12:25 pm)
Quote:Someone had mentioned that many people modify the source code directly rather than extending it. What happens when GarageGames provides new source? They could trounce your changes?
Yes, those that elect to modify existing classes have to deal with changes from GG. Keep in mind here that a large portion of this community are true "indy" game dev's, and many are simply people that think $100 is worthwhile as a starting point to learn game dev in all it's forms (project management, OOP design principles, c++ skillset, the whole gamut).
There isn't a high percentage of people with dozens of years of software development experience that are using TAP--it's one of our strengths actually! But you are correct, those that don't fully understand "best practices of OOP development" may cause themselves a bit more work in the long run, but hey--for many, this is a hobby, and even that extra work is a learning experience! And those that are highly experienced in development in an OOP environment know the pitfalls of modification vs extension, and either knowingly accept it, or avoid it!
#68
Good point about your source changes getting trounced by updates from the engine developers.
@ R D
As I stated before, I didn't post in this thread to promote my own product. Otherwise I would have mentioned it publicly in this forum before someone else had mentioned it. In fact, I'd rather not discuss my engine here since it is not ready for prime-time. Please don't call me names and don't tell me what I should be doing. I am not here to upset anyone or cause problems. As you'll note, I even wished Glynn good luck in his use of Torque.
04/20/2005 (12:26 pm)
@RickGood point about your source changes getting trounced by updates from the engine developers.
@ R D
As I stated before, I didn't post in this thread to promote my own product. Otherwise I would have mentioned it publicly in this forum before someone else had mentioned it. In fact, I'd rather not discuss my engine here since it is not ready for prime-time. Please don't call me names and don't tell me what I should be doing. I am not here to upset anyone or cause problems. As you'll note, I even wished Glynn good luck in his use of Torque.
#69
04/20/2005 (12:26 pm)
@Rick to address your final question about shipping .dso's AFAIK no one has ever been able to decompile one. And yes they are compiled on the fly. One issue you may have though it's a minor concern is that .dso's are not cross platform. You cannot make them in Windows and have them run on a Mac (something about endian size), but the easiest workaround is to just run once on each of the platforms you plan to ship for, and then you have .dso's for everyone! :)
#70
You make it sound like people have been trying. I doubt anyone's really made a serious attempt.
As with anything else, you should assume everything (dso files, compiled c++ code, 'encrypted' models, etc) that you ship with the client can be decompiled, decrypted and/or modified.
04/20/2005 (12:46 pm)
Quote: AFAIK no one has ever been able to decompile one.
You make it sound like people have been trying. I doubt anyone's really made a serious attempt.
As with anything else, you should assume everything (dso files, compiled c++ code, 'encrypted' models, etc) that you ship with the client can be decompiled, decrypted and/or modified.
#71
Made a game, dealt with engine updates, made core source changes AND inherited classes.
None of these concerns were show stoppers for professional developers.
Worked for a year with Lithtech. We built Lore with TGE.
You decide which one we liked better ;)
04/20/2005 (12:46 pm)
NARFMade a game, dealt with engine updates, made core source changes AND inherited classes.
None of these concerns were show stoppers for professional developers.
Worked for a year with Lithtech. We built Lore with TGE.
You decide which one we liked better ;)
#72
04/20/2005 (12:53 pm)
@Mark, I HAVE been trying
#73
They may not be showstoppers for professional developers, but for someone with little c++ experience and mostly DB experience, it certainly could be.
As far as Lithtech and Torque go, I've used both of them for evaluation and I think Lithtech is better.
04/20/2005 (12:55 pm)
@EdwardThey may not be showstoppers for professional developers, but for someone with little c++ experience and mostly DB experience, it certainly could be.
As far as Lithtech and Torque go, I've used both of them for evaluation and I think Lithtech is better.
#74
We've targetted a 30 to ~400 user range to get going and have read several books on MMO concepts. I've read the books Massively Multiplayer Game Development 1 & 2 (ISBN 1584502436 & 1584503904) and gained an insight on how other companies did things. If anything you gain a little knowledge on what to expect. I always remember that Ultima Online started out as targeting a smaller audience and only if you build your game on Torque to prototype it... a bigger company may pick it up and you'll have resources for an engine more specific to the environment (Or you'll use Torque and set a new industry product for MMO dev *grins evily*)
It's a big task though... project planning, hardware requirements, fault tolerance and backup. It isn't a persistant world if you don't have backups and a plan to get them up in a timely manner.
Lots of resources here too, a very active community and I hope some more tricks filter out of current projects to bolster the engine's capabilities.
04/20/2005 (12:58 pm)
Hehe, I'm not going to add to the thread hijacking there. We're doing basically the same thing you are looking to do Glynn and we're using the Torque engine. I believe one of the other posters stated, in another thread on this very topic, if you have the time and the skills you can mold Torque to do what you want.We've targetted a 30 to ~400 user range to get going and have read several books on MMO concepts. I've read the books Massively Multiplayer Game Development 1 & 2 (ISBN 1584502436 & 1584503904) and gained an insight on how other companies did things. If anything you gain a little knowledge on what to expect. I always remember that Ultima Online started out as targeting a smaller audience and only if you build your game on Torque to prototype it... a bigger company may pick it up and you'll have resources for an engine more specific to the environment (Or you'll use Torque and set a new industry product for MMO dev *grins evily*)
It's a big task though... project planning, hardware requirements, fault tolerance and backup. It isn't a persistant world if you don't have backups and a plan to get them up in a timely manner.
Lots of resources here too, a very active community and I hope some more tricks filter out of current projects to bolster the engine's capabilities.
#75
EDIT:
Your engine looks interesting as well. Good luck on it.
04/20/2005 (1:22 pm)
Er...wow. This thread blew up. Basically, you're saying that you like the design philosophy behind Lithtech more than Torque. I can appreciate that. I like modularity, but I also like TGE's pricetag and community. And since I dig through source on a daily basis, I dug in and have figured it out. There is a huge learning curve, though. And there's a LOT that could be cleaned up, which is part of the focus in the next versions of TGE. Plus, I'm not a big fan of the Lithtech SDK. I didn't like Quake 3's much either. I haven't used the actual engine (aside from the SDK) as it is out of my price range. Jupiter is a nice engine, though. NOLF2 was damn fun!EDIT:
Your engine looks interesting as well. Good luck on it.
#76
Not only is this thread hijacked it's halfway to Cuba!
@Glynn:
I think everything you are talking about doing is very doable with Torque (Stephen or GG guys correct me if I'm wrong). If you can run a 32 or 64 player FPS server with Torque (tribes2, legends) it should be able to handle at least tht many if not more for an RPG style game.
04/20/2005 (2:47 pm)
Cripes!Not only is this thread hijacked it's halfway to Cuba!
@Glynn:
I think everything you are talking about doing is very doable with Torque (Stephen or GG guys correct me if I'm wrong). If you can run a 32 or 64 player FPS server with Torque (tribes2, legends) it should be able to handle at least tht many if not more for an RPG style game.
#77
The fact that something i posted a few hours ago developed into 77 (at current count) posts from various people gave me an insight into what the community with torque is like - which is a major bonus.
Thanks everyone for your help - including the posts that - as cholly said - went halfway to cuba
Above everything i'd like to achieve with my project (after a few "hello world" types) is the desire to experiment and see what i can learn in the process. Its quite interesting to see everyones views on such a project.
Ive got some interesting times and a steep learning curve ahead i guess - as i fully expected.
But im looking forward to it :)
04/20/2005 (3:42 pm)
I dont mind that this thread blew up - i got the answers to my questions and much much moreThe fact that something i posted a few hours ago developed into 77 (at current count) posts from various people gave me an insight into what the community with torque is like - which is a major bonus.
Thanks everyone for your help - including the posts that - as cholly said - went halfway to cuba
Above everything i'd like to achieve with my project (after a few "hello world" types) is the desire to experiment and see what i can learn in the process. Its quite interesting to see everyones views on such a project.
Ive got some interesting times and a steep learning curve ahead i guess - as i fully expected.
But im looking forward to it :)
#78
I think one of things Thomas is saying is that extensibility is not the only important factor in good OO design. The other factor is the ability to reuse code while extending the engine.
For example, one could use a high-level interface in Torque to extend most any part of the system - so long as one is willing to completely rewrite entire parts of the framwork from the ground up. In the ideal C++ API, the engine could be extended WITHOUT having to rewrite entire huge classes from nigh-scratch.
And this would be a nice feature, one which Torque could be capable of if refactored to a rather large degree. And I believe some of this is happening and has happened (see the component system). But, at the end of the day, Torque isn't a class library with a clean API with a super-flexible underlying engine structure. Instead, it's a commercial game framework which is a great... no, a WONDERFUL starting point for rapidly prototyping and creating games.
Fo shizzle!
04/20/2005 (3:55 pm)
Lol @ threadI think one of things Thomas is saying is that extensibility is not the only important factor in good OO design. The other factor is the ability to reuse code while extending the engine.
For example, one could use a high-level interface in Torque to extend most any part of the system - so long as one is willing to completely rewrite entire parts of the framwork from the ground up. In the ideal C++ API, the engine could be extended WITHOUT having to rewrite entire huge classes from nigh-scratch.
And this would be a nice feature, one which Torque could be capable of if refactored to a rather large degree. And I believe some of this is happening and has happened (see the component system). But, at the end of the day, Torque isn't a class library with a clean API with a super-flexible underlying engine structure. Instead, it's a commercial game framework which is a great... no, a WONDERFUL starting point for rapidly prototyping and creating games.
Fo shizzle!
#79
Any ideas?
04/20/2005 (4:08 pm)
Hmm just tried to download the TBE as advised and the links arent working for the installer or the setup instructions(page not found)Any ideas?
#80
04/20/2005 (4:08 pm)
Ill post a new one for this
Torque 3D Owner Stephen Zepp