The Game:
Titanium Angels
The Company:
Mobius Entertainment Ltd.
The Speaker:
Justin Johnson - Technical Director
Q1.
Titanium Angels (TA) will take full advantage of cards that have hardware transformation. TA uses DX7 as its rendering API and the design philosophy here is to select the path to the highest level of acceleration achievable.
The better your card and machine - the better our game will play and look. We will still do our lighting in software, PC's can already do a lot of this without much impact and I personally like fine control over our lighting formulas. Also, because were using lightmaps, it would only be any good for models such as the player and any baddies.
Q2.
Well, the advantages seem obvious. Faster game. With the card transforming for you, its possible to have more stuff and prettier stuff happening. But as usual because you can't depend upon it you can only take advantage of it
as a tweak, a booster. Another issue is that to use hardware transforms, the untransformed vertices need to be uploaded to the card and that needs to be fast. With any luck uploading and transforming will still be faster than
doing it in software although by how much remains to be seen. I have a great deal of benchmarking ahead with hardware transformation cards.
The last thing I'd like to say about hardware transformations is that in most cases transforming is not much of a bottleneck. The math is very simple and today's PC's can do a lot of it in no time at all - in software. The full impact of hardware T&L in games remains to be seen.
Q3.
TA will support texture compression, bump mapping and the T-Buffer. We will be keeping a close eye on any emerging new technologies throughout our development cycle and incorporating them - time allowing. One of our
biggest issues at the moment is how to take advantage of these features while maintaining game and engine code for cards without them. This can consume a lot of development time and so needs to be handled with care. The
biggest problem could occur when cards start supporting parametric surfaces such as Bezier patches and NURBS. Handling this and legacy rendering could potentially make engine code very complex indeed.