This week, we bring gamers an inside look at Interactive Data Visualization's SpeedTree technology. IDV is responsible for some cutting edge development in the software, data and visualization community. The SpeedTree software kits have been used in a wide variety of projects and software applications, including Bethesda 's recent hit success, Elder Scrolls IV: Oblivion for the PC and Xbox 360. You can check out more info regarding Speedtree at the main website here. In the meantime, you can check out the info we gathered from an interview with IDV's staff, including: Kevin Meredith; Software Engineers Chris King, Michael Sechrest and Greg Croft; and Art Director Steve Klipowicz.
Xboxcore: How long has SpeedTree been used in the game development industry?
IDV: We licensed to our first game developers, including Bethesda Softworks for The Elder Scrolls IV: Oblivion, in late 2002.
Xboxcore: Was SpeedTree originally designed to be used for easier environment detailing for games, or was it originally designed for other projects?
IDV: In 2000, IDV was asked to create a virtual golf course and found no acceptable tree & plant plug-in software to use with our creation tool of choice, 3ds max. We created a rudimentary solution in-house, improved it a year later to enhance a neighborhood architectural flythrough, and then realized at that point we had a commercially viable product. We began selling the 3ds max plug-in as SpeedTreeMAX in February 2002 and introduced SpeedTreeRT later that year to the game industry.
Xboxcore: Given the vast accessibility of SpeedTree for occupying landscapes and scenarios with detailed foliage, how long would it normally take to produce the same high-count of polygonal trees/foliage, manually?
IDV: Just to be sure we're on the same page here, SpeedTree's poly count is user configurable, driven by a dynamic level of detail system that's part of the real-time SDK. The software generates trees that can be as low as 2 polys each, to hundreds of thousands of polys. Having said that, here's what someone would have to do to approach SpeedTree quality and efficiency:
1) manually model each tree
2) model each level of detail of each tree
3) come up with a scheme for presenting the billboard/two-poly level of detail trees that match the higher poly trees (e.g. shape & lighting need to match so LOD transition isn't noticeable)
4) come up with a wind algorithm
5) come up with an efficient rendering scheme
Time required of course depends on the specific goal and the ability of the programmer, but we'd suggest conservatively it would take a year or more to even come close to what SpeedTree does, but probably much longer to get the true look, feel and power of our software.
Xboxcore: Without the tools to define tree behavior like motion conditions or wind reactions, what were the alternative methods for creating similar tree effects?
IDV: If you're referring to how game developers animated their trees before SpeedTree, we're really not sure other than to guess that past approaches used whatever animation tools seemed appropriate. But the most frequent approach seems to have been NO animation, at least based on what we've seen in the games we have played.
Xboxcore: With SpeedTree CAD's ability to generate self-shadows, would this feature still apply to trees/foliage exported to a game engine or design tool that doesn't support self-shadowing?
IDV: The self-shadow textures created in SpeedTreeCAD are basically just projected textures. SpeedTree handles the texture coordinates for that projection for you. So, any engine that can support multiple texture layers can have self shadowing on the SpeedTrees. Shadows from the tree onto the
ground or surrounding objects would need to be handled by the engine, however.
Xboxcore: Is the SpeedTree utilities built more-so for high-end platforms, or is it also optimized for use on platforms such as the PS2 or first-generation Xbox?
IDV: SpeedTreeRT is supported on PC, PlayStation 3 and Xbox 360, but our source code has been successfully integrated by our customers with many other platforms, including PS2, Xbox, Linux & Mac.
Xboxcore: Has SpeedTree been tested or used on PS3 hardware?
IDV: Yes, in fact, we completed a real-time demo of our trees running on PS3 in early 2006.
Xboxcore: Is SpeedTree used for movies?
IDV: SpeedTreeMAX has been used in a number of movies created with 3ds max.
Xboxcore: Are new trees/foliage, designed for SpeedTree based on a demand from specific developers? Or is new content added to the SpeedTree database based on a general list?
IDV: Both. We often get requests for specific trees from our customers, but we also pay attention to what shows up in virtual environments and add species based on what seems most popular. Keep in mind, though, that our customers can use SpeedTreeCAD, a windows app, to modify any member of the library or to create their own species from scratch.
Xboxcore: Finally, we have to ask, has Mr. Killbot been used in any developed games?
IDV: Not sure. Mr. Killbot's main purpose of course was to demonstrate the amazing versatility of SpeedTreeCAD. But we can imagine a few titles we've licensed where he'd fit right in.
Be sure to check out more of Speedtree's functions and features at the main website www.speedtree.com. If you want more screenshots you can view them here here, and footage of the technology can be viewed here. If you happened to miss any of Xbox Core's previous game engine interviews, you can check them out in the interview section, which can be found here.
Article By: VGcore Staff