TITLE: Mushroom Kingdom
NAME: Don Laursen
COUNTRY: USA
EMAIL: donl@ismi.net
WEBPAGE: N/A
TOPIC: Imaginary Worlds
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: drlsmw.jpg
ZIPFILE: drlsmw.zip
RENDERER USED: 
    POV-Ray for Windows v3.1a

TOOLS USED: 
    Photoshop 5.0.2, ZSNES

RENDER TIME: 
    2 minutes, 42 seconds

HARDWARE USED: 
    Celeron 300a

IMAGE DESCRIPTION: 


A scene from the timeless Super Nintendo game, Super Mario World.


DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 


BRAINSTORMING:

  I often play around with ideas for the competition, even if I don't intend to
enter it.  In fact,
most of the little raytracing I do comes from ideas I come up with from the
competition's topic.  This
time, my thought process was somthing like this:

  Hmmm...  What should I do for this competition?  Well, it'd be cool if,
instead of just making up
some lame imaginary world of my own, I rendered a scene from some pre-existing
imaginary world that
everyone would recognize...  A book?  No, not many people read books these days
(especially me), and
besides, everyone has his own idea about what the scenes in a book look like.  A
movie?  No, too hard:
Where would I get accurate dimensional information?  How about video game? 
Yeah, a scene from and old
video game would be easy to model, plus I can get pixel-perfect measurements
with an emulator!  What's
a game that everyone's played?  That's easy--Mario World!

EXPERIMENTATION:

  Ok, I'll quit using that annoying stream-of-thought crap and switch back to a
first-person
non-fictional narrative form.  I began with a picture in my head of a common
Mario scene that everyone
would recognize (something like a Bullet Bill zooming by), but it would be from
Mario's point of view,
or slightly Z-negative, but still looking in the direction Mario's looking, so
the perspective would
make the image exciting.  But my main goal was to be true to the original scene,
and I soon found that
the image looked awkward and silly, with a relatively flat group of objects all
in a line, and nothing
much else in the rest of the screen.  Plus, I didn't know what to put in the
distance.  Fade to blue?
More hills?  I experimented (hence the title of this section) with the camera
position a bit.  I
thought that the scene looked pretty cool in extreme telephoto, and not many
people render things so
flat, so I figured it was still interesting that way.  I continued to build a
scene, but decided that I
actually wanted to do a different part of the stage, so I canned the Bullet Bill
idea (although that
scene is kinda cool too), and did a different part of the level.  I decided on
the scene you see now.

IMPLEMENTATION:

  I built the scene, using a few screen shots from SMW as a reference.  The
clouds and hills in the
background are all accurate (except, I think, one), and there are even quite a
few that are off-camera,
but still accurate.  The background is complete, and loops as it did in the game
(though you can't see
that).  Basically, I used a lot of cylinder unions and superellipsoids.  The
ground texture is a
screenshot from the game, as is the grass, although I enlarged it in Photoshop
quite a bit and drew
over it to eliminate pixelation (even interpolation didn't do a great job).  The
hills in the back
are textured with the "leopard" and "bumps" color maps.  All object colors were
eyedroppered from the
screen shots, although I didn't spend time and effort to make sure the colors in
the redered scene
exactly matchted the colors in the screen shot.  I used the measure tool in
Photoshop to get the
relative sizes of all the objects (using 1 pixel=1 unit).  I used a high ambient
light value for most
of the materials to get the scene to look like the game.

TRICKS I USED / WHAT I LEARNED:

  Rendering in "2-D" offers some extra freedom in modeling.  Objects' relative
sizes are preserved, no
matter how distant they are from the camera.  Therefore, the viewer will not be
able to tell if you
layer the scene strangely in order to eliminate unfavorable shadows or
reflections or add favorable
ones.  For example, the rightmost pipe (let's call it "Pipe A") is a few units
Z-negative of the pipe
next to it ("Pipe B").  I did this so that the large light reflection on Pipe A
would reflect off of
Pipe B in a particular spot (the thin white line).  Also, there's another pipe
off-camera to do for
Pipe A what Pipe A did for Pipe B.  Both Pipe A and Pipe B are behind the
diagonal pipe (pipe C) by
about 1000 units  (the cutaway of the ground is at 0, the hills in back are at
about 2000).  Can't
tell, can ya?  Pipe C and the blue pipe are at about the same Z-coordinate, but
the grey blocks are way
back there with Pipes A and B.  The clouds and hills are all layered to make the
clouds vanish behind
the hills, etc.  Everything in the background is shadowless.

  Speaking of shadowless, one of the things I learned was that normal maps don't
work when the object
they're applied to has no_shadow.

  Speaking of shadows, both the foreground and the backgroud objects are in
shadow--but by different
lights.  The background is lit by a light that is much further to the left than
the light that lights
the foreground.  It was a bit of a challenge getting them to both mind their own
business and only
shine on what I wanted them to, and to shine on everything I wanted them to, and
so on.  The reason for
the two separate lights was, if the shading on the hills and clouds looked
right, the phongs on the 
pipes didn't, and vice-versa.

  Another thing I learned was that POV-Ray has trouble dealing with scenes where
the telephoto is
extremely long.  This only happens with scenes with a much narrower angle than I
used, though.  The
angle of view I used was 1/16 of a degree, and this problem didn't happen until
I tried like 1/128 of
a degree or something ridiculous like that.

---------------------------------------------------------------------------------
----------------------

LEGAL MUMBO JUMBO:

  All names, such as Nintendo, Celeron, Super Mario World, etc. are the sole
property of their
respective owners.  ZSNES is a SNES emulator written by zsKnight and _Demo_, who
do not condone the use
of ZSNES with commercial ROMs.  Super Mario World's creation was directed by
Shigeru Miyamoto, who
rules the planet.  This scene was humbly made with the intention of honoring
Miyamoto-sama's work.

