For the first part in Gamasutra’s ‘Tooling Around’ feature, which profiles and interviews middleware and tools developers about their products, today’s interview is with Kevin Meredith, Director of Business Development at IDV Inc., developers of foliage generation SDK SpeedTreeRT
The product first launched in late 2002, born from IDV’s frustration at being unable to find a tool to effectively create numerous real-time trees. SpeedTreeRT allows users to generate trees and plants from its library and control variables like branch length and branching angles, and also provides adjustable wind effects and a configurable level of detail transition. As well as the SpeedTreeCAD Windows-based modeling tool, the SDK also includes plug-ins for 3ds Max and Maya.
The company is a licensed middleware partner with Sony and Microsoft, and the latest iteration of the product – version 4.1 - is also currently integrated into Epic’s Unreal Engine 3. Recently, SpeedTree has been used in titles like Saints Row, Resistance: Fall of Man
and The Elder Scrolls IV: Oblivion
, and will be used in the upcoming Too Human
, amongst others.
We spoke to Meredith recently, and asked about IDV, the SpeedTree SDK, and its use within the industry.
When and why was IDV formed?
IDV was incorporated in 1999 to create visualization software technologies that would run on inexpensive PCs. Our first revenue came from contracts with the US Dept. of Defense, for modeling and simulation visualization software design. We'll be returning to our roots later this year, by the way, with the release of several software products based on the resulting technology.
What were the aims and goals of the company at this time?
To remain profitable and self-funded while growing our expertise in visualization software development for a number of customers. Initial contracts included development of software tools for visualizing and analyzing complex military systems and processes.
How was the need for a product like SpeedTree in the industry realized?
IDV had been asked to create a real-time golf simulation and wanted realistic, animated trees. We were unable to find decent offline trees, and absolutely nothing suitable for real-time use, so we created our own technology to complete that project. Sensing the potential, we polished up the code we'd developed and launched SpeedTreeMAX, our plug-in for 3ds Max, in winter 2002. That product's success among animators and architects led us by summer of 2002 to explore the real-time possibilities of the software.
We saw real-time use, particularly among the game industry, as very promising given the industry's size and technological requirements. And it's important to note that we got some great encouragement at that point from Nvidia, which understood the potential of our efforts from early on and posted our first demos online. We sold our first SpeedTreeRT licenses in late 2002 to a number of studios, including Bethesda Softworks for The Elder Scrolls IV: Oblivion
What was the development time on the product, and what challenges did you run into in preparing the product for industry use?
It took about a year to get out the first version of SpeedTree. The biggest challenge was getting potential customers to take a look. Once they looked, they believed, but it was often hard to gain that initial traction.
How has the product developed over the time you've been producing it?
Lots of new features and capabilities. Modelers and artists have many more ways than initially to modify, customize and beautify the trees, and our programmers continue to steadily improve flexibility and efficiency and have added features that take advantage of the progress being made in graphics hardware and APIs.
How have you acted on feedback to improve SpeedTree?
Game programmers are a very skilled and opinionated crowd! If there is any room for improvement, we certainly hear about it and do our best to put our own egos aside and improve the product objectively. We think of our customers and evaluators as an invaluable part of our development team, and we try to give them everything they ask for as new versions come out.
How does the product work on a technical level?
The SpeedTree pipeline can be summed up as follows:
- Pick trees from our library
- With SpeedTreeCAD, tweak those trees as desired (one model automatically makes millions of variations) or create your own from scratch using your own textures and parameters.
- Construct your world with your own SpeedTree-enabled world editor, or use SpeedTreeMAX or SpeedTreeMaya.
- Use SpeedTreeRT, our drop-in forest rendering code for Windows (DirectX or OpenGL), Xbox 360, or PS3 to enable game engine to render hundreds of thousands of wind-blown, detailed trees.
Underlying techniques are proprietary, but we often refer people with that question to our online demos, to games that feature SpeedTree and/or to a free look at a fully functional evaluation version.
How has the integration of SpeedTree into the Unreal Engine affected the way you've developed the product?
SpeedTree has been officially integrated into many different engines, but our partnership with Epic to bring SpeedTree into UE2 and UE3 is probably the most visible. The integration itself hasn't changed our core product, but we do have to constantly update our UE3/SpeedTree "wrapper" code to match Epic's change lists as they are published. We couldn't be more delighted with how well UE3 shows off our foliage.
What does your status as a licensed middleware partner with Sony and Microsoft involve?
The most important benefit is probably access to console engineers, who have advised us in squeezing the most out of each system. Details of our partnerships are covered by NDAs, but we can say in general that signing middleware agreements with the next-gen consoles entitles us to create and license versions of SpeedTree for them, increasing our revenue and making it easier for our customers to get the software they need.
Do you feel your product works best when combined with other middleware?
We developed SpeedTree to be completely standalone - both hardware and software independent. Other middleware, particularly a good engine, can help SpeedTree shine, but isn't necessary.
What are some of the more notable recent examples of the product's use?
and four PlayStation 3 launch titles, including Resistance: Fall of Man
and Call of Duty 3
Who is currently using the product?
We can't reveal every licensee, but those who have given us permission to mention them include Activision, Sony, Microsoft, THQ, Ubisoft, Sega, Namco Bandai, Vivendi Games, NCSoft, Lucas Arts, BioWare, Atari and Midway.