dino
A dinosaur walking in front of a castle, animated vertex by vertex by the GTE, to music with reverb.
Controls
The dinosaur walks by itself. Square and Circle turn it, Triangle and Cross tip it, the d-pad moves it across and up and down, and Start and Select bring it nearer and further. R2 opens its mouth, L2 blinks, R1 turns its head and L1 lifts its tail. Holding L1 and R1 with Select stops the walk and puts the legs on the buttons instead: R1, R2, L1 and L2 lift each in turn, with Down the feet and with Up the knees. L1 and R1 with Start starts the walk again, and then Up and Down choose between the buttons above and R1 and R2 changing the walk's speed, with L1 putting it back. Start and Select together quit.
A port of Sony's Net Yaroze demo "dino" (1996): a dinosaur walking in front of a castle, at 640 by 240. The dinosaur is one model of 2,724 polygons, animated by the GTE's vertex interpolation, MIME: the model file comes with a file of vertex differences, nine sets of them, each moving part of the body, a leg, the neck, the eyelids, and every frame the model's vertices are put back as they were and each set is added in some proportion. The proportions come from the controls through a bank of transfer functions, sixteen filters that each smooth their input over the last few frames with a window of weights, so that a button pressed becomes a step taken. The walk itself is four of them cycling through a table. The castle is a full-screen 16-bit picture copied into the drawing buffer every frame before the model is drawn over it, in fog, under three lights. Music plays from a sequence, with reverb.
Differences from the original:
- The data is read off the disc into the program's own memory rather than sent over the serial cable to fixed addresses. The sound comes first, and once the sound bank has gone to the SPU the dinosaur's textures are read into the buffer its body took, as the original reused that memory, since all of it at once would not fit.
- The GPU packet space is the program's own, and larger. The original puts it where the sound bank was, with its two buffers closer together than a frame of the model can need.
- The walk's speed, when it is turned down past zero, wraps round the step tables rather than reading before them.
Nothing allocates after startup.