This was my original demo plan (modified a few times as I worked). You can
tell from looking at this that things had to be cut and didn't turn out
quite as fabulous as planned, but I did manage to get a lot of it done. :)


Part 1
------
- Music just has jingle bell type tamborine sounds in the bg
- Snow effect over the top (based on stars heading down, with
  left-right jitter)
- Fade in: "Cryptic Allusion Presents"; melt out
- Melt in: "A little holiday demo"; melt out
- Slight pause...
- Melt in: "Reverie"; zoom towards screen while lowering alpha

Part 2
------
- Snowfield slowly transitions to 3D starfield (standard style), by decreasing
  the downward movement, increasing the towards-camera movement, and
  decreasing left-right jitter
- Delay cube (outline) fades in, rotating in various directions as starfield
  starts rotating in all different directions
- Delay cube morphs to delay pyramid
- Delay pyramid morphs into delay cube (solid)
- Delay cube (solid) morphs into delay sphere (hollow)

Part 3
------
- 3D stars transition to stationary dotfield by decreasing towards-camera
  movement - When all stars are stopped, a floor fades in (just a gradient
  to the horizon)
- All stars drop and bounce on the floor until they are mostly stationary,
  at which point they fade out.
- Delay sphere fades out as Amiga-sphere fades in. Sphere should only be
  rotating around the Y axis now, slightly tilted along the Z second.
- Amiga-sphere starts bouncing up and down.
- After a moment more Amiga-spheres start dropping in from the top until we
  have as _half_ as many as the processor/3D can handle in _translucent_
  mode _with_ shading.
- Set ambient light level to 1.0 and enable lighting. Introduce 2 light
  sources on rotating paths going among the Amiga-spheres, and slowly lower
  the ambient light level to about 0.3. Light sources should be rotating
  cubes and have bloom textures on them (like modelviewer).
- Drop one phrase at a time across the screen, having it bounce and continue
  falling at a different point:
    Dreamcast

         Makes It

              Possible
- Fade the screen to black.

Words for Part 3:
D-D-D-Dreamcast Speaking!
You hear them say my chips were fried
But now you know it's all a lie
There's still some life left in this beast
So grab some homebrew, have a feast
I'll never die 'cause I'm the best
Now let's stop talking, own the rest

Part 4
------
- Fade in ring of spheres with phong texture always facing a light source
  moving up and down along the Y axis (through the center of the ring).
- Each sphere is overlaid by another sphere for each other sphere, placing
  a slightly less interesting secondary light source. See example below...
- Fade the screen to white.

    B
 A  L  C
    D

Here we have spheres A-D and light source L. For sphere A, there is one
direct light source shining from L which will produce a very sharp
reflection. Each sphere has this same effect on its surface. Because of
this, each sphere will also become a slightly dimmer light source. So for
A, the primary light source texture must face L; then a secondary light
source texture facing B, a secondary facing C, and a secondary facing D.
Thus each sphere is one opaque and three translucents (in SRC+ONE mode).

For for N spheres, N^2 spheres must be renderered, N opaques, and N^2-N
translucents.

Part 5
------
- Fade in the wavy thing from rotocube
- Fade in the rotocube itself
- Let it bounce around for a moment
- Transition to gel-cube, while making sides of the cube different colors.
  This effect is done as follows:
  * For each scanline of the cube...
    + Do the standard rotation/transform on the cube vertices to get 2D
      points. Increment the virtual rotation (real rot + scanline index).
    + Interpolate from point to point so that we have a set of scanlines with
      Z values instead of separate polys for that scanline.
  * Draw all the scanlines.
  * To transition on to this effect, start out by drawing all of the scanlines
    from the real rotation. Every few frames, decrease the number of scanlines
    pulled from the real rotation until the top is reached. E.g.:
      r+0    r+0    r+0
      r+0 -> r+0 -> r+1
      r+0    r+1    r+2
- Fade the screen to black.

Part 6
------
- Fade in copper bar effect.
- Credit scrolltext.
- When last of the scrolltext is centered, pause the
  scrolltext. Should coincide with music ending. Fade out
  the scrolltext.

Credits:

Reverie: Final Diftro(Y)
by(Y)
Dan Potter(Y)

for the Xmas
TUM 2003 DC compo

The background music was
tracked in ModPlug Tracker.
Samples were borrowed from
Vogue of Triton and Purple
Motion of Future Crew.

The title screen font is
Flubber from the latest
Knoppix CD. The other font was
created from scratch in
The Gimp.

I hope you enjoyed this small
blast to the past. I only had
about a week and a half to
write all the code, do art,
track music, etc, so it is not
as good or as long as I would
have hoped. Not too bad
though.

As you might have implied from
the title if you followed the
early PC demo scene, this demo
concludes the work of the late
Digital Infinity. Please check
out our recent game work at...

www.cagames.com

Thanks for watching, have a
good new year.



Copyright (c) 2003(Y)
Dan Potter(Y)
Cryptic Allusion(Y)



Required assets:
* Music: Background music
* Art: CAP banner
* Art: Alhd banner
* Art: Reverie banner
* Art: Font for scrolltext and intro banners
* Code: snow effect (adapt from new starfield)
* Code: starfield transition p1->p2
* Code: generation for dot cube outline
* Code: generation for dot pyramid
* Code: dot morphing for delay objects
* Code: melt effect limited to smaller poly (non full screen)
x Code: starfield transition p2->p3
x Code: starfield drop/bounce
* Code: bounce for Amiga-spheres
* Code: cheap light source shading for spheres
x Code: text bounce
* Code: sphere texture mapping so bloom faces light
x Code: gel-cube effect
* Code: scrolltext for credits
* Text: scrolltext for credits

