Torque and Persistant Universe
by Van Stokes · in General Discussion · 11/06/2004 (5:26 am) · 14 replies
I have a few questions about Torque that I would like some experienced Torque users to answer.
1. Can Torque support a PERSISTANT Universe game (like Everquest, Eve, etc)? Is Torque ideal for this type of implementation or is there something more suited towards Persistant gaming?
2. If question 1 is YES then, can Torque server services (if there is such a thing) run on mutliple hardware servers and be able to inter-communicate to one another to support thousands of network connections and users simultaneously?
3. What database support (SQL, MySQL, Oracle, etc) is there in Torque (if any)?
4. Can Torque handle space flight? All the demos I have seen involve "terrain". We are looking at doing a game that involves space and terrain (space to/from terrain).
5. Does Torque have true newtonian physics integrated? I don't mean just "collision detection", I mean that at collision detection there are force impact data and force vector calculations, gravity control, gravatation force effect on distant space bodies, velocity vs friction, orbital calculations, etc, etc, etc.
6. Is (must?) all development done through the Torque scripting language or (and/or?) do you write C++ code and include Torque libraries?
7. Anything else I should know relative to Torque and Persistance MMORPG type games?
1. Can Torque support a PERSISTANT Universe game (like Everquest, Eve, etc)? Is Torque ideal for this type of implementation or is there something more suited towards Persistant gaming?
2. If question 1 is YES then, can Torque server services (if there is such a thing) run on mutliple hardware servers and be able to inter-communicate to one another to support thousands of network connections and users simultaneously?
3. What database support (SQL, MySQL, Oracle, etc) is there in Torque (if any)?
4. Can Torque handle space flight? All the demos I have seen involve "terrain". We are looking at doing a game that involves space and terrain (space to/from terrain).
5. Does Torque have true newtonian physics integrated? I don't mean just "collision detection", I mean that at collision detection there are force impact data and force vector calculations, gravity control, gravatation force effect on distant space bodies, velocity vs friction, orbital calculations, etc, etc, etc.
6. Is (must?) all development done through the Torque scripting language or (and/or?) do you write C++ code and include Torque libraries?
7. Anything else I should know relative to Torque and Persistance MMORPG type games?
#2
1. Can Torque support a PERSISTANT Universe game (like Everquest, Eve, etc)? Is Torque ideal for this type of implementation or is there something more suited towards Persistant gaming?
1. yes it can, but it will take some work. torque doesnt have any built in way to save the camp data off to a persistant database. It doesnt have an db specific object/attribute dirty system for detecting when you need to update to db, it also doesnt have a mechanism for dynamically loading data from a database. but all of that is possible.
Quote:
2. If question 1 is YES then, can Torque server services (if there is such a thing) run on mutliple hardware servers and be able to inter-communicate to one another to support thousands of network connections and users simultaneously?
2. not as it is, you would have to add the additional communication and inter-communication messages.
Quote:
3. What database support (SQL, MySQL, Oracle, etc) is there in Torque (if any)?
3. there is no support out of the box, there is a fair amount of work to get it to do this and there are some examples already.
Quote:
4. Can Torque handle space flight? All the demos I have seen involve "terrain". We are looking at doing a game that involves space and terrain (space to/from terrain).
4. There are games being made which are in space and doesn't use any terrain. Search the site.
Quote:
5. Does Torque have true newtonian physics integrated? I don't mean just "collision detection", I mean that at collision detection there are force impact data and force vector calculations, gravity control, gravatation force effect on distant space bodies, velocity vs friction, orbital calculations, etc, etc, etc.
5. You can code some of that in, it does not provide all of that but people have put in gravity wells for example.
Quote:
6. Is (must?) all development done through the Torque scripting language or (and/or?) do you write C++ code and include Torque libraries?
6. I wouldnt recommend writing a heavily content based game, like a MMO, all in script. especially since you will need to grow it and expand it later. script can get out of control and lets face it, its slower then c++, do heavy logic, math,etc in c++ and some of the game logic in script so its easy to modify. its really a balance, it would probably be best to not go overboard in either direction but find a balance between script and code.
Quote:
7. Anything else I should know relative to Torque and Persistance MMORPG type games?
7. It's difficult. its missing a lot of pieces in regards to a properly function MMO with persistance. Just getting it save and load the basic data is only the beginning. You will need to modify the code but it is do-able :)
11/08/2004 (6:53 am)
Quote:1. Can Torque support a PERSISTANT Universe game (like Everquest, Eve, etc)? Is Torque ideal for this type of implementation or is there something more suited towards Persistant gaming?
1. yes it can, but it will take some work. torque doesnt have any built in way to save the camp data off to a persistant database. It doesnt have an db specific object/attribute dirty system for detecting when you need to update to db, it also doesnt have a mechanism for dynamically loading data from a database. but all of that is possible.
Quote:
2. If question 1 is YES then, can Torque server services (if there is such a thing) run on mutliple hardware servers and be able to inter-communicate to one another to support thousands of network connections and users simultaneously?
2. not as it is, you would have to add the additional communication and inter-communication messages.
Quote:
3. What database support (SQL, MySQL, Oracle, etc) is there in Torque (if any)?
3. there is no support out of the box, there is a fair amount of work to get it to do this and there are some examples already.
Quote:
4. Can Torque handle space flight? All the demos I have seen involve "terrain". We are looking at doing a game that involves space and terrain (space to/from terrain).
4. There are games being made which are in space and doesn't use any terrain. Search the site.
Quote:
5. Does Torque have true newtonian physics integrated? I don't mean just "collision detection", I mean that at collision detection there are force impact data and force vector calculations, gravity control, gravatation force effect on distant space bodies, velocity vs friction, orbital calculations, etc, etc, etc.
5. You can code some of that in, it does not provide all of that but people have put in gravity wells for example.
Quote:
6. Is (must?) all development done through the Torque scripting language or (and/or?) do you write C++ code and include Torque libraries?
6. I wouldnt recommend writing a heavily content based game, like a MMO, all in script. especially since you will need to grow it and expand it later. script can get out of control and lets face it, its slower then c++, do heavy logic, math,etc in c++ and some of the game logic in script so its easy to modify. its really a balance, it would probably be best to not go overboard in either direction but find a balance between script and code.
Quote:
7. Anything else I should know relative to Torque and Persistance MMORPG type games?
7. It's difficult. its missing a lot of pieces in regards to a properly function MMO with persistance. Just getting it save and load the basic data is only the beginning. You will need to modify the code but it is do-able :)
#3
Torque can do anything you have the coding skills to include. It is an engine, not a game development system. It has a rendering pipeline and great networking (some of the best in the business). However, it's not a database engine, MMO construction system, or even a painting program.
If you've got $200,000 to spend on an engine that does everything, you might want to look elsewhere. But if you have $200,000 to spend on development, you can expand this engine to do just about anything.
There are groups that have changed torque to do:
1) Racing
2) Space combat
3) RTS
4) MMO
5) RPG
6) Puzzle games
7) Dev environment
And much more...
- Brett
11/08/2004 (7:12 am)
To answer your questions (all rolled up):Torque can do anything you have the coding skills to include. It is an engine, not a game development system. It has a rendering pipeline and great networking (some of the best in the business). However, it's not a database engine, MMO construction system, or even a painting program.
If you've got $200,000 to spend on an engine that does everything, you might want to look elsewhere. But if you have $200,000 to spend on development, you can expand this engine to do just about anything.
There are groups that have changed torque to do:
1) Racing
2) Space combat
3) RTS
4) MMO
5) RPG
6) Puzzle games
7) Dev environment
And much more...
- Brett
#4
but this time a MMO that brings in some cash. That's one of my fantasy's anyway.
But like Brett implied it's expensive to do a mmog. Development, deployment and server operations.
11/08/2004 (8:05 am)
Once we get the shader at production version then we should do a new community projectbut this time a MMO that brings in some cash. That's one of my fantasy's anyway.
But like Brett implied it's expensive to do a mmog. Development, deployment and server operations.
#5
About the database thing, no there are not much work involved to get Torque to read a database. You can do it pure text files very easily, and there are resources for SQLite and MySQL (ODBC too perhaps? Haven't checked).
Also, saying that scripts ain't expandable is quite a stupid advice.
11/09/2004 (1:01 pm)
TheMartian thanks for repeating what I already said.About the database thing, no there are not much work involved to get Torque to read a database. You can do it pure text files very easily, and there are resources for SQLite and MySQL (ODBC too perhaps? Haven't checked).
Also, saying that scripts ain't expandable is quite a stupid advice.
#6
as for expandable(?), yes script is extendible, but as far as writing thousands of lines of
script code and then some for a MMO its not recommended. pretty soon
that translates into hundred of thousands of unmanageable slow script code.
remember you dont just ship and MMO and go home, you have to maintain it,
fix it, change it, add more content, etc. its a growing almost living thing.
Many many teams forget all about that part and dont provide clean easy ways
to grow there online game in a managable way. expecting to just add more
script code to keep adding more content to your MMO/MMP is a huge mistake
and one many have made btw.
been there, seen that, dont do it, fair warning.
11/10/2004 (1:59 pm)
Um i didnt repeat the same thing I included my own answers, try reading it.as for expandable(?), yes script is extendible, but as far as writing thousands of lines of
script code and then some for a MMO its not recommended. pretty soon
that translates into hundred of thousands of unmanageable slow script code.
remember you dont just ship and MMO and go home, you have to maintain it,
fix it, change it, add more content, etc. its a growing almost living thing.
Many many teams forget all about that part and dont provide clean easy ways
to grow there online game in a managable way. expecting to just add more
script code to keep adding more content to your MMO/MMP is a huge mistake
and one many have made btw.
been there, seen that, dont do it, fair warning.
#7
That would be a logistical nightmare to split up cash like that, not to mention potential legal trouble. Instead, they could keep it free, like the Realm Wars project that is currently underway by this community. It's been going on for a while, and they always need people if you're looking to get involved with something like that.
@Stefan: You can indeed get ODBC sources through the DB resources that are posted. I'm running my persistent world's test database off of Access right now, with the intention to export it to mySQL once it's ready for primetime(Access is easy to work with for testing, but noone should want to lean on it for anything close to this kind of level of transactions, as it tends to choke fairly easily).
11/15/2004 (7:52 am)
@Randy: Quote:Once we get the shader at production version then we should do a new community project
but this time a MMO that brings in some cash.
That would be a logistical nightmare to split up cash like that, not to mention potential legal trouble. Instead, they could keep it free, like the Realm Wars project that is currently underway by this community. It's been going on for a while, and they always need people if you're looking to get involved with something like that.
@Stefan: You can indeed get ODBC sources through the DB resources that are posted. I'm running my persistent world's test database off of Access right now, with the intention to export it to mySQL once it's ready for primetime(Access is easy to work with for testing, but noone should want to lean on it for anything close to this kind of level of transactions, as it tends to choke fairly easily).
#8
11/15/2004 (1:41 pm)
@Ted: If I understand you correctly you have used both MySQL and ODBC. Are there any significiant differences between the two?
#9
Here's the link to that resource...
There's also other resources that deal with database connectivity. Ron Yacketta wrote one, and there was one other that I tried prior to the ODBC resource(it is also ODBC, but I liked the first resource I posted better). Check all three out, they all have their strengths, I'm sure. The strength of the one I use is that the author has some handy dandy script functions to make retrieval of data easier, but there may be a bug I've run into since it keeps returning a -1 for number of returned rows in a query(haven't had time to track that down fully, so it's probably just me doing something wrong).
11/15/2004 (2:06 pm)
ODBC is just the driver interface that you use to connect to different databases. I used the ODBC resource to connect to both MySQL and Access databases, though I decided to use Access right now to save me time while I get things done. You still use SQL queries to get your data, so really, ODBC doesn't change too much, and the queries should carry over to the next database quite painlessly(crossing fingers), as long as the structure is the same. Here's the link to that resource...
There's also other resources that deal with database connectivity. Ron Yacketta wrote one, and there was one other that I tried prior to the ODBC resource(it is also ODBC, but I liked the first resource I posted better). Check all three out, they all have their strengths, I'm sure. The strength of the one I use is that the author has some handy dandy script functions to make retrieval of data easier, but there may be a bug I've run into since it keeps returning a -1 for number of returned rows in a query(haven't had time to track that down fully, so it's probably just me doing something wrong).
#10
You should consolidate your database stuff into another seperate server that handles requests for DB data and
reformats it, caches it, manages it, etc and funnels it to the gameserver (ie torque server) that is making the
request.
This of course refers to more large scale applications, if your doing something small, like to save FPS stats about a player thats different, but if you are searching to go larger, bigger, more people, more data (objects have lots of attributes you want to store) then go the more scalable solution from the start.
anyway good luck with it should be a fun project.
11/15/2004 (4:55 pm)
Quick comment on this ODBC for torque and MMP games. Gameservers, in general, should never talk directly with the database (as it does in that resource). Lots and Lots of reasons (check out the MMP book).You should consolidate your database stuff into another seperate server that handles requests for DB data and
reformats it, caches it, manages it, etc and funnels it to the gameserver (ie torque server) that is making the
request.
This of course refers to more large scale applications, if your doing something small, like to save FPS stats about a player thats different, but if you are searching to go larger, bigger, more people, more data (objects have lots of attributes you want to store) then go the more scalable solution from the start.
anyway good luck with it should be a fun project.
#11
11/15/2004 (5:02 pm)
What MMP book. Could someone give me the real name, author, even a link to it?
#12
As an aside on the first book, it's good but the authors seemed to push the "you don't want to do this" approach enough that I wondered if the people who they interviewed for the book were saying that to discourage competition with their products ;) I wouldn't not buy it though, they have too much good information to pass up.
11/15/2004 (5:09 pm)
Pretty sure The Martian means: Developing Online Games by Mulligan and Patrovsky. Or maybe Massively Multiplayer Game Development by Alexander.As an aside on the first book, it's good but the authors seemed to push the "you don't want to do this" approach enough that I wondered if the people who they interviewed for the book were saying that to discourage competition with their products ;) I wouldn't not buy it though, they have too much good information to pass up.
#13
some notes from my GDC presentation regarding DB's and persistant state worlds. (not sure if its still on the website or not).
definately something you want to research, its the one area of MMO/MMP/PSW's that always gets the least attention but always causes the most problems when they get the servers loaded up. (ie even a couple recently released/beta'd MMPs are having this problem). Its not a sexy piece to work on like the particle effects or the interface but its so critical to a true MMP/PSW style game.
if you run into some tough problems and have questions send them to me.
11/16/2004 (6:42 am)
Yup those are the ones, one of my articles is in there (persistant objects in mmp games). also there maybesome notes from my GDC presentation regarding DB's and persistant state worlds. (not sure if its still on the website or not).
definately something you want to research, its the one area of MMO/MMP/PSW's that always gets the least attention but always causes the most problems when they get the servers loaded up. (ie even a couple recently released/beta'd MMPs are having this problem). Its not a sexy piece to work on like the particle effects or the interface but its so critical to a true MMP/PSW style game.
if you run into some tough problems and have questions send them to me.
#14
11/16/2004 (6:59 am)
Some tough problems? Haha... Man, I never did DB design before this, and I am positive that my DB schema has more holes than swiss cheese. Part of it is because I wasn't sure of how I wanted to proceed with representing some of the data that needs to be stored for the game(and still aren't for some features), and most of it is out of inexperience. I'll definitely be emailing you with some questions later, if you don't mind :)
Torque Owner Stefan Lundmark
1. Yes it can. There are other packages that are more suited towards Persistant gaming but they are not affordable for an indie. Torque is out of the box not suitable for a persistant game like Eve or Everquest, but it can be made into one.
2. Out of the box, no. You can code this in though.
3. There is no support out of the box, but there are resources which you can use to add SQLite support, MySQL, and MSSQL (I think).
4. There are games being made which are in space and doesn't use any terrain. Search the site.
5. I'm not the right person to answer this but I think it does not.
6. It's up to personal preference, really. If you like to code everything in C++, then you can do that.. but it will be slower developmen-wise to do it that way rather than letting someone that knows how to do it in scripts.
You can prototype your game in the scripts and then later on move some portions of the code over to C++. But you can't do everything in scripts. Most game logic can be done there though.
7. It's difficult. You will run into problems, and you will have to change the source. But it's fun, good luck.
Edit: Added quotes, easier to read that way.