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.