|
Submitted by , posted on 04 August 2003
|
|
Image Description, by
The final version of our 64k intro "fr-030: candytron" has just been
released, so I decided to give it a shot and submit it as IOTD.
We had two primary intentions with this intro, which was a) voice
synthesis/singing and b) flexible, realtime-animatable mesh processing.
I can't say much about the voice synth and it doesn't translate well
into an image anyway, so instead of the usual engine-feature lists I'm
gonna focus on the mesh processing.
We started with a list of operations we needed to do interesting meshes
(based on the experience we made with the predecessor intro, fr-019):
Bone animation, Catmull-Clark subdivision, Extrude ("pull out" one or
more polygons from the mesh), Randomize (some noise added on the vertex
coordinates to get distorted objects), and Calculate Normals (to get
proper shading). To make it all realtime, we needed to split those
operations into topology processing (operations that change connectivity,
number of polygons/vertices/edges, etc.) and pure vertex processing (i.e.
anything that is just dependent on vertex attributes). The idea was that
only the vertex processing part needs to be executed per frame to do
animation - and that idea worked out quite well, as the intro shows
Mesh processing is not really an interesting subject by itself and because
no one wants to look at morphing cubes, we needed to make things a bit more
interesting for our viewers. This is where Josie (top-left screenshot) comes
in, our charming assistant. The top-right screenshot shows Josie walking away
from us with some ... well, morphing cube to the right (we couldn't resist .
Or, actually, it's an extruded cube, so if you didn't get what I meant with
"pulling out" polygons in my original description, this screen probably helps.
The bottom left screenshot shows a "water" surface (just a plane with some
displacement, we used perlin noise for that, which is what we used to implement
the "randomize" function in the original design too), all animated in realtime
and with those "towers" growing out of it (extrude again). The bottom right
screenshot shows Josie jumping (bone animation), with dynamic subdivision and
extrusion to grow those tentacles out of her, plus some nifty material effects
to get the half-wireframe-half-solid look (looks much better in motion).
As said above, it's a 64k intro, so all of that code and data had to be crammed
in a pretty small space; it's neither especially fast nor especially long, but
we are very pleased with the end result anyway. If you want to see for yourself,
you can download the whole intro from
http://www.theproduct.de/fr-030_candytron_final.zip
Some fast facts about the intro: It was developed with Visual C++ .NET 2003
during
a period of about 4 months (January to April of this year) by 4 people and came
2nd place in the 64k intro competition at breakpoint 2003 (an annual demo party
in
Germany). This is the final version which features some additional and improved
code & content, and was released just a day ago. It should run well on pretty
much
any reasonably recent machine, look up the readme for details
- Fabian "ryg/farbrausch" Giesen
|
|