<html><head><title>Review of the Iron Dignity Motion Demo</title></head><!--(c) G.C. '98 A.R.R.-->
<body background="../../images/tile">
<center><h3>Review of the Iron Dignity Motion Demo</h3></center>
<p>
 This is an example of the 3D engine developed by Frank Fhl, author of Magnetoids. It's not interactive, it contains only two objects and the plot is fairly scant, but it's probably the best piece of 3D production <b>ever</b> on the Acorn platform. But this is not a vector world demo: it's a preview of a forthcoming RiscPC game.
<p>
 A walker, guarding its assigned terrain, is engaged by an enemy machine with hoverjets, a boostcopter, and is destroyed. It is that which forms the basis of the sequence, but the final product seems somewhat more grand. The 3D models have been superbly implemented: not only do they have high-quality textures mapped onto them, but they are also shaded by several light sources, in a complete RGB lighting model (i.e. you can have coloured lights); the walker's legs are animated very well and it takes on several good anthropomorphic traits, such as lifting its head back and roaring, heard in the music, as well as having eye and mouth substitutes; the movements of the boostcopter are smooth and very graceful, to match the curved lines of the vehicle itself. Fhl knows <i>just</i> where to put and train the camera on the scene and this is shown especially in the second half of the rolling demo, which is just the boostcopter surveying the damage and looking for a place to set down.
<p>
 Music is supplied, as in Magnetoids, by Thomas Mohr, formerly known as Avatar and currently as Cry, of <a href="TXPDemos">the Xperience</a>, in the form of the track <i>Ancient Enemies</i>. Although the game does not currently run at the same speed, whatever the number of frames per second, I think I've found the <i>correct</i> speed, at which point the mood of the music follows the action very well, as is to be expected from Thomas Mohr.
<p>
 Yet another thing I really like about this demo is that you can configure the level of detail. Some PD libraries have quoted this as being StrongARM only, but it is possible to run it, at a reasonable speed, on any RiscPC, by editing the <tt>CONFIG</tt> file. Although the game can be taken down from sixteen million colours to thirty-two thousand, the drop in rendering quality is acute. A much better idea is to change the <tt>RENDERMODE</tt>, which can be set to plot the demo in wireframe, gouraud shade the objects and flat fill the terrain, texture map the objects and gouraud the terrain or texture map the lot. The biggest speed increases are, however, related to the <tt>L</tt>evel <tt>O</tt>f <tt>D</tt>etail of the terrain (the mountains, ground and water), which can be set to maximum, at 4, or minimum, at 0; It is lowering this that gives the biggest speed increase in the engine and I doubt that anything above <tt>LOD</tt> 3 would run at a decent pace on a StrongARM; ideally, you'd set the <tt>LOD</tt> to 0, but, because of some small bugs in the 3D engine, some triangles are not plotted in this <tt>LOD</tt>, so that the previous frame's contents shows through as a visual artefact; you either have to put up with it, run it in wireframe (which has none of these problems) or be prepared to have the demo running very slowly.
<p>
 Strangely enough, it was just after the demo was released on an <a href="../Paper">Acorn User</a> cover CD-ROM that they started up a series on how to write your own 3D engine. What a coincidence...
<p>
 If you've got a RiscPC with a StrongARM, you have got to get this demo, just to show it to your Pentium-using friends; if you don't have a StrongARM, upgrade! When the Workstation Group was told to make the Phoebe as fast as possible, it must have been for running this demo.
<p>
Authors: Frank Fhl, with music by Thomas Mohr, with some additional code and ideas by Gunter Blache and Pablo Gussmann<br>
Status: Freeware<br>
Availability: Most PD libraries should have a copy, in their demo collection; it can be obtained on PDCD5, but, in this one, the wireframe mode does not clear the screen before redraw correctly, so make sure you've got a StrongARM<br>
</body>
</html>