Loren Carpenter speaks (found in a newsgroup discussion):
"Neither I nor anyone at Lucasfilm ever published anything, as far as I can remember. I did the one for Rescue on Fractalus and the folks at LFL adapted it for Eidolon and Koronis Rift later. Ballblazer doesn't use any fractal code.
The algorithm is the simplest possible midpoint subdivision, subject to the constraint that the landscape be consistent from frame to frame. The random displacement is derived from 2 bits (sign & overflow) of the 8-bit sum of the tags on the ends of an edge.
if overflow then
displacement = 0 /* bisect the line */
else
if negative
displacement = -edge_length/4
else
displacement = edge_length/4
The landscape is a 16x16 mesh of edges, repeating forever over the plane.
There is a lot more detail, especially about perspective, but I'm not sure LFL wants me talking about it yet."
Note from Atarimania: Further explanation of the math behind can be found in Carpenter's paper .
Post Scriptum: For an in-depth treatment of fractals for graphics rendering,
see Communications of the Association for Computing Machinery, Volume 25,
Number 6, pages 371-84.
The "...constraint that the landscape be consistent
from frame to frame..." may refer to the idea of pixel replication as seen
in games like Afterburner and Outrun. Note that as an object gets larger,
it also gets blockier. Fractal code can appear to create detail very
efficiently, making the object appear more complex than is otherwise possible.
This can also be seen in the player vehicles in Ballblazer.
Regarding perspective, two main techniques have been used in the past that I
have noted. One is to use different shades of grey for mountains of
different distance, and gradually change colours as the player moves closer
or farther away. The other is most noticeable in Rescue on Fractalus,
where there is a mesh that converges in the distance on a vanishing point.
Still research to be done...
No hay comentarios.:
Publicar un comentario