TGE 2.0 feature wishlist
by D Player · in Torque Game Engine · 03/07/2003 (2:48 am) · 69 replies
Alright, this thread is only about what changes/features you want to see in TGE 2.0, and the reasons. Now, other people seem to believe that the GG folk will descent from on high and tell us how things will be. Even if they have the time and inclination, this will turn out better if we discuss things. Let's find out what's good and what's bad. I'll start this thread off with features that I want to see.
1. A rearchitecting of TGE. I think we can all admit that the current engine is not well broken up into replaceable components, largely because many components are tightly coupled (either through #includes, or misplaced functionality). The real problem here is that to make any changes you have to read, understand, and take into account FAR too much code that will be inadvertently effected.
2. Reduce code duplication. There are plenty of places in the engine where the same thing is done in different places, ever so slightly differently. This could probably be simplified.
3. Assert. I've seen very little of this in use, Assert is an essential tool for catching bugs and logic errors. These need to be spread liberally throughout the engine. Also, these largely stand in for documentation in some cases. They stay both current and right in the code, while documenting the expected (pre)conditions.
4. Curved surfaces integrated tightly into a LOD system. Without curved surfaces, an artist created LOD system compensates for this lack at the cost of memory, effort, and visual quality.
5. Official replacement of cs with Python, or a performance analysis that shows this as being an unreasonable course of action.
6. Shaders; just because people will complain about this endlessly unless they are on the plan. At least the architecture to support shaders easily must be done.
7. More generic engine. TGE is really, truly a FPS engine. I realize that making something too generic will make it useless, but there is a lot of middle ground between here and there.
Also, what support structure do we need in place to get things happening?
1. Leadership that makes the final call on features and goals. This person needs to be cocky; don't allow decisions to be made by the community unless there is broad consensus. Just because one group browbeat another group into silence doesn't make them right. This person needs to understand the issues and make the calls. Good communication is a big plus.
2. A roadmap; a plan.
3. A group of core developers, who work on the most critical items
4. Checkin reviewers.
Seriously here, let's get this started. There is no reason to wait for others to do things that they may or may not get around to. If GG comes in and helps steer the decision making along with their insight, so much the better, but let's not depend on it.
1. A rearchitecting of TGE. I think we can all admit that the current engine is not well broken up into replaceable components, largely because many components are tightly coupled (either through #includes, or misplaced functionality). The real problem here is that to make any changes you have to read, understand, and take into account FAR too much code that will be inadvertently effected.
2. Reduce code duplication. There are plenty of places in the engine where the same thing is done in different places, ever so slightly differently. This could probably be simplified.
3. Assert. I've seen very little of this in use, Assert is an essential tool for catching bugs and logic errors. These need to be spread liberally throughout the engine. Also, these largely stand in for documentation in some cases. They stay both current and right in the code, while documenting the expected (pre)conditions.
4. Curved surfaces integrated tightly into a LOD system. Without curved surfaces, an artist created LOD system compensates for this lack at the cost of memory, effort, and visual quality.
5. Official replacement of cs with Python, or a performance analysis that shows this as being an unreasonable course of action.
6. Shaders; just because people will complain about this endlessly unless they are on the plan. At least the architecture to support shaders easily must be done.
7. More generic engine. TGE is really, truly a FPS engine. I realize that making something too generic will make it useless, but there is a lot of middle ground between here and there.
Also, what support structure do we need in place to get things happening?
1. Leadership that makes the final call on features and goals. This person needs to be cocky; don't allow decisions to be made by the community unless there is broad consensus. Just because one group browbeat another group into silence doesn't make them right. This person needs to understand the issues and make the calls. Good communication is a big plus.
2. A roadmap; a plan.
3. A group of core developers, who work on the most critical items
4. Checkin reviewers.
Seriously here, let's get this started. There is no reason to wait for others to do things that they may or may not get around to. If GG comes in and helps steer the decision making along with their insight, so much the better, but let's not depend on it.
About the author
#62
03/11/2003 (11:18 am)
Amen to that...
#63
03/11/2003 (2:39 pm)
Double-Amen even! :)
#64
0. Modular scripting. I'm not going to even get involved in the 'debate' raging on this topic, except to say that having more scripting choices can't be a bad thing. Personally, I would like to script in Java. This is a fairly low-priority wish on my part however.
Now that that little bit is out of the way, on to my big three wishes:
1. Portals. I see the awesome work that has just seen the light of day concerning mirrors. Major kudos to those who brought this around. My request is a generalization of this into full scale portals. As an example, I would like a facet on a vehicle to match a facet on an interior, with the ability to see, or even walk, through. This way (and I have voiced this arbitrary example before) I could create a large spaceship as an interior (for the inside) and a relatively simple vehicle (for the outside) and thus save the trouble of figuring out how to move a complex structure through the sky without causing jitter problems etc for the clients. Or I could do a remote camera, by simply attaching a viewpoint to an interior face. Whatever. I drool for this.
2. A new pipeline for milkshape or a replacement. My team cannot afford Max. It is a simple fact of life for us. We looked at it and we simply cannot pony up that kind of cash. I realize the power of Max. I realize it is the defacto standard. I realize that if I was 'serious' I would bite the bullet and buy a copy. I also realize that if Max was the only pipe for models, I would have to give up doing my own project. So we have Milkshape. Except there are so many things that can be done in Max but not in Milkshape (or at least not well). This is frustrating and has put the brakes on two projects I have been involved with. I know this is a sore point and that there is no apparent (and reasonably priced) replacement (not that I have heard of anyway). I appreciate the strides that have been made in this area, but I think it needs serious help if this engine is ever going to be the 'choice of indies' (read 'little guys without wads of cash'). Please. Even just some well organized and easily search documents detailing the process from start to end would be nice (gee - I don't want much, do I).
3. Fix the lighting. Maybe I have missed some recent developments (edit: I have), but my experience is that lighting falls apart everywhere. It works well for terrain, but I have seen shadows going the wrong way, ignoring the sun position, and just flat out missing. When new additions to the engine are added, I'm never surprised to hear that some facet of lighting is now broken or not working right. We don't need great lighting. We need fully working lighting. The fxLight is awesome, but you can't use too many at once. Additionally, it would sure be nice to be able to specify a square of terrain to be relit on demand.
OK. Some of that came out whiny. Some of it came out a bit stronger than I expected. Sorry about that, but I'm not going to change it. Call it an 'in the moment' thing. I truly wish I had the time and knowledge to just whip the above out. I know that even an expert couldn't just whip that kind of stuff up. If there is anything I can do to help further these causes I am here. I'm just all-too-aware of the fact that I am not of the requisite caliber to accomplish these kind of changes before we all make the move to quantum computing...
I will cheer and send beer though. Ask the GG guys - they probably remember. I will thank wholeheartedly anyone who can make these type things happen.
03/11/2003 (2:50 pm)
Much of what is listed above sounds fine to me. To that I would like to add/second:0. Modular scripting. I'm not going to even get involved in the 'debate' raging on this topic, except to say that having more scripting choices can't be a bad thing. Personally, I would like to script in Java. This is a fairly low-priority wish on my part however.
Now that that little bit is out of the way, on to my big three wishes:
1. Portals. I see the awesome work that has just seen the light of day concerning mirrors. Major kudos to those who brought this around. My request is a generalization of this into full scale portals. As an example, I would like a facet on a vehicle to match a facet on an interior, with the ability to see, or even walk, through. This way (and I have voiced this arbitrary example before) I could create a large spaceship as an interior (for the inside) and a relatively simple vehicle (for the outside) and thus save the trouble of figuring out how to move a complex structure through the sky without causing jitter problems etc for the clients. Or I could do a remote camera, by simply attaching a viewpoint to an interior face. Whatever. I drool for this.
2. A new pipeline for milkshape or a replacement. My team cannot afford Max. It is a simple fact of life for us. We looked at it and we simply cannot pony up that kind of cash. I realize the power of Max. I realize it is the defacto standard. I realize that if I was 'serious' I would bite the bullet and buy a copy. I also realize that if Max was the only pipe for models, I would have to give up doing my own project. So we have Milkshape. Except there are so many things that can be done in Max but not in Milkshape (or at least not well). This is frustrating and has put the brakes on two projects I have been involved with. I know this is a sore point and that there is no apparent (and reasonably priced) replacement (not that I have heard of anyway). I appreciate the strides that have been made in this area, but I think it needs serious help if this engine is ever going to be the 'choice of indies' (read 'little guys without wads of cash'). Please. Even just some well organized and easily search documents detailing the process from start to end would be nice (gee - I don't want much, do I).
3. Fix the lighting. Maybe I have missed some recent developments (edit: I have), but my experience is that lighting falls apart everywhere. It works well for terrain, but I have seen shadows going the wrong way, ignoring the sun position, and just flat out missing. When new additions to the engine are added, I'm never surprised to hear that some facet of lighting is now broken or not working right. We don't need great lighting. We need fully working lighting. The fxLight is awesome, but you can't use too many at once. Additionally, it would sure be nice to be able to specify a square of terrain to be relit on demand.
OK. Some of that came out whiny. Some of it came out a bit stronger than I expected. Sorry about that, but I'm not going to change it. Call it an 'in the moment' thing. I truly wish I had the time and knowledge to just whip the above out. I know that even an expert couldn't just whip that kind of stuff up. If there is anything I can do to help further these causes I am here. I'm just all-too-aware of the fact that I am not of the requisite caliber to accomplish these kind of changes before we all make the move to quantum computing...
I will cheer and send beer though. Ask the GG guys - they probably remember. I will thank wholeheartedly anyone who can make these type things happen.
#65
03/12/2003 (2:17 pm)
Boy. Do I know how to kill a thread or what?
#66
I personally would be a big advocate of fixing the engine first, and then go ahead with the redesign but I would be open to any opinions on this issue.
03/12/2003 (9:08 pm)
I agree with a lot of your points Tim. Some of which bring an interesting question to the table, at least in my mind. It's obvious now that there are still a lot of parts about the engine that are still missing and worse yet broken. I know that a refactoring of the engine will eventually begin but it would be interesting to note whether or not Garage Games intends to fix and clean up the engine functionality wise before going through the process of refactoring the engine, or if they intend to go ahead with the refactoring and then fix the functionality as they go along.I personally would be a big advocate of fixing the engine first, and then go ahead with the redesign but I would be open to any opinions on this issue.
#67
-A REAL artificial intelligence system that learns as the user plays.
-Pixel Shader 8.0.
-A true infinite polygon rendering system.
-Make the Torque engine boot when starting the computer so that you can bypass the operating system.
-The latest version of AOL built in so we can hear the "You've got mail" sound clip as often as we like.
-Create a new class for making money...don't know how this is done but I'm sure one of you guys can figure it out.
-A user interface that actually allows the user to be inside the Torque engine.
-Polar bears that can piss their names into the snow after drinking too much at the local pub.
-Sex, which the user can physically participate in.
-An AI that can tell if the user is old enough to participate in the sex.
-Penguins and more penguins.
-A good algorith for drawing penguins.
-Dancing monkeys.
-???
-Profit!
All these features should only take a few days for me to implement on my new souped-up Linux machine, especially with all my experience as a TI-83+ programmer...now all I have to do is find out how to convert my .txt file into an .exe file.
|337 0u7 w453z d00dz
03/12/2003 (9:50 pm)
What is on my wishlist for the TGE? I was hoping you'd ask.-A REAL artificial intelligence system that learns as the user plays.
-Pixel Shader 8.0.
-A true infinite polygon rendering system.
-Make the Torque engine boot when starting the computer so that you can bypass the operating system.
-The latest version of AOL built in so we can hear the "You've got mail" sound clip as often as we like.
-Create a new class for making money...don't know how this is done but I'm sure one of you guys can figure it out.
-A user interface that actually allows the user to be inside the Torque engine.
-Polar bears that can piss their names into the snow after drinking too much at the local pub.
-Sex, which the user can physically participate in.
-An AI that can tell if the user is old enough to participate in the sex.
-Penguins and more penguins.
-A good algorith for drawing penguins.
-Dancing monkeys.
-???
-Profit!
All these features should only take a few days for me to implement on my new souped-up Linux machine, especially with all my experience as a TI-83+ programmer...now all I have to do is find out how to convert my .txt file into an .exe file.
|337 0u7 w453z d00dz
#68
As for my wishes:
1)Everything posted before. (timeframe= within a year, maybe more with everything tested to death?)
2)Superpowers of course :D
i know we can all agree that GG is doing a great job and i'd like to hear they're response on how they think they'll approach these suggestions.
03/13/2003 (3:16 pm)
Damn, lots of good suggestions, i just got torque and i could partialy see where it could use work but i didn't think there was this much room for improvment.As for my wishes:
1)Everything posted before. (timeframe= within a year, maybe more with everything tested to death?)
2)Superpowers of course :D
i know we can all agree that GG is doing a great job and i'd like to hear they're response on how they think they'll approach these suggestions.
#69
03/13/2003 (4:05 pm)
Forget everyting I said. I want what Judah wants!
Torque Owner Prairie Games
Prairie Games, Inc.
-Josh