GDC & Forest Pack Tech Preview
by Kyle Carter · 02/16/2006 (12:32 am) · 59 comments
Forest Pack Tech Preview 1Over the past few months, with the help of coworker and awesome dude Adam deGrandis, the Forest Pack for TGE has been coming along in the background... and before I disappear for the next two months (see next section), I wanted to toss something out to the community. It is... the Forest Pack Tech Preview. Just a standalone binary that flies through a little test forest with a little bit of art. The code isn't quite final, nor is the art, but it's finally at the point where I really need more info than I can get on my own computer.
Thus, the preview. Give the preview a try, and if you can spare a few moments, toss us feedback at forestpack@gmail.com. FPS (go to console and type metrics(fps);), if it runs OK (no crashes!), any rendering glitches, what hardware (CPU and video card) you're running on... :)
If it tests well, then you might see a full release sometime after GDC. If not, then it's back to the mines for a while longer to tweak it back up to spec.
And that e-mail address once again - any questions, comments, feedback, problems, screenshots send to forestpack@gmail.com.
Thanks guys! I'm sure you'll give it a good pounding!
(Caveats: This build is partially based on Torque 1.3, so some older Torque issues might resurface; there are also some performance hits due to that. The final pack will of course run on latest Torque. The art is a tiny subset of what will come with the pack, and isn't necessarily representative of final art, either. A real demo of some sort will come later on. :)
Game Developer Conference: Where's Ben?
I'll be at the GDC this year. Because of this, I'll also be pretty much disappearing for the next five weeks. A lot of stuff has to get done between now and then, so I'm having to cut back on everything that's not directly related to making kick-ass stuff happen. :)
If you're working directly on a project with me, I'll still be staying in touch, but otherwise, don't expect to see much from me. :) The other GG guys will be pinging me about important forum threads & so forth, so I can participate if needed...
But GDC should rock. Lots of good stuff will be coming, I think. Maybe even a new Atlas code drop. ;)
Torque Developer Network
Done some work on this, too. Logins much improved, and auto-login was added, too, so now it'll remember if you were logged in before. (Don't worry, if you log out of the GG page it'll ask you for a password instead. :)

A bunch of Safari issues have been fixed, too, so the site should be much more usable for those of you on OS X. :)
You can read about these improvements in the TDN forums.
We also have some other cool TDN-related stuff that we'll be announcing in the near future. But more on that later... :)
#22
I think I noticed some funny sorting with the terrain when the camera is spinning around before flying off near the end, though it might have just been the LOD. I got a smooth 60's FPS on my Athlon64 3200 and 6600GT in 1024x768 windowed, so performance was great up my mid rangey system.
02/16/2006 (11:32 am)
I'd want to see if this can be worked in with that shadowing from sceneobject stuff that made the shadows from the alphaed sections of trees as well. For just general filler of treeness this looks like a good extension of the FX Replicator. If it were to be useful for level design though, I think you should be able to have a special brush to clear specific areas from having any trees, so you can use a fairly dense replicator, and cut paths through, to go with terrain and textures that would define your level area. I think I noticed some funny sorting with the terrain when the camera is spinning around before flying off near the end, though it might have just been the LOD. I got a smooth 60's FPS on my Athlon64 3200 and 6600GT in 1024x768 windowed, so performance was great up my mid rangey system.
#23
I think addClearing() is planned to something like what you suggest.
02/16/2006 (11:49 am)
@Paul - If you do a class dump in the console you find:class Forest : public SceneObject {
public:
virtual void addForestEntry() {}
virtual void addClearing() {}
/*! @name Transform
@{ */
/*!
*/
MatrixPosition position;
/*!
*/
MatrixRotation rotation;
/*!
*/
Point3F scale;
/// @}
/*!
*/
int randomSeed;
/*!
*/
int forestCount;
/*!
*/
float treeDistance;
/*!
*/
int minOcclusionLevel;
/*!
*/
int maxOcclusionLevel;
/*!
*/
bool singleBlock;
};I think addClearing() is planned to something like what you suggest.
#25
That's exactly how it works.
02/16/2006 (1:30 pm)
As Tom pointed out:Quote:
If it were to be useful for level design though, I think you should be able to have a special brush to clear specific areas from having any trees, so you can use a fairly dense replicator, and cut paths through, to go with terrain and textures that would define your level area.
That's exactly how it works.
#26
The trees were all made in the standard way. To my knowledge, there is no update to the zsorting code, although Ben would have to give a final yay or nay to that.
02/16/2006 (8:32 pm)
@Allyn "Mr_Bloodworth" Mcelrath The trees were all made in the standard way. To my knowledge, there is no update to the zsorting code, although Ben would have to give a final yay or nay to that.
#27
02/16/2006 (8:56 pm)
Nope, it uses completely stock TS rendering code - just calls it in a different way than normal. No fixes in there; it's all just Adam's masterful art skills that make the trees look good. :)
#28
02/16/2006 (10:31 pm)
Oh yeah - ALL the assets in that demo are specific to that demo and NOT for reuse. If you just have to have it, either contact me privately or wait for the pack to come out. :)
#29
If you go to the World Editor Inspector mode you can see how the Clearing works...
Quite simple... Clicking on the Trees Simgroup makes mine hang though...
In the World Editor Creator (F4) go to Mission Objects-> Environments->ForestClearing to place a clearing... or at least that's how it should work... For me this also hangs...
Mailed the I problems found...
02/16/2006 (11:46 pm)
This is awesome... (25fps on my crappy machine... So it's working good)If you go to the World Editor Inspector mode you can see how the Clearing works...
Quite simple... Clicking on the Trees Simgroup makes mine hang though...
In the World Editor Creator (F4) go to Mission Objects-> Environments->ForestClearing to place a clearing... or at least that's how it should work... For me this also hangs...
Mailed the I problems found...
#30
I'm using a 1.3Ghz Athlon with a GeForce 2MX.
The program ran pretty slowly, as you'd expect, at about 8 fps, although reducing the resolution to 640x480 helped a bit.
A more important problem was that the texture on the trees dissapeared as they came closer to the camera. It seems like as the highest LOD was loaded that the textures all dissapeared, leaving me with grey tree trunks with grey squares on them. The smaller trees in the distance looked fine.....until they came close to the camera.
I guess that this isn't a forest pack issue, but I dunno.
Apart from that, I thought that it looked lovely, and will be an excellent addition to Torque.
02/17/2006 (6:29 am)
I had some issues running this on a fairly old test machine at work.I'm using a 1.3Ghz Athlon with a GeForce 2MX.
The program ran pretty slowly, as you'd expect, at about 8 fps, although reducing the resolution to 640x480 helped a bit.
A more important problem was that the texture on the trees dissapeared as they came closer to the camera. It seems like as the highest LOD was loaded that the textures all dissapeared, leaving me with grey tree trunks with grey squares on them. The smaller trees in the distance looked fine.....until they came close to the camera.
I guess that this isn't a forest pack issue, but I dunno.
Apart from that, I thought that it looked lovely, and will be an excellent addition to Torque.
#31
"Nope, it uses completely stock TS rendering code - just calls it in a different way than normal"
What do you mean "different way than normal"?
And I would be very interested in knowing how he has gotten the standard "X" arrangement of small "shrubs" to work with out the sorting issues. Even with sorting or hierarchy settings that type of plant construction is imposable to make in torque, as it isn
02/18/2006 (10:59 am)
@Ben Garney "Nope, it uses completely stock TS rendering code - just calls it in a different way than normal"
What do you mean "different way than normal"?
And I would be very interested in knowing how he has gotten the standard "X" arrangement of small "shrubs" to work with out the sorting issues. Even with sorting or hierarchy settings that type of plant construction is imposable to make in torque, as it isn
#32
Have you taken a look at the TDN article Z Sorting Explained?
02/18/2006 (12:30 pm)
Quote:
but transparencies is a major flaw of torque for me, and this is the only example EVER that I have seen that they are being used with out falling victim to that issue.
Have you taken a look at the TDN article Z Sorting Explained?
#33
(I did fix some bugs while developing this pack, but all of them to parts of the engine that only get used by the forest pack, like a slight bug in how imposter billboards are auto-generated. All of the fixes are rolled into 1.4.0.)
02/18/2006 (3:19 pm)
You can most certainly get good transparency results out of Torque, as I think this pack demonstrates. We do some things to make the rendering efficient but it's line for line identical to stock TS when it does render. Meaning, no, I didn't fix anything because it wasn't broken to begin with. :)(I did fix some bugs while developing this pack, but all of them to parts of the engine that only get used by the forest pack, like a slight bug in how imposter billboards are auto-generated. All of the fixes are rolled into 1.4.0.)
#35
02/18/2006 (9:28 pm)
Adam wrote that article and I assume followed his own advice when he made the art for the forest pack.
#36
02/19/2006 (10:36 am)
Allyn - if SORT doesn't work in lightwave then you won't get properly sorted translucency using lightwave. Am I missing your point?
#37
I don't use lightwave, but if you send me a .3ds of the model, or a .dts with the textures I can open it in the showtool and take a look and possibly make suggestions as to how you can get it to work properly.
02/19/2006 (11:10 am)
Allyn,I don't use lightwave, but if you send me a .3ds of the model, or a .dts with the textures I can open it in the showtool and take a look and possibly make suggestions as to how you can get it to work properly.
#38
02/20/2006 (6:11 am)
Tom, Thanks!
#39
The trees/shrubs were made using the techniques found in TDN tutorial Stephen linked to earlier. I don't believe I used SORT on any of the shapes to keep the polycount down, but I'd have to check the source as I dont remember off hand.
Im sure that if you checked the shapes closely, they probably would display sorting anomolies. I refrained from using wildly different colors within a texture and made sure the branch patterns were varied enough that even if they did sort incorrectly, it would be hard to pick up. Other than that, they were made in the methods I discussed.
02/21/2006 (11:39 am)
Im a little late getting to this party, but I figured its a good idea to chime in. Better late than never, right?The trees/shrubs were made using the techniques found in TDN tutorial Stephen linked to earlier. I don't believe I used SORT on any of the shapes to keep the polycount down, but I'd have to check the source as I dont remember off hand.
Im sure that if you checked the shapes closely, they probably would display sorting anomolies. I refrained from using wildly different colors within a texture and made sure the branch patterns were varied enough that even if they did sort incorrectly, it would be hard to pick up. Other than that, they were made in the methods I discussed.
#40
I imaging that a networked forest object, with a little tweaking could mean that I could have a dense forest of destructible trees, start forest fires and for this all to be nicely synchronised between all the clients in the game.
But at the moment, I'll take a forest that renders quickly.
02/21/2006 (2:39 pm)
Ben, are you reading my mind or something? I was considering creating a forest level. Unfortunately, my experiments with the fxShapeReplicator have had dissapointing results, probably my fault and not being careful with my polys.. but this demo runs like a dream. You say it's all networked too? This could be the answer to my prayers if I was a religious man ;-)I imaging that a networked forest object, with a little tweaking could mean that I could have a dense forest of destructible trees, start forest fires and for this all to be nicely synchronised between all the clients in the game.
But at the moment, I'll take a forest that renders quickly.

Associate Tom Spilman
Sickhead Games
function logFPS() { echo( fpsMetricsCallback() ); schedule( 1000, 0, "logFPS" ); }Then....
Enjoy!