| 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

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.