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
#2
And as i said, im fully aware of the enormity of what i want to achieve - even on a small scale - I have a lot of patience hehe
All i wanted to know really was - will the tools allow me or will i get sofar and be stopped by the engine rather than my learning curve (which i fully expect to be pretty big)
One thing i am limited by that i see might be a problem is i dont have the c++ development tools - so the source code would be a bit of a limit for me
04/20/2005 (7:57 am)
Thanks stephen!And as i said, im fully aware of the enormity of what i want to achieve - even on a small scale - I have a lot of patience hehe
All i wanted to know really was - will the tools allow me or will i get sofar and be stopped by the engine rather than my learning curve (which i fully expect to be pretty big)
One thing i am limited by that i see might be a problem is i dont have the c++ development tools - so the source code would be a bit of a limit for me
#3
However there are several mods and tutorials which can be used to teach you how to make it do those kinds of things.
I am currently writing a tutorial, which takes you from a stock TGE implementation to a fully functioning MMORPG, so far it has required roughly 20 engine mods, however the vast majority of those are for eye candy things and probably specific to my particular game. To go from stock to some sembelence of user data persistance in an MMO environment would IMHO require the following
#1 Database Mod (Actually really easy to implement)
#2 Persistant Targeting Mod (Been around for years, and I just wrote a half decent gui for it)
#3 NPC Interaction Mod (There is already one written, which most of us swear by, and it's implemented entirely in script).
#4 Stats mod (Currently the player has 2 basic stats MaxDamage and MaxEnergy, however this too is pretty easy to extend)
#5 Clientside inventory (Extremely easy, just make client aware he has inventory and then create a GUI to handle it, TGE's gui editor really can't be beat)
#6 God mod, this allows you to fix user problems in game i.e. a GM
#7 Multiple zone trigger mod, yes can be done however due to the way TGE currently handles zones you would have to do a handoff to another server which is running the other zone, my understanding is that TSE fixes this to allow for a single large world, even if it doesn't or that isn't what you want handoff isn't particularly tricky.
Anyways back to your original stuff, the answers to almost all of your questions is simply, yes the engine can be modded to do anything you want, and most of those mods have already been written. My suggestion would be to buy TGE, get familiar with what it DOES do and how it does it, then follow along with my MMORPG tutorials as I show how to implement basically the entire feature set you are asking for.
Hope that helps!
*edit*
Looks like Stephen beat me to the punch on this one :)
04/20/2005 (8:05 am)
The short answer yes TGE, CAN do anything you are capable of programming it to do. However no it posseses almost NONE of that functionality straight out of the box.However there are several mods and tutorials which can be used to teach you how to make it do those kinds of things.
I am currently writing a tutorial, which takes you from a stock TGE implementation to a fully functioning MMORPG, so far it has required roughly 20 engine mods, however the vast majority of those are for eye candy things and probably specific to my particular game. To go from stock to some sembelence of user data persistance in an MMO environment would IMHO require the following
#1 Database Mod (Actually really easy to implement)
#2 Persistant Targeting Mod (Been around for years, and I just wrote a half decent gui for it)
#3 NPC Interaction Mod (There is already one written, which most of us swear by, and it's implemented entirely in script).
#4 Stats mod (Currently the player has 2 basic stats MaxDamage and MaxEnergy, however this too is pretty easy to extend)
#5 Clientside inventory (Extremely easy, just make client aware he has inventory and then create a GUI to handle it, TGE's gui editor really can't be beat)
#6 God mod, this allows you to fix user problems in game i.e. a GM
#7 Multiple zone trigger mod, yes can be done however due to the way TGE currently handles zones you would have to do a handoff to another server which is running the other zone, my understanding is that TSE fixes this to allow for a single large world, even if it doesn't or that isn't what you want handoff isn't particularly tricky.
Anyways back to your original stuff, the answers to almost all of your questions is simply, yes the engine can be modded to do anything you want, and most of those mods have already been written. My suggestion would be to buy TGE, get familiar with what it DOES do and how it does it, then follow along with my MMORPG tutorials as I show how to implement basically the entire feature set you are asking for.
Hope that helps!
*edit*
Looks like Stephen beat me to the punch on this one :)
#4
Anyways TBE (Torque Build Environment) is a free IDE/Compiler environment utilizing Eclipse, Mingw and GCC. My tests thus far have shown a significant increase in speed , and reduction of size on the compiled binary, when compared against the exact same code compiled using Visual Studio.NET Enterprise Architect Edition. I really like this product, and it's a great solution for those who don't have the megabux it takes to buy VS.NET (honestly makes me wish I hadn't spent the several thousand that I did to buy VS.NET)
A word of caution though, the folks working on this thing are calling it an Alpha stage product, and not entirely bug free, however it's been my experience that this ALPHA is in fact much more stable than most of the Beta and finished software I have used.
04/20/2005 (8:11 am)
@Glynn I just noticed your post about a lack of C++ tools, we have a complete IDE and compiler environment for those who are in your situation. The IDE is eclipse, which IMHO is the best IDE for windows around, and the second best IDE I've ever used (I run linux and KDevelop is currently my fav, but oh well).Anyways TBE (Torque Build Environment) is a free IDE/Compiler environment utilizing Eclipse, Mingw and GCC. My tests thus far have shown a significant increase in speed , and reduction of size on the compiled binary, when compared against the exact same code compiled using Visual Studio.NET Enterprise Architect Edition. I really like this product, and it's a great solution for those who don't have the megabux it takes to buy VS.NET (honestly makes me wish I hadn't spent the several thousand that I did to buy VS.NET)
A word of caution though, the folks working on this thing are calling it an Alpha stage product, and not entirely bug free, however it's been my experience that this ALPHA is in fact much more stable than most of the Beta and finished software I have used.
#5
Time to learn is something i have, i never expected to hit the ground running exactly, but walking was what i was hoping for and i think from what you have both said im going to be able to do that.
Just have to convince the bank manager (the wife) hehe
You never know maybe ill make some breakthroughs using tge myself sometime soon :)
04/20/2005 (8:24 am)
Thanks for your help - im convinced :)Time to learn is something i have, i never expected to hit the ground running exactly, but walking was what i was hoping for and i think from what you have both said im going to be able to do that.
Just have to convince the bank manager (the wife) hehe
You never know maybe ill make some breakthroughs using tge myself sometime soon :)
#6
When I was considering the move from A6 to TGE, I downloaded the demo and ran it. Then left it alone for awhile.
My wife saw the new app in the start menu, and played the FPS and racing demos.
She asked me what it was, I explained it was just the demo for an engine I was considering moving to, explained that unlike A6 it was both crossplatform AND came with the full source code.
I was no longer given a choice, she purchased it a couple of days later and THEN let me know about it :)
04/20/2005 (8:31 am)
Have you downloaded the demo?When I was considering the move from A6 to TGE, I downloaded the demo and ran it. Then left it alone for awhile.
My wife saw the new app in the start menu, and played the FPS and racing demos.
She asked me what it was, I explained it was just the demo for an engine I was considering moving to, explained that unlike A6 it was both crossplatform AND came with the full source code.
I was no longer given a choice, she purchased it a couple of days later and THEN let me know about it :)
#7
04/20/2005 (8:37 am)
Iwish life was so easy. I bought tge, girl pack, environment pack, and show tool pro.... The gf got very angry at me and now she wont let me buy the lighting pack :(
#8
04/20/2005 (8:42 am)
I personally wouldn't recommend Torque based on your experience and what you want to accomplish. Torque has a huge learning curve and as some others have said, the functionality you seek isn't right out of the box. So why choose Torque just because it CAN be done, but needs lots of complex work? You can make just about any engine do all those things with work. Why not look for something that is going to have all those things right out of the box or at least doesn't have such a steep learning curve?
#9
I think honestly TGE would be a better choice, no matter what engine he chooses nothing is going to be feature ready out of the box, but here you have something NONE of the others have. An active, involved and helpful community.
04/20/2005 (8:47 am)
@Thomas you mean like www.nevrax.orgI think honestly TGE would be a better choice, no matter what engine he chooses nothing is going to be feature ready out of the box, but here you have something NONE of the others have. An active, involved and helpful community.
#10
And Dreamer's link looks cool on the surface (I had never heard about it before), but it's under GNU GPL--which is an extremely limiting situation if you ever want to make money of your project.
04/20/2005 (8:55 am)
@Thomas: The only thing that even remotely comes close to what he is looking for is realmcrafter, and it's in beta as far as I am aware, and also AFAIK does not provide source code without a decently hefty license fee.And Dreamer's link looks cool on the surface (I had never heard about it before), but it's under GNU GPL--which is an extremely limiting situation if you ever want to make money of your project.
#11
And my main desire comes from playing so many mmorpgs i got bored with quickly that i want to create something i want to play - and if i get bored i can add something new to it. and then spread it out amongst friends if they fancy it aswell.
So commerically it may or may not be viable sometime in the future but right now i just want to be able to play arround with making something i might like.
In answer Dreamer - yes ive downloaded the demo, liked what i saw, especially the sheer size of the world that the demo game included and the flexibility that the engine seem to offer - even on a sandbox level.
It may be that i use it to create a world that i can see my designs and ideas come to life in, or (hopefully) i will learn enough to make some intresting content for it aswell.
Ive played a LOT of mmorpgs, and there are elements which work nicely in many of them, but not one of them sofar gives me everything i want from a game.
Plus my wife wants me to make a game she would like playing - so a cross between the sims and a typical mmorpg style game - interaction being the main thing - as aposed to offering lots of diversions to keep a player happy, why not immerse them in an environment.
My aim at the moment is a small world packed with interesting ideas and places to visit - rather than a huge world full of automated bots that do nothing.
Plus my gaming time is quite high, so if a player wants to build a building somewhere, i can create an evolving area that i update over time as the place develops, and give that player tasks to complete to move the building on.
I want an environment that i can run like a pen and paper rpg game (as the dm) and one that isnt necesarily based on killing and more killing. i like the idea of murder mysteries and investigative scenarios, and roleplaying events etc etc
well its all pie in the sky atm, til i get into the engine and have a play.
04/20/2005 (8:55 am)
I think my wife is more interested in stopping me going to the pub heheAnd my main desire comes from playing so many mmorpgs i got bored with quickly that i want to create something i want to play - and if i get bored i can add something new to it. and then spread it out amongst friends if they fancy it aswell.
So commerically it may or may not be viable sometime in the future but right now i just want to be able to play arround with making something i might like.
In answer Dreamer - yes ive downloaded the demo, liked what i saw, especially the sheer size of the world that the demo game included and the flexibility that the engine seem to offer - even on a sandbox level.
It may be that i use it to create a world that i can see my designs and ideas come to life in, or (hopefully) i will learn enough to make some intresting content for it aswell.
Ive played a LOT of mmorpgs, and there are elements which work nicely in many of them, but not one of them sofar gives me everything i want from a game.
Plus my wife wants me to make a game she would like playing - so a cross between the sims and a typical mmorpg style game - interaction being the main thing - as aposed to offering lots of diversions to keep a player happy, why not immerse them in an environment.
My aim at the moment is a small world packed with interesting ideas and places to visit - rather than a huge world full of automated bots that do nothing.
Plus my gaming time is quite high, so if a player wants to build a building somewhere, i can create an evolving area that i update over time as the place develops, and give that player tasks to complete to move the building on.
I want an environment that i can run like a pen and paper rpg game (as the dm) and one that isnt necesarily based on killing and more killing. i like the idea of murder mysteries and investigative scenarios, and roleplaying events etc etc
well its all pie in the sky atm, til i get into the engine and have a play.
#12
-No out of game world editor. I'm sorry, but the in-game Torque editor is just horrible and doesn't lend itself to ease of development. Torque seriously needs a robust IDE
-Everything is a script unless you want to modify the source code. Why not let the programmers simply extend the engine by inheriting classes from base engine objects?
-Networking would need to be re-worked to fit into the concept of a multi-server, persistent state world with lots of zones
-Database access of course would need a serious code change to implement.
04/20/2005 (9:00 am)
TGE definitely has a lot of upside, but it's not for everyone. And there are products in development that will have those features out of the box. Nevrax may be one of them, but I'm not promoting their product. Some of the limitations of Torque that I see for a project like Glynn wants to do are as follows:-No out of game world editor. I'm sorry, but the in-game Torque editor is just horrible and doesn't lend itself to ease of development. Torque seriously needs a robust IDE
-Everything is a script unless you want to modify the source code. Why not let the programmers simply extend the engine by inheriting classes from base engine objects?
-Networking would need to be re-worked to fit into the concept of a multi-server, persistent state world with lots of zones
-Database access of course would need a serious code change to implement.
#13
Ive got blitz basic and it isnt going to do what i want. i also have darkbasic and thats another one that isnt going to hit the mark.
The Nel engine is something else i looked at but to be honest i couldnt even get past downloading the source in the first place, and it would need extensive c++ knowledge before i even got a working model up and running. whereas torque seem to offer the ability to create something quite quickly and then add the functionality i want gradually as an on going project.
this isnt something i came up with yesterday, ive been examining engines of all kinds for months now.
Also, you need to cross me off the commerical project list - that isnt my intention - although i wouldnt say it was something i will never do - just not what i envisioned driving the project.
04/20/2005 (9:03 am)
Ive looked at realmcrafter - and if im right it looks like a blitzbasic project? maybe im wrong - but something written in blitz basic surely wont offer better than what blitz basic does as an engine, which is pretty poor from what ive seen of itIve got blitz basic and it isnt going to do what i want. i also have darkbasic and thats another one that isnt going to hit the mark.
The Nel engine is something else i looked at but to be honest i couldnt even get past downloading the source in the first place, and it would need extensive c++ knowledge before i even got a working model up and running. whereas torque seem to offer the ability to create something quite quickly and then add the functionality i want gradually as an on going project.
this isnt something i came up with yesterday, ive been examining engines of all kinds for months now.
Also, you need to cross me off the commerical project list - that isnt my intention - although i wouldnt say it was something i will never do - just not what i envisioned driving the project.
#14
No disrepect intended here man, but you are pretty offbase with a couple of things:
-the World Editor does what it is designed to do exceptionally well. If you have specific comments/critiques, GG would love to hear them...editor modifications are always good things to have if the critiques are well thought out and specific.
-You can (and do, often) extend the game engine by inheriting classes from base engine objects. That's why you get the source code with the purchase. People do it all the time. As opposed to licenses for, say, Unreal, which don't give you access to the source code at all (unless you want to drop $750k on the license).
-There isn't a product on the market that won't require modifying network code for architecture specifics, and most certainly not one for $100. And if you are doing zoned (or in TAP parlance, mission based) development, then TGE not only lets you do this, but lets you do this with just a couple of dozen lines of script--and there is a resource that does it for you.
-implementing database access takes roughly 4 hours with the resources available--tops (if you have any project building experience at all). There are absolutely zero "serious code changes" required to implement. You do of course have to design your database, but again, you have to do that with any flexible product.
04/20/2005 (9:08 am)
@Thomas:No disrepect intended here man, but you are pretty offbase with a couple of things:
-the World Editor does what it is designed to do exceptionally well. If you have specific comments/critiques, GG would love to hear them...editor modifications are always good things to have if the critiques are well thought out and specific.
-You can (and do, often) extend the game engine by inheriting classes from base engine objects. That's why you get the source code with the purchase. People do it all the time. As opposed to licenses for, say, Unreal, which don't give you access to the source code at all (unless you want to drop $750k on the license).
-There isn't a product on the market that won't require modifying network code for architecture specifics, and most certainly not one for $100. And if you are doing zoned (or in TAP parlance, mission based) development, then TGE not only lets you do this, but lets you do this with just a couple of dozen lines of script--and there is a resource that does it for you.
-implementing database access takes roughly 4 hours with the resources available--tops (if you have any project building experience at all). There are absolutely zero "serious code changes" required to implement. You do of course have to design your database, but again, you have to do that with any flexible product.
#15
You shouldn't have to have the source code to extend an engine. And if the engine is designed well enough you shouldn't need the source code.
04/20/2005 (9:14 am)
@Stephen:You shouldn't have to have the source code to extend an engine. And if the engine is designed well enough you shouldn't need the source code.
#16
04/20/2005 (9:30 am)
Thomas... with you not being an SDK owner... I find many of your comments a bit odd. As someone who doesn't have access to the Torque Source Code you have made several comments about the engine capabilities with no real knowledge of how things in the engine are setup.
#17
I purchased a Torque SDK a couple of years ago and played with it for a while before abandoning it. That qualifies me as an SDK owner as far as I know.
04/20/2005 (9:35 am)
@HaroldI purchased a Torque SDK a couple of years ago and played with it for a while before abandoning it. That qualifies me as an SDK owner as far as I know.
#18
the package - Torque Game Engine SDK "Indie" priced at $100 is the one i want to start off with?
Also does this come in a useable format after installation? the impression i get is that it will need compiling? or is that just if i want to change the sdk to mod the actual engine?
04/20/2005 (9:39 am)
Sorry to divert you away from this discussion but just to confirm before i spend my cash (having convinced the bank manager/wife quite easily hehe) the package - Torque Game Engine SDK "Indie" priced at $100 is the one i want to start off with?
Also does this come in a useable format after installation? the impression i get is that it will need compiling? or is that just if i want to change the sdk to mod the actual engine?
#19
Check out TBE... It is free and works quite well
04/20/2005 (9:41 am)
You dont need a compiler to use it. But you will if you ever want to mod the engine.Check out TBE... It is free and works quite well
#20
thats all i needed thanks, i can worry about extending the engine/adding functionality when ive got a grasp of the engine in its native form :)
04/20/2005 (9:43 am)
So after installation, i can start on my project straight away with the installed toolsthats all i needed thanks, i can worry about extending the engine/adding functionality when ive got a grasp of the engine in its native form :)
Torque 3D Owner Stephen Zepp
--MySQL access: resource available
--trigger based server transfer (walking to a zone line and getting moved to a new server): resource available
--inventory management (basic): resource available. NOTE: Currently IIRC this one isn't particularly secure, as it dumps the entire client inventory from the server to the client on every request. I've not personally used this resource, so I can't recommand how appropriate it will be.
Now, the disclaimer: many projects have accomplished all of the things that you are talking about: Adellion, Horizons: Dark Lore, Minions of Mirth, and my own project (Nemesis Vortex) in some form or another, and it is not trivial. You mention that your skill set includes web design and database admin, and these skills will help, but the sheer complexity of a fully operational game simulation (Torque), combined with a persistent world with RPG elements is going to be incredibly daunting, and difficult to master.
I'm not trying to warn you off here or anything, but one thing you will find is that while these resources are available, using them well is incredibly complex...and as a first project with any game engine, much less Torque, you will find yourself being very frustrated for the first several months. If you can persevere and learn the development skills you will need, and have the timeframe to do what you want to do on an Indy time budget, you can accomplish great things, but none of this stuff is easy!