General Boards => Mapping Tips/Guides => Topic started by: Peardian on January 03, 2010, 01:56:00 PM

Title: Nintendo 64 Mapping Workshop
Post by: Peardian on January 03, 2010, 01:56:00 PM
Now that I've finished Paper Mario, I figure it's time for me to share with everyone how I did it. In this workshop, I'll be teaching techniques for ripping and preparing models, as well as answering questions. I will also keep a list of N64 games that people are interested in and whether or not it is possible to map them. And remember, this is for the community, so I want you all to get involved, not just sit around and watch. The more questions you ask and games you bring up, the better I can help you all learn. Now, to kick things off...

0. Programs Required
To rip a map on the N64, you'll need three things: an emulator, a rom, and a 3D modeling program. Obviously, I'm not going to show you where to get these, just which ones you'll need.

With the method I use, you'll actually be using two emulators. The main emulator you'll use to rip the models is 1964, in combination with the Nemu64 Combine Debugger plugin (LemD3D8.dll or later version, make sure you have both .dll files). While this graphics plugin isn't the prettiest thing to view games with, it gives you consistant and reliable VRML rips, which you'll be working with. The second emulator is Project64, v1.6 or later, with the TR64 OpenGL plugin. This will act as your backup for ripping textures, as it can export some textures that 1964 rips incorrectly, as well as ones that aren't used as textures (such as HUD elements). Supposedly, Project64 is able to rip VRML as well, but I can never get the rips it exports to work. You will be working both of these emulators together, ripping models in one and filling in the gaps with the other.

The 3D modeling program you'll be using is Cinema 4D, a very powerful modeling/animation program by Maxon. The version I use is Release 10.5, but anything 10 or later is fine. I know there is a Release 11 out there, which is supposedly much faster at rendering, but I don't know what other changes were made, so it's up to you which version you want to use. If you've used a 3D program before, great. If not, don't worry. Cinema 4D has a great and easy-to-use interface that will have you putting together maps in a couple of days. Feel free to play around in the program if you like, as you want to be as familiar with the controls as you can.

Game List
A Bug's Life - **?
Aero Fighters Assault - X
Armorines - *
Army Men Sarges Heroes - ***?
Army Men Sarges Heroes 2 - **
Army Men Air Combat - X?
Aidyn Chronicles - ** good amount of UV damage to characters (Tropicon)
Banjo-Kazooie - **** heavy vertex shading use, room slides around but static angle/scale, complex textures
Banjo-Tooie - X, doesn't emulate well
Batman Beyond - ***?
Battle Tanx - ***?
Battle Tanx Global Assault - ****?
Bio F.R.E.A.K.S. - X
Blastcorps - **? (mikemc)
Bomberman 64 - ***** impossible to see but theoretically possible
Bomberman 64 2 - *** hard to see with culling issues
Bomberman 64 Arcade Edition - X
Bomberman Hero - X
Buck Bumble - X
Castlevania 64 - ??
Castlevania: Legacy of Darkness - ?? Needs looking into, presumed same as above
Chameleon Twist - X
Chameleon Twist 2 - X
Charlie's Blast Territory - *
Chopper Attack - ***?
Conker's Bad Fur Day - ** no problems it seems
Daikatana - X?
Diddy Kong Racing - **** very quirky, objects are misplaced
Donkey Kong 64 - X, can't emulate right now
Doom 64 - **?
Dual Heroes - ****?
Duke Nukem 64 - X
Duke Nukem Zero Hour - X?
Earthworm Jim 64 - ***?
Extreme G - X, way too much UV damage
Extreme G2 - X, same
Forsaken 64 - *** very small rip area, would take a while
Fushigi No Dungeon 2 - **
Flying Dragon - X
F-Zero X - ***** Heavy UV damage, need to be really close to part of track for it to appear right
Ganbare Goemon - Mononoke Sugoroku - X
Gex 64 - X
Gex 3 - X
Goemon's Great Adventure - X
Glover - X
GoldenEye 007 - X
Harvest Moon - X
Hey You, Pikachu! - X
Hybrid Heaven - **
Jet Force Gemini - **** characters/objects buggy, but terrain is fine
Killer Instinct Gold - X
Kirby 64: The Crystal Shards - ***** Very buggy in anything but Nemu, experts only
Knife Edge - X
Kuiki Uhabi Suigou - X
Legend of Zelda: Majora's Mask - **** complex texture effects (Peardian)
Legend of Zelda: Ocarina of Time - **** complex texture effects, damaged textures, jpegs (Peardian)
Lode Runner 3D - X
Mace the Dark Age - ***?
Mario Golf - X, too much UV damage
Mario Kart 64 - ** complete (Peardian)
Mario Party - X
Mario Party 2 - X
Mario Party 3 - X
Mega Man 64 - X
Mischief Makers - ?? maybe possible?
Mystical Ninja Starring Goemon - ** some quirky textures that will require a bit of editing, but nothing too bad
Neon Genesis Evangelion - X
Nightmare Creatures - X
Ogre Battle 64 - * no problems, complete (Tropicon)
Onegai Monsters - X
Paper Mario - *** some UV issues, vertex shading use, complete (Peardian)
Perfect Dark - **?
Pokemon Snap - ***, possible only through cheats
Quake - X
Quake 2 - X
Quest 64 - *** hard to see with culling issues
Rakuga Kids - *?
Rampage - X
Rampage 2 - X
Rat Attack - X
Rayman 2 - X
Resident Evil 2 - X
Re-Volt - X
Road Rash 64 - X
Robotron 64 - X
Rocket - ****? UV damage
Rush 2 - *** same as first
San Francisco Rush - *** map slides around with camera but remains in proper orientation
San Francisco Rush 2049 - *** same as first
Shadow Man - **?
Space Station Silicon Valley - ***** heavy UV damage to terrain, many objects aren't models, trouble emulating, insane mappers only
Star Fox 64 - X
Super Mario 64 - X
Super Smash Bros. - ** some UV damage, complete (Peardian)
Tonic Trouble - ***? possible issues with emulation
Turok: Worlds - **?
Turok 2 - **** heavy UV damage
Turok 3 - ***? dumps a lot
War Gods - **?
Wonder Project J2 - X
Worms - X
Xena - **?
Yoshi's Story - X
Zool - **?

Table of Contents
0. Programs Required
1. Ripping VRML Data with 1964 (
-Q: other programs?
-setting up the VRML folder
-working Lemmy's plugin
-resource organization
-ripping process
2. Problems in Ripping VRML (
-unmappable games
-damaged UV data
-vertex shading
3. Ripping Images with Project 64 (
-types of images in the N64
-working TR64
-transferring save files from 1964 to PJ64
4. Getting Started in Cinema 4D (
-basic C4D layout
-rescaling models with Coordinates panel
-correcting the lighting
5. Basic Scene Correction (
-catching missing scene elements
-basics of Materials
-Color Channel
-Alpha Channel
-handling unneeded objects & materials
6. Axis Control and Optimization (
-object axis
-Center Axis To
7. Tiling Textures (
-Seamless tiling
-material tag attributes
-controlling Offset, Length & Tiles
-dealing with x-only/y-only seamless tiling
-dealing with edge smearing
8. Model Modification and Scene Setup (
-model editing modes
-Camera objects
-Perspective and Parallel view
-picking a viewing angle
-handling backface culling
9. Rendering To File (
-Render view
-Render settings
-Reference Spheres
-organizing your renders
10. Shadows and Overlapping Objects (
-overlapping horizontal planes
-overlapping vertical planes
11. Cheat Codes (
-using cheat codes
-codes for different game versions
Q: Only some models show up? (
12. UV Editing (
-BP UV Edit Layout
-UV Mesh basics
-UV Commands
-repairing UV damage
13. Advanced Texture Techniques (
-compound textures
-Fusion shader
-Projector shader
-setting up a 3D linear gradient
-gradient + fusion
-mask gradients
-Texture Axis Mode
14. Dealing with Backfaces (
-coloring backsides black
-Create Polygon tool
-Connect function
-covering areas outside the walls
-Extrude tool
-objects sticking through walls
-Visibility tag
15. Artistic Renders (
-Light types
-Floor object
-Shadow types
-Phong shading
-Global Illumination
-Sky object
-Ambient Occlusion
-Compositing tag
16. Shadow Catcher (
-Installing plugins
-Shadow Catcher
17. Connect Object (
-phong across multiple objects
-Connect Object
-Quick Shading (
18. Reflective Objects (
-fake reflections on the N64
-Environment Channel
-Reflection Channel
Tip: Infinite Lighting, Infinite Angle (
19. Vertex Weight Maps and Vertex Shading (
-Vertex Maps
-Colorizer shader
-Layer shader
-Coloring with vertex maps
Tip: Snapping Settings (

That's the end of the planned lessons. However, I will continue to maintain this thread as long as necessary, answering questions and helping with maps.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 04, 2010, 10:26:46 AM
Great, where was I.  My biggest problem currently is just getting C4D to read the VRML rips.  The message I get is "Error reading VRML2".  I'm looking for a different copy if C4D now in case that's the problem.  And of course the games I'm going for here are Ogre Battle 64 and Aidyn Chronicles.

Title: Re: Nintendo 64 Mapping Workshop
Post by: TerraEsperZ on January 04, 2010, 11:25:08 AM
I'm certainly interested on a technical level. However I doubt I'd actually want to spend the required time to map a level. If that doesn't bother you, then please impart us with your knowledge oh enlightened one ;D

Title: Re: Nintendo 64 Mapping Workshop
Post by: Revned on January 04, 2010, 02:01:37 PM
Peardian, have you ever tried using Blender? It's free, so it might be a better choice for people who don't want to go to lengths to "acquire" Cinema 4D. It's been years since I've used it, though, so I don't know how well it will work for this.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 04, 2010, 04:15:29 PM
@Tropicon: It might be an error in the technique you're using to rip the VRML. That is what today's lesson is about.
@TerraEsperZ: It's certainly not for everyone, but it's always good to learn.
@Revned: I have, and it is the most confusing and unfriendly modeling program I've ever used. People are welcome to use other modeling programs, but they'll be on their own when it comes to correcting the data.

1. Ripping VRML Data with 1964
The first step in putting together a 3D map is to rip the models you'll be working with. But before you even start up the emulator, you must create the folder where the resources will be dumped. Create a folder immediately in your hard drive directory, and name it VRML. (Example: C:\VRML) This is where 1964 will put all the scenes and textures it rips. Make sure you keep this folder empty most of the time, because otherwise you will get batches of files mixed up. Now, onto the actual ripping.

After you've made sure that the Nemu64/Lemmy's Video Debugger plugin is selected and you've started the game, you are ready to begin. With the shortcut ctrl+V, you can easily bring up the video's control panel, which you will be using a whole lot. This is what it looks like...

[img width= height=][/img]

There are quite a few options, but only a few will be used. Checking the Export VRML box is what will make the emulator begin dumping models and textures. You will be turning this on and off repeatedly, so learn that shortcut! The only other option of interest is CIMG Tracing. Sometimes, there will be some kind of texture effect used that will completely blank out the screen, making it impossible to see. Checking this option lets you see again, though you probably won't be able to see whatever effect was causing it. The only time I've encountered this problem so far is in Paper Mario, with the fire effects used in Dry Dry Ruins and Bowser's Castle. It is likely you will encounter something similar in other games. There's nothing wrong with leaving CIMG Tracing checked the whole time.

However, you should not leave Export VRML checked the whole time for a very good reason. When it is checked, it exports the whole scene, models and textures, to the VRML folder every frame. Because of this, the game will run incredibly slow, depending on how many models and textures there are. Additionally, because 1964 overwrites files each frame, you will only have one model scene at a time. For this reason, it is best to keep organized folders in which to store your scene rips and the textures that accompany them. I keep a folder for each separate room in the game, grouped together by the level/area and again by the name of the game. Obviously, the folders should be kept outside of the VRML folder, otherwise you might accidentally grab them by mistake when handling rips. But enough about organization, let's get to the key moment.

The actual rip takes only a second, and a minimal amount of effort. Look for a location that gives you as much of a view of part of the room as you can. Games will often not render models that are out of the screen view, and as such they will not show up in the rip. This means that for big/complicated rooms, you will have to take multiple scene rips to get everything in the room. The amount of offscreen models varies from game to game, ranging from very little (Mario Kart 64) to entire rooms (Kirby 64). Anyway, find a good spot to rip and 1. pause the emulator. Open up the control panel and 2. check Export VRML. Now, after you've closed the control panel, 3. quickly unpause and pause the emulator. This will cause the emulator to advance only a single frame, exporting all the model and texture data to your folder. However, you can let it advance multiple frames if you want to rip a specific pose of a moving object or rip multiple frames of an animated texture. Different frames are stored as separate images, so they will not overwrite each other. Be sure to 4. uncheck Export VRML before you resume playing. Now let's see what you've ripped!

When you check the VRML folder, you'll see a collection of bitmap files and one file named output.wrl, which is the scene file. All the bitmaps will be named with hexadecimal addresses and come in pairs, one for color and one for alpha. Every bitmap will have an alpha channel, though most of them will be completely solid (black). It is important that you do not change the names of the files, as the output file will use those when C4D assigns textures to objects in the scene. All the images you see in the folder are only the ones used by the models in some way. Keep in mind that not every image you see in the game is a model texture. Thinks like the HUD and background images will be absent from the scene and thus the folder. You'll be using Project64 to rip those. Congratulations, you've just ripped a VRML scene!

2. Problems in Ripping VRML
Because Nintendo 64 emulation is far from perfect, there are many problems that can wrong in ripping, some of which are not the fault of the emulator. The biggest problem is that the game internally renders models in a certain way. Instead of a camera moving around a static room, the camera is static and the whole room moves around. Some games take this even further by rescaling the models to simulate zooming. This makes the game unmappable without the use of some kind of tool to access the original model data. Games with this problem will be noted in the game list with an X, for unmappable. Chances are most of these games will still have minimap images that can still be ripped, but the 3D models will be out of grasp for now.

The other problems are to be blamed on the software and are more controllable. Textures on models are controlled by UV data, which tells how the textures are tiled and stretched for each face of the polygon. Sometimes, this data is misinterpreted by the emulator, leading to faulty rips. This usually manifests itself as the texture being skewed and tiled 20 times in some direction, making it stand out easily. Other times, the error will only become apparent upon opening the output file, like in Paper Mario where all character models have their UV map scrunched up into a tiny little square in the bottom left corner of the texture. Either way, these errors are correctable, often easily. This merely adds a degree of difficulty to preparing the models. It is mostly a problem with character models and rarely affects terrain.

The third problem is merely a deficiency in Cinema 4D and the VRML format. Nintendo 64 makes use of something called vertex shading, in which shadows, lighting, and sometimes color is put on a model with gradients. Color values are given to each vertex of a model, and a gradient between them is created on the polygon face. This is used to simulate lighting, as well as color grayscale images and create shadows. The VRML format only retains this data for objects that don't have textures assigned to them, but Cinema 4D cannot handle the data at all. It will merely assign a single color to the whole object, taken from the first vertex of the object. There is a workaround for this, but that's for another lesson. This is possibly the most time-consuming issue to deal with.

Update: I've found a way to do vertex shading, but it isn't easy. See the lesson on it for more details.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 05, 2010, 05:01:22 PM
Since there were no questions, it's time to carry on. The next lesson is...

3. Ripping Images with Project 64
Ripping a scene with 1964 will get you the textures you need to render the scene, but often this is not enough for a map. Background images like in Paper Mario and HUD elements are often not part of the scene and need to be ripped separately. Additionally, some textures will rip incorrectly with 1964 because of how they're stored. See, the Nintendo 64 has four types of images, with three of them being the most common. There are the standard color bitmaps, jpeg images (only seen it in Ocarina of Time so far), and two types of grayscale bitmaps. The first type of grayscale bitmaps are easily recognizable in that both the color and alpha channels will be identical. The second kind have different color and alpha channels, and it is this kind that 1964 has trouble ripping. The alpha data will be misinterpreted as red levels in the otherwise-grayscale color image, leaving the alpha image completely empty (white). If you find an image like this in the scene dump, you'll know it's time to get Project 64. Jpeg images have to be extracted with a special tool made by _demo_, which I have yet to find.

The process of ripping textures with Project 64 is very simple. Just open up the Graphics Plugin options after you've started the game (sorry, no shortcut). There are only four checkboxes and a dropdown list. If the game isn't playing and it tells you to change the uCode, this is where you do it. I don't really know how to determine which uCode you need for which game, so it's a bit of trial and error. Anyway, the option you'll mainly be interested in is Enable Texture Dumping. This automatically dumps each and every image loaded in memory into the tiles folder inside the main Project 64 folder, which you must create yourself. Unlike with dumping VRML, this will not affect performance or take a lot of power. However, it will only load each unique image once, and as such you will only have one chance to dump the desired image. Make sure you have the dumping option checked before you reach the room containing the desired image. Keep in mind that the earlier you check the box, the more images you'll have to weed through, but the safer you'll be in capturing it. Missing your chance to rip the image means you'll have to close the emulator and start all over again. Depending on what the image is, you might want to even start the dump as soon as you load the game.

When you check the tiles folder for the images you've ripped, you'll notice that Project 64 handles things differently. Images are simply labeled Texture#### or Tile#### and come in groups of three as opposed to pairs. Not only that, but all the images are flipped vertically and the alpha channels are inverted as compared to the dumps made by 1964. The middle file in each group is an Info file, which gives data about how the image i used in the game. You can delete all of these, as they are of no use to us. An easy way to delete them is to use the Search function and search the folder for names with the word "info" and delete all the results. What is left are all bitmaps, in two categories. Images labeled Tile#### are the raw image files, and the ones labeled Texture#### are how they're used in the scene, after some distortion. The images you'll normally be looking for are the Tile bitmaps, but that's not to say the Textures aren't useful. Sometimes they reveal how a particular image is tiled or how it is combined with other bitmaps (more on this another time). Be sure to look over these before you toss them, as they might point out something you failed to notice. Since not all images are used as textures, there will always be less Texture images (if not the same). The count on the files resets each time the emulator is closed, so be sure to keep the folder clean after each use. Oh, and since there is a size limit to images in the N64, larger images like backgrounds will always come in pieces, either as chunks or strips. Prepare to do a bit of piecing together. And that's all for ripping with Project 64. Not much to it. Just remember to vertically flip the images you get from it before using them in the scene.

But what's that, you say? Project 64 and 1964 are using separate save files and it impedes your progrss? Yes, this is true, but there is a way around this. Upon inspecting the save folders of both emulators, you'll notice that 1964 adds hexadecimal gibberish to the end of savefile names while Project 64 does not. Because of this, it's easy to copy the save over to Project 64, but not the other way around. Simply remove the numbers at the end after copying it to Project 64's folder. I don't know how well the process works in reverse, but I imagine you'd have to use the number found on 1964's original save file to append. This trick will save you a great deal of effort, especially when it comes to lengthy RPGs like Paper Mario. With the last of the image resources ripped,

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 06, 2010, 01:40:03 PM
A few things.  When exporting VRML from 1964 how do you select the folder to export to?  And my project 64 folder has no "tiles" folder.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Piranhaplant on January 06, 2010, 03:55:30 PM
I am having a similar problem, I get the output.wrl file, but no textures.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 06, 2010, 05:32:02 PM
@Trop: As far as I know, you cannot configure the export folder. It will always dump everything to C:\VRML, or whatever your drive is. As for Project 64, yes, I forgot to mention you will have to create the tiles folder as well.
@Piranhaplant: That is strange. I'm assuming it's not the game, because I'm sure you wouldn't try ripping a 3D scene from a 2D game like Yoshi's Story. Which game is it? And does the output file work? (Try opening it in C4D.) How big is the file?

I'll postpone the lesson for a little so I can try and solve these problems.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 06, 2010, 06:24:24 PM
I know where the VRML dumps go so it's fine.

OK I created a tiles folder and as soon as I started doing something it did indeed fill up with tiles.  Not ones I can use though.  I'm walking around on a field in Ogre Battle 64 and all it dumps are fonts and what I guess you would consider sprites.  I thought I needed the textures I'd be covering the 3D models with.  I'm even using the uCode for Ogre Battle.

Still working on getting a new C4D.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 06, 2010, 06:38:15 PM
@Trop: Like I said, the textures will only be dumped by Project 64 the first time they are loaded into memory. If you're walking around in a field, they've already been loaded and it's too late to dump them. And, remember, Project 64 is for supplemental image ripping. You only have to turn to it if you need extra images or encounter an erroneous texture.

What version of C4D did you have before?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 07, 2010, 03:00:16 PM
*sigh* I was using 10.5.  I just picked up 11.5 and it gives me the same error.  And I'm even using a different computer!  All my ripped VRML's work in that stupid Cosmo Player for Firefox.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 07, 2010, 06:13:10 PM
@Trop: Then it might be a problem with your process and not C4D. Try reading over the lessons again to make sure you have the right versions of everything and are following the proper steps. Even though I bolden and underline things, be sure to read everything in between. Anyway, I pushing on with the next lesson. I need to take advantage of the time I have left at home.

4. Getting Started in Cinema 4D
Now that you've ripped the scene's VRML data and the textures that go with them, you're ready to start work on the models. I recommend you keep up the emulator (paused) while working in C4D. Even with 512MB of RAM, you can still support both programs fine. I also recommend you associate the .wrl filetype with C4D, if you haven't already. Double clicking the file is a lot more convenient then having to drag the file into C4D or use the Open dialog. The layout for C4D is pretty simple. In the left-center, you have the main viewing window. To the right is the list of objects, on the bottom is the list of materials in the scene, and in the corner is the attributes about whatever tool or object you've clicked last. Between the materials and info are fields related to the selected object.

The first thing you'll see when opening the scene file is most likely going to be graphical gibberish or empty space. This is because the VRML scene is ripped at 1/1000 the size you want to work at and rendering objects tends to break down at this size. The fix for this is quite simple, and dealing with it will become routine for you soon enough. To start, 1. choose the NemuModel object in the object list. This is what's known as a Null Object, an invisible container to group objects together. All scenes ripped by Lemmy's plugin will be contained within a null object, along with a camera and light object. Next, look down at the Coordinates box. This box normally displays things like the current spatial coordinates, size, and axis rotation. There is one field for X, Y, and Z in each group. You can change two of the groups to display other information, and that's what you're going to do.

[img width= height=][/img]

In the center box, 2. choose Scale in the Coordinates box if you haven't already. The size numbers will change to display three 1s. The numbers will always show 1, but you can use this field to rescale models. With the null object still selected, 3. put 1000 into the three Scale fields and hit Apply. This will resize the model to a workable scale. Keep in mind that hitting enter will apply the changes you put in the fields, so use tab to switch from field to field. You will notice that the gibberish will clear up, but the view has not changed. You'll also notice that somethings will appear dim. This is because of the default light. It is included in every scene rip at the origin, which often is in the middle of the floor or a little above it. This makes it hard to see and thus hard to work with. In order to fix this, 4. choose the light object to bring up its attributes.

[img width= height=][/img]

The Ambient Illumination option makes the singular point light light up everything evenly, which is just what you want. So, 5. check the Ambient Illumination option to light up your scene. If you have a version of C4D earlier than 10.5, you might also have to choose the Constant Shading option in the main view window's Display menu. This gives you an evenly lit view like with Ambient Illumination, but it does not affect the actual render. The shortcut for this N~E, which means you press the N key, followed by the E key. This shortcut is useful for when you want to check a scene without modifying the light. Now that you've made these fundamental changes to the scene file, I recommend you save it. Make sure you pick a meaningful name, keeping in mind that you will be creating individual scenes for each separate room in the game. Something like "room #" is okay if you keep the folders organized, but an even better name would be something like "desert #" or "bowser #", including part of the location's name. Cinema 4D's proprietary format is .C4D, which only it can read. With this modified scene file created, you can get rid of the original output.wrl file.

Now that the scene file is set up and saved, let's take a look at it. Any easy way to do this is to select the null object and press the S key, a shortcut which repositions the camera to fit the selected object (or group of objects) in the center of the view. Looks good? Maybe, maybe not. Depending on the game, the scene will look more or less like how you see it in-game, usually less. You might notice a lot of grayscale objects and a lack of alpha transparency for textures. We'll handle this in the next lesson. In the meantime, I recommend you become familiar with C4D's camera controls. They are located in the upper righthand corner of the main view window, and you will be using them a whole lot.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 07, 2010, 08:14:24 PM
Yeah, I'll try more angles.  I don't want to hold up your posts.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Piranhaplant on January 08, 2010, 06:01:18 PM
@Piranhaplant: That is strange. I'm assuming it's not the game, because I'm sure you wouldn't try ripping a 3D scene from a 2D game like Yoshi's Story. Which game is it? And does the output file work? (Try opening it in C4D.) How big is the file?

The game I am trying to rip from is Mario Kart 64 (not for mapping purposes), and the output file doesn't work and is 390kb.  I also forgot to mention that output.wrl is not being put into the C:\VRML folder, it is being dumped directly onto the C drive.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 08, 2010, 06:51:54 PM
@Piranhaplant: That's very odd. I wonder if it's the version of the plugin you have. Send me an email and I'll give you the one I have. In fact, I'll send it to Trop, too, just in case.

Lesson delayed until I return to my dorm.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Piranhaplant on January 09, 2010, 02:29:56 PM
Thank you, I got it working now.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 11, 2010, 08:19:03 PM
Now that the issues are settled and I'm back on campus for the start of the semester, I'll resume putting up lessons. I hope you've been getting used to Cinema 4D's controls!

5. Basic Scene Correction
The first step in fixing a scene is making sure you have everything in it. As I said before, many objects off-camera will not be included in the scene because of how the Nintendo 64 works. Carefully examine your newly ripped scene to see what is missing, because it is very rare that you will capture the entire room you want, complete with interactive objects. The procedure for collecting the rest of the scene is pretty simple. With the original scene open, go back to the emulator and move from your initial ripping location. Keep checking back with your rip as you scout the room for the missing objects and try to fit as many of them in your view as possible. It is always wise to check your rip while moving around, because while some things are obvious when they're missing (hole in the floor, or important object), often times small details will be missing as well, and these are the things that you will most likely pass over without noticing. When you have a good amount of the missing objects (or all of them if possible), create another rip of the scene. Open it and rescale it to match the original scene. A shortcut that I find helps me here is N~E~S, which will quickly light up and center the scene for you. (Remember that using N~E will not light up the final rendered scene, just the editor's view.) With the Live Selection Tool (the cursor), select the objects you need in either the viewer or object list. Because of how the VRML format works, there will be a separate object for each texture and for each separate moving part. Like many programs, you can hold Shift or Ctrl to select/deselect multiple objects. (In the viewer, shift lets you select multiple objects, ctrl deselects them. In the object list, shift can select a range and ctrl can select/deselect individual objects.) With the desired objects selected, Copy and Paste them (the standard ctrl+C and ctrl+V) into the original scene. You do not have to worry about selecting the materials, because relevant materials are automatically added with the model. Often, a texture will be used that wasn't included in the original scene. Cinema 4D will warn you of missing image files each time you render, so I suggest testing it out (ctrl+R) every time you add objects to a scene. If you get this error message, look for the texture in the VRML folder and paste it into your scene's folder. You will notice that the newly added objects are located outside of the NemuObject container. This is usually fine unless you intend on altering the whole scene by moving/rotating the container. Simply drag and drop the objects over the name of the object to put it in its hierarchy. Keep in mind that any object can have parent and children objects, not just containers. I'll describe uses for this in another lesson. Check the scene multiple times until you're sure you have everything in the room. Once you're done collecting everything, you can begin fixing the appearance.

The first thing you'll do to the scene is check out the materials, located in the list at the bottom of the workspace. There will be at least one material for each texture in the scene, plus duplicates and solid colors. They are arranged in the reverse order of the Objects list, with the top-left material being the one used by the lowest object on the list. Newly added materials are inserted at the top. Keep these in mind when searching through the list for a specific material. If you have an object selected, you may notice that some materials have a white box around them. The white boxes indicate all materials associated with the selected object(s). You can select materials by clicking them just like objects. Materials selected will have white names and will display their attributes on the right. The reason they are called "Materials" instead of "Textures" is because materials can posses a great range of properties and not just a single texture. These properties are divided up into Channels, which can be enabled/disabled in the Basic channel, which is part of every material. Two other channels used by every material are Illumination, which we won't worry about, and Assign, which shows a list of every object that makes use of that specific material. The only channels we'll be dealing with are Color, Alpha, and Transparency. I could explain what the other channels are used for, but it's easier if you just play around with them to find out by yourself. Anyway, let's take a look at an average material's Color channel...

[img width= height=][/img]

Along the top are tabs for each of the enabled channels. By default, Color is the only channel active for Nemu-made materials. Tabs are generally viewed one at time, but you can view multiple channels at the same time by right clicking the tab. The channels will stack up on top of each other in the same order as the tabs, allowing you to scroll between them. Just below the tabs is the material preview, a sphere by default. From this preview, which is displayed at the top regardless of which tab is selected, you can rotate the material (drag around with right click) or change the display shape. The first field in the actual Color channel is, believe it or not, Color. Not every material will have a texture assigned to them, but every material will have a color. You're given RGB sliders, but you can also manually enter numbers or click the color box to choose a color with the System color picker. Below the color field is the Brightness, which determines how bright the selected color is. Leave this at 100%, and make sure it is set to 100% for every new material you create. Below that is the texture, which is pretty straight forward. Clicking the arrow next to the filename brings up a list of options, such as Copy/Paste Channel, as well as a good amount of effects/shaders. Below the filename bar are the texture preview and the filter controls. The default is MIP, which is somewhat similar to N64's filter, but not close enough. It typically causes problems around edges and is best turned off. Below the texture field is Mix Mode, which controls how the texture is blended with the chosen color. Normal is the default, and simply covers up the image over the color. Don't worry about Add or Subtract, as it's most likely you won't need them. Multiply is the option you'll be choosing most, as it combines the image and the color together. This is how you'll be imitating vertex shading in your scenes. Mix Strength is another field you'll be leaving at 100% for everything.

Each time you start a new scene, you'll be going through each material one at a time to see how it is used. But first, you have to change the default settings that get in your way. Select all the materials with ctrl+A (make sure your cursor is over the material box, or you'll select all objects instead) and choose the Color channel in the Attributes panel if you haven't already. You will notice that it says "Material (# Elements) [_,_,_,_...]" above the tab, indicating how many materials you currently have selected, and fields with different values will say "<<Multiple Values>>". Click the filter type and change it to None, disabling the default blur for every material. If the field isn't showing up, this is because the topmost material has no texture. Deselecting it will let you change the field. With the filter off, it's time to deal with the spheres. Sure, they look nice, but they completely distort the image and make it hard to tell similar images apart. With all materials still selected, right click the material preview sphere and choose Plane from the list. This will make all the materials change to a flat square facing the camera, exactly what you need for working with texture images. Now, it is possible to change the default from a sphere, but I advise against this. Keeping the default as sphere will let you keep track of which materials you haven't dealt with yet when it comes to adding new models to the scene. You are welcome to choose other shapes besides Plane (even Sphere if you want) as long as the shape is meaningful to you and doesn't hinder your ability to recognize it. I sometimes use cube myself for materials that are blocky. With these new display settings chosen, it's time to go through each material one by one.

What you'll be looking for as you go through the materials are whether or not the material has a color and whether or not the texture has a special alpha image. And by color, I mean anything other than white, which Nemu gives as 254,254,254. The farther the color is from white, the more vertex shading the object has. A scene file will normally come with multiple materials using the same texture but different colors. Whenever you find a non-white color in a material, change the Mix Type to Multiply and see how it affects the scene. It could be subtle or drastic, useful or just wrong. I'll talk about advanced coloring tricks in a new lesson, so for now, leave the mix type on Multiply and move on to the next material.

Working with Alpha is a bit tricky and takes a little more effort. Depending on the game, you will either have a lot of alpha channels to work with or almost none. Paper Mario has alpha channels with almost every texture. In this case, you'll be looking for alpha channels that are anything but a solid black square. Sometimes it will be obvious, other times it will not. Let's say you've found a texture that you know to have a unique alpha channel, like any of Paper Mario's character sprites. To apply the alpha channel, start by going to the material's Basic channel and activating the Alpha Channel. Switch to the Alpha tab to see the options you're given. You'll notice a texture field and some check boxes. Load the alpha image into the texture field by either clicking the empty filename bar or the "..." button next to it. You should probably pick the Thumbnail view while browsing for the file so that you know which one to pick. When the file is chosen, the alpha channel is applied and... what's this? It's cutting out the character and showing the blank space around it? That's right. The alpha channels generated by Lemmy's plugin are inverted when compared to the system C4D uses (black for solid versus white for solid). Luckily, there's an option for that, so check the Invert option to set it right. Keep in mind that you won't have to do this for grayscale images or alpha channels obtained through Project 64. But, before you go on to the next material, take a look at the texture. Like with the color channel, the default texture filter is MIP. Be sure to change it to None before you move on.

I think this lesson has dragged on enough for one day, so I'll just cover one more thing. Not every model that comes in the scene will be important to you. Often times, you will have to delete floating 3D HUD elements that are getting in your way. And, depending on the game you're working on, you may or may not want to delete the main character's model (or the enemies present). Leaving the main character in is a good way to establish the scale of the level, but scale can also be established through the other characters and objects present in the room. If you do decide to delete objects, their materials will be left behind in the Material list. You can get rid of unused materials by right clicking any of the materials and selecting Remove Unused Materials. Similarly, you can remove materials with identical parameters (often a side effect of pasting in new models to the scene) by choosing Remove Duplicate Materials. It will look through all the active fields and combine the materials that are exact matches (Name field ignored). Using these frequently will keep you from wasting effort on materials that don't show up onscreen. You can manually delete these textures, but it is very tedious and error-prone. When manually deleting duplicate textures, you will also have to assign the correct matching texture to take it's place on the model.

That's all for now! I should mention that the steps mentioned above aren't set in stone. You can do them in any order you choose. There's nothing wrong with fixing up the existing scene before looking for missing elements. Pick a flow that works for you, and feel free to change it on a whim. For the next lesson, we'll be looking at tiling and handling special textures.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 14, 2010, 12:09:18 AM
Since there are no questions, I'll assume you're following along with no trouble. And if you try out any game that is not on the list, bring it up and let me know what kinds of problems you face or if it is even mappable at all.

6. Axis Control and Optimization
This is something I wanted to mention in the previous lesson, but it was long enough and I forgot about it anyway. Every object, even null objects, has an axis, a zero-point in space that acts as the objects center when it comes to movement, scaling, and rotation. However, the default position for all objects created by Nemu is at the origin of the scene, the absolute center. This makes things rather difficult when it comes time to work with the scene. The fix for this is quite simple, and will become more of a habit than rescaling the models. With the polygon objects selected (use shift+click, don't include NemuObject parent), go to the menu at the top and choose Structure -> Axis Center -> Center Axis To. This will reassign the axis of every selected model to the center of the object as calculated by the average size in the X, Y, and Z directions. This will notably improve view control, which is dependent on the camera's location relative to the selected axis. You can now jump to individual objects with S without always having the center of the scene stealing the show. If you want even more control, you can select Structure -> Axis Center -> Axis Center... to bring up the Axis Center controls. From here, you can control how it calculates the model's new axis, using the Execute button to apply the change. Clicking Execute with the default settings is the same as using Center Axis To. The Reset button sets things back to the defaults. This panel is very useful when you want to, say, position the axis at the very bottom of a model for alignment purposes. I'll talk more about the axis and how to manually control it another day.

If you've tried to modify individual polygons in a model or apply phong to one (you'd be doing lots of experimenting, I imagine), you'll realize that the models fall apart.  Trying to move one just leaves a hole where it was. This is because none of the triangles are connected. When the plugin rips the scene, every polygon face is created as a separate piece, with its own three vertices. Only because of the fact that they share identical coordinates with neighboring triangles that they give the appearance of a solid object. This also boosts the filesize because no vertices are shared. If you've guessed there's an automatic way to deal with this, you're right. With the desired objects selected, go to Functions -> Optimize... to bring up a small dialog box. By pressing Okay, all vertices that have the same or very similar coordinates (Tolerance) are merged together. This unifies the object, making it a lot easier to modify and possible to use phong shading (again, something for another lesson). If you don't plan on modifying anything in the scene, it's not necessary to optimize, because ambient illumination gets rid of all true shading. That's all for this lesson.

7. Tiling Textures
When looking through the textures in the scene, you will probably notice something: there are a good amount of images that only show half or a quarter of an object. When they're put on the model, they just look wrong. That's because the Nintendo 64 has a couple different ways to tile textures on objects besides the normal method you see in C4D. One of those ways is by flipping every other image to create a pattern twice as big as the original. In Cinema 4D, this is referred to as Seamless Tiling and is very easy to use. However, there's a catch. The N64 can define seamless tiling for the X direction (side-to-side) and Y direction (up-to-down) individually, while C4D cannot. Some models use this, so a workaround is required. You can either do the brute force method, or the cleaner, smarter method. I'll start by explaining the basics of tiling in Cinema 4D. Take a look at the Objects list for your scene. Next to each model is an icon showing the material it uses and a checkered square. This is the model's UV Tag and it contains UV Data. It defines how materials are layed out across the polygon, as I mentioned earlier. Each object can have more than one material, but can only have one UV Tag. Be sure not to mess with it.

Clicking the material's icon will bring up UV-related attributes for that particular material, found in the Tag tab. From here, you can control not only how it tiles, but its scale and offset, all without messing up the UV data itself. At the bottom of the attributes list are four check boxes. You'll only be interested in the middle two. The Tile option controls whether or not the texture is a repeating image or a single instance. With this off, the texture will only appear once, in the center of the UV Map (as determind by the UV Data). Any empty space not covered by material is replaced with the default gray matte. Below that is the Seamless tiling option. Keep in mind that the tiling will only show up when you render (ctrl+R), so don't panic if you don't see any change on the model. The other two checkboxes are of no use to you. Up at the top, the first field shows the material in use. You can drag a material into this field to change it. You can also drag a material onto the icon in the object list to do the same thing. The second field shows what polygon selection it is associated with, if any. I'll explain this another time, but for now, leave it alone. The third field is the material's Projection, or how Cinema 4D applies the texture to the model. The default for most models is UVW Mapping which puts the UV Data in control. If no UV data is defined, the texture will not show up at all under this setting. The default for objects without UV data is Spherical, where the placement is based on how the image appears on a sphere. This is impossible to notice on solid-color objects unless you add a texture. You can experiment and see for yourself what the other projections do. The fourth field is Side, which lets you control if the texture is shown only on the front of the polygon, the back, or both. Both is the default setting. The "front" and "back" of the polygon is determined by the normal direction, which tells which direction the polygon is "facing", so to speak. This is how games know how to use Backface Culling, where the backsides of models are hidden, letting you see even when your camera goes through the wall of a closed room. I'll discuss this more when I talk about setting up the camera for rendering.

The next group of fields are what you'll be using to manipulate textures on an object to compensate for special tiling. The first two fields control the Offest of the texture in the X and Y directions. With tiling turned off, this will affect the position of where the single instance of the texture is placed. Increments of 100% are equivalent to one full texture position, so stay away from strange numbers if you want your texture to be accurately placed. The next four fields are positioned next to each other because they work in pairs. The Length and Tiles fields are inversely related to each other, and they automatically update whenever one side is changed, because they're two ways of displaying the same data. Length is the size of the texture relative to how it normally appears, and Tiles is how many times the texture repeats itself in the space it normally takes up. At 100% size, the image tiles 1 time because it is the same size as itself. At 200% size, the image tiles 0.5 times, because it takes twice the space to display the image and thus only half of it fits into the original size. At 50% size, the image tiles 2 times, because it only takes up half the space and can fit in the same space exactly twice. The instructions below will show you how to use these fields.

The first kind of tiling issue you might have to deal with is when a model uses seamless tiling in only the X or Y direction but not both. Simply turning on Seamless tiling will cause things like upside-down archways and windows. The brutish way to handle this is to put multiple textures on a single object. You start this by creating a copy of a texture tag onto the same object using ctrl+drag. Cinema 4D reads left to right when it comes to multiple materials, so materials on the right overwrite ones on the left. You'll want the cloned tag to be to the right of the original. Turn off tiling on the new tag. This will let you move it around to patch up the troublesome spots. Next, change the Length of the axis you want to flip on to -100% (-1 Tiles). This will mirror the texture in that direction. Many times, the texture will appear not to show up, leaving blank faces. (Cinema 4D only shows texture per polygon face, so it will display only the material you have selected and only if the material is visible on that face.) This is because the image is being drawn backwards, starting at the top-left corner of the original image. In order to move it into position, change the Offset in that axis to 200%. This will put it just to the right/below the original texture instance, which is typically where you want it to be. If you need to do it several times, clone the new material tag and change the Offest by increments of +/- 200% as necessary. Keep in mind that the more materials are assigned to a single polygon, the more it lags C4D, so try not to use this technique in excess. Also keep in mind that this will not work on texture with alpha, because the nonflipped version will show through under the flipped one. In the case of alpha, you'll have to turn off tiling for the original and clone it multiple times as well. Obviously, this can be quite tedious, especially for larger models. This is where the easy method comes in, though it involves some external editing. In the scene's folder, create a copy of the image you want to tile and name it whatever, if you even decide to rename it. Open it up in good ol' Paint and copy/paste/flip the texture so that it looks like what you want it to look like. The modified file will end up being twice the size in the desired direction, which is usually width. Save it, of course, and head back into C4D. (If the image has an alpha channel, you will have to do the same thing to it as well.) Go to the material you want to modify and swap in the new image. Watch as the models change in texture, but notice that things are scrunched. The UV data is the same, but the new image is twice is long and so is squashed. Fix this by going to the object's material tag and chage the Length to 200% (0.5 Tiles). Make sure you change every tag that uses this particular material, because it will make them look weird otherwise. A good way to make sure you get all of them is to right click the material in question and choose Select Texture Tags/Objects. This is a very quick and easy way to fake special tiling without needing 20+ materials on one polygon. However, it will not work with the next special case.

The other kind of tiling issue is the most troublesome to work with. A special thing the N64 can do is smear the edges of a texture instead of repeating it. The farthest row of pixels on that side will be repeated over and over, creating a series of colored lines. This type of tiling can only be done in a way similar to the brute method mentioned above, but with significant differences. Start by turning off tiling for the original texture tag and clone it to the left. Unlike before, the clones you make are going to go under the original instead of on top of it. In the direction you want the smear, change the Tiles to 0.001. This is the maximum amount of stretching you can put on a texture, scaling up the size to just under 100000%. What you do next depends on the model. If the smear is for covering a long narrow model, you can turn on Tiling for the stretched material. This will cover both the +/- directions of the texture, as well as fill in any little empty spaces that might exist on the sides. If the model is significantly large and has space in both directions, you'll have to leave it off and instead clone it again, to the left. If you have space to fill on the - side of the texture, chance the Tiles of the cloned tag to -0.001 and the Offset in that direction to 100000. This will smear the - end.  Clone the tag(s) to the left once more and swap the X and Y values for Length/Tiles/Offset. After this step, you'll have a large cross of color with empty corners. Again, what you do next depends on the situation. If all four corners of the image in question are the same, you can get away with cloning the material again, stretching it to 0.001 in both X and Y, and turning on Tiling. Alternatively, you can duplicate a solid-color material, change it to the desired color, and place it to the left of all the actual textures. If not, you'll have to create several tags and mess around with Offset and +/- Tiles to get the desired effect. Remember that the corners go below the X/Y smears. And, as with seamless tiling, the N64 can define the X and Y separately, so you might have to get creative in some places. Shy Guy's Toy Box is a good example of this (green/yellow tile along base of rooms).

Every game will use this in varying degrees for various things. Star Fox 64 uses this extensively, especially when it comes to special effects. In these cases, a large triangle is created with the effect in the middle, only tiling once, and the completely-transparent edges are smeared to cover the rest of the triangle. When alpha is involved, there is a very easy fix. Create a new material by double clicking in any empty area of the Material list. The new Material is named Mat and has the default settings you see on textureless objects. Disable the Specular and Color channels and enable Transparency. Then, just stick this new material onto the object at the very bottom of the object's materials. This invisible material will prevent C4D from filling the empty space around the texture with gray matte. I'll explain more about the difference between Alpha and Transparency when I talk about gradients.

This will be all for now. As you can probably tell, there are still many topics for me to cover when it comes to working in 3D. Next we will begin the actual production process, starting with using cameras. I hope you keep practicing in the program. Feel free to link to screenshots of models you've ripped and fixed up so far.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 15, 2010, 10:42:19 PM
Again, no questions, so I'll continue on. I hope you're all regularly checking this thread for new posts.

8. Model Modification and Scene Setup
Before I can begin about setting up scenes, I need to teach you some of the basics of editing models in Cinema 4D. On the far left side of the C4D workspace, you have a toolbar with some strange-looking buttons. These are not actual tools, but modes. The topmost button brings up a list of workspace layouts, such as Animation and UV Editing. You'll be using this later. For now, we're sticking with the Standard layout. (If you ever lose track of one of the default windows or change things around on accident, selecting Standard again will reset it.) Below that is a button for changing primitive shapes like Spheres and Cubes into editable models. It's not really very useful to you for mapping, but it's a good thing to know about just in case. Below those are the five different editing modes, which determine what you can select and play around with. The default mode, which you've been working with, let's you move and maniupulate whole objects. The mode below that lets you control the axis of an object, for when you want to manually change it. Below those are the three modes for working with the actual structure of the models: Point, Edge, and Polygon. With one of these turned on, you can select and modify the points, edges, and polygon faces of the active model (you'll have to use the list to switch between models). Keep in mind that unless you optimize, the polygons will not be connected when you try to do anything to them. Since you are trying to map things as accurately as you can, you won't be doing much modification, but it does come in handy at times, especially the polygon mode. I'll explain a use for them in a little bit.

Now, unless you have some extra problems to deal with, most of you will be ready to render out the room for use in a map. This is where the Camera object will come into play. You've been using it the entire time, but probably haven't been paying much attention to it. It is worth mentioning that you don't need a Camera object to render a scene because of the default Editor Camera, but it really helps. Notice the little white crosshair icon next to the Camera in the object list. This lets you know it is your active camera. Clicking it will deactivate it and put you in the Editor Camera. If for some reason this does not work (perhaps you have a version earlier than 10.5), you can switch to the Editor Camera using the Cameras menu over the viewer panel. The green wireframe movie camera you see is how C4D represents inactive cameras. You can have multiple cameras, and can move them around like normal objects. They do not have any real polygons, and they do not show up in renders. The number of cameras you want to use depends on the game you're mapping and how complex the environment is. (For Paper Mario, I only used one per room with few exceptions.) To create a new camera, go to the top menu and choose Objects -> Scene -> Camera. The new camera is always created at the exact view you're seeing, which means you can scout around for new locations in the editor camera and create them when you find a good spot. Also keep in mind that the new cameras do not activate automatically, so you can continue to move around in the editor camera without messing up the position you chose. It is important that you keep track of which camera is active, because you don't want to accidentally move one. Changes in position to the active camera cannot be undone with Ctrl+Z unless you are in Camera Tool mode beforehand, and chances are you won't be. Now that you're more familiar with the camera, let's put it to work.

One of the problems you might have noticed so far is that the camera has a Perspective view, so that nearer objects are larger and farther objects shrink away into the horizon. Even if you positioned the camera up above the map and looked down, things wouldn't quite be right, with taller objects obscuring areas around them. This is the same issue you'd encounter if you tried taking a screenshot in the game from a high up location. The solution is to change from this perspective mode. In the Cameras menu that has the Editor Camera option, you'll find a list of different view types. At the top of the list are Perspective and Parallel, the two modes you'll be using most. Everything below that is somewhat limited, allowing you to only pan the camera two-dimensionally. There is a Top, but as I said is rather restrictive. It is very easy to create a top-down view in Parallel mode. Choose the Parallel view and note how things change.If things look like they're being cut into like a cross-section, this is because the model is going past the location of the camera and thus out of range. To fix this, go to the editor camera and move it away from the scene using the Z-axis arrow. Notice that the view cone for a camera in parallel mode is in fact a box, because it does not distort with distance.

Now, let's talk about camera placement. Three-dimensional games are difficult to map because they are just that: they have three dimensions, and images have only two. Unless the game has a fixed viewing position like Paper Mario, it will be impossible to show every bit of detail in every room like you could with 2D games. Details will be have to be sacrificed, and it's your job as the mapper to decide which details will be cut. If you tried to show every corner of every room in a dungeon, the map would be large and confusing and nearly unusable, not to mention a big waste of space. Again, what you choose will depend heavily on the game and the complexity of the environment. If the game has a set view like Paper Mario, try to choose a view that is very similar to the average viewing angle in the room. This will sometimes involve placing the camera between two angles in order to show the greatest amount of detail in both sides of the room. If the room has an angle that changes drastically (such as 180 or even 360) then you might have to set up a second camera on the opposite side of the room as well. For games without this kind of camera direction, you'll have to be a little more creative. One view that is typically a good idea is the Top view, laying out the room like in a floorplan. The disadvantages to this are that you cannot see details obscured by objects directly below it and that you cannot see any of the (vertical) walls, which are implied by the abrubt edges of the floor. Another view suggestion is the "video game isometric" view, seen in games like Super Mario RPG. (This is not true isometric, which is rather difficult to pull off in pixels without getting very messy. I will simply be referring to the video game kind as isometric from now on.) This is done by setting the camera's pitch (P) rotation angle to -30 and the heading (H) to +/- 45 or 135. You can use -20 for the pitch if you want to give a little more attention to the wall. Regardless of which view you choose for the main layout, you will probably want to suppliment it with additional viewpoints. These other views can be at any angle you want, because their purpose is to show details that are hidden or obscured otherwise in the main view. The view doesn't even have to be parallel, it can be in perspective if it benefits the view. The extra views in Paper Mario were done out of necessity, but you can add in views just to show off the scenery, if you so desire. Ocarina of Time and Majora's Mask are both beautiful games, so you can bet I'll be adding in some renders of the scenery to help enhance the map.

For the purpose of this lesson, we'll pretend we have chosen an isometric view. You set up the camera and position it, but there's a problem. The walls (and ceiling) are in the way! The inside of the room is barely visible, if at all. Since Cinema 4D doesn't have a Backface Culling option for rendering, you'll have to find a way around it. Sometimes, you can just hide the models in the way, but this only works when you only have one view and the object doesn't wrap around to reveal the front side. To hide an object, double-click the two little dots next to the model's tags in the object list. The top dot controls visibility in the editor, and the bottom dot controls visibility in renders. Change both dots to red to put it completely out of sight. When hiding isn't an option, you'll have to resort to transparent materials. Create a new material with only the transparency channel (just like in the texture lesson) and apply it to any object that is obscuring your view with its backside. The Transparency will override the color of the materials below it, making the object invisible. This is the key difference between alpha and transparency. Since you don't want the entire object to be invisible, select the invisible material tag for each of the objects you applied it to and set the Side from Both to Back. Now the object will only be see-through when viewed from behind and solid in front. This will really come in handy for cylindrical rooms. And don't worry, it will show the entire object as transparent in the editor, but it renders fine. This is just a limitation on the editor's part.

With this taken care of, you're just about ready to push the button and export a final render. But, that's for next lesson. Until then, keep practicing with the program's controls and experiment with the new tricks you've learned. Also, set up any cameras you want to use in tomorrow's lesson on rendering.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 16, 2010, 07:27:42 PM
9. Rendering To File
This is probably the lesson you've been waiting for. After today, you'll be ready to begin rendering and putting together your maps... almost. There are still more advanced things to teach you to make your map as accurate as possible, but some maps are simple enough that they are ready to go right now. To start with, let's talk about the process of rendering to file. Take a look at the main viewing area. You'll notice that there are vertical bars on the sides. These lines frame your shot. Now press Shift+R. A separate window pops up and a render of the view is created. This is the window from which you can export renders to file. Notice that it doesn't render anything that falls outside the vertical bars. Notice also that the render is quite small and a little rough. These are the default render settings, which you will have to change for every new scene.

To change the render settings, use ctrl+B to bring up the Render Settings window. There are a good number of categories on the side, but you'll only be dealing with the top three. In the General category, go to the Antialiasing field, where it says Geometry. What this means is that the edges of models are antialiased, but the textures are left pixelly. This is most apparent when the textured object is very small. Click it (or scroll down on your mouse wheel while over the field) and change it to Best. Now the textures will be antialiased as well, giving you the best quality. Now switch to the Output category. This is where you control the dimensions of the final render. Put in the dimensions you want the render to be and ignore the rest of the fields. You'll notice that the letterboxing will automatically adjust as you enter the numbers. In Cinema 4D, the view is controlled primarily by the horizontal size and the vertical space is cropped based on the height. Because of this, you'll need to frame the scene horizontally first before messing around with the output size. You can pick the W/H sizes in any order, but it's generally easiest to start with Width. After you've chosen the size, switch to the Save category. This is where you'll control the output filetype and its settings. The default is TIFF, and unfortunately there doesn't seem to be any way to change it. Because you can't do much with TIFFs, click it and change it to QuickTime PNG. (Scrolling is not quicker for this.) Most of the time, you'll want the render to have an alpha channel, so check both the Alpha Channel and Straight Alpha boxes. While the first option alone will give you alpha channels, the second option makes C4D recalculate the colors affected by transparency so that edges aren't darkened. If you want to see the difference it makes, make to renders to compare them. I guarantee you'll prefer the straight alpha version. Those are the only settings you need to deal with. You can change these settings in any order, but just be sure that you change them all.

Picking dimensions isn't all that easy. Because the games are 3D, the rooms are going to be much larger than in 2D games, especially in action platformers. Depending on the game, there could be a lot of small yet important details in addition to huge sprawling rooms. Even if you pick a scale at which the main character would be 16x16 pixels, you could still end up with renders that are over 1000 pixels in both dimensions. This brings up another issue. Cinema 4D has no magical way to render multiple scenes with the same scale. Because of this, you have no way to ensure that two different rooms are rendered to the same scale. This is where the Reference Sphere comes in. The Reference Sphere is a method I came up with to keep all your rooms to the same scale when editing together your map. The concept is simple. A perfect sphere, when viewed from any angle, will always be circle. You can make a Sphere object from the primitive object list (hold down on cube icon). Position it somewhere away from the models so that you can easily remove it later. Since it is very hard to work with spheres that are all white, I recommend coloring them. Don't use textures, as they can obscure the edges of the sphere. You can give textureless objects a matte color by selecting the object and looking at its Basic attributes tab. Change the Use Color option from Off to Always and choose a color. Bright, vivid colors work the best. The more similar the colors are, the harder it is to distinguish them when they're overlapping. I typically just cycle with bright red and cycle through the spectrum. The default radius of 100m is a bit large, I suggest changing it to 50m. Make sure that the spheres have the exact same size in every scene. When you put together your separate renders while making the map, you can then identify the smallest sphere and shrink the other renders so that their spheres match. This way you can not only keep scale consistant from room to room, but from map to map, if you so desire. As you work with your renders, you'll find that the scale you want will always yield the same sized reference sphere. As you pick render dimensions, try to make one room get as close to the scale you want as possible, readjusting the width of the image multiple times until you get it right. After that, you can make the rest of the rooms have spheres that show up 10-20 pixels larger. Remember, it is always better to have the render be a little too big than a little too small. If you have multiple cameras and want to use different dimensions for each of them, I recommend renaming the cameras to include the desired sizes. If you're not concerned with scale for these alternate viewpoints, you don't need to include a sphere in the view. Keep in mind that perspective views will start to distort with narrow ratios, so you might want to use a standard 4:3 ratio for those.

As I said before, you use Shift+R to render the current view to the Pictures window, from which you can save it to a file. The menus at the top also let you disable/enable the RGB channels and view the alpha. The Save Picture As... option is located under the File menu. It is important to keep your renders organized just like your rips. I suggest a folder for each separate map you plan to make, containing all the renders for that map. As an example, here is how I have my Paper Mario folder structured: Paper Mario (exported/compressed maps go here) -> Raw Files -> Area Name Folder (renders and raw map file). Obviously, every person does things differently, so choose a method that works best for you.

That's it for this lesson. I apologize if it seems a bit jumbled, I can't seem to keep focused tonight. From this point on, the lessons will be about more advanced techniques, like how to deal with gradients and shadows. These lessons don't really have any particular order, so it would benefit you the most to request issues you want handled first. I'd also like to see some of the renders you all have produced after this lesson. I'm can still answer questions and provide feedback on your WIP renders. If you're having an issue with the scene that you want help on, please include a screenshot of how the game renders it so I know exactly what you want. I'm looking forward to seeing your progress!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 18, 2010, 10:59:23 AM
OK I'm still having the same problem Piranhaplant was having.  The WRL dumps but nothing dumps with it.  And I don't know if this has anything to do with that but CD4 still won't accept my WRLs.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Piranhaplant on January 18, 2010, 11:00:23 AM
Here is a map I ripped from Super Mario 64.  I was pretty much guessing when it comes to scale, angle, background, etc. so suggestions would be appreciated.

View Image (

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 18, 2010, 05:42:40 PM
No, it's perfect.  Why can't I do that, this is so embarrassing.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 18, 2010, 08:21:49 PM
@Piranhaplant: That's a nice rip, but there's one major problem. Super Mario 64 falls into the "unmappable" category. Try pasting two VRML rips taken with the camera facing opposite directions and you'll find that they don't match up at all. If the models aren't aligned so that the Y axis is exactly up, then chances are you can't map it. Even so, games like this are good to practice on. The list in the first post shows which games are possible to map and which aren't, in case you want to tackle one of those. The list is missing a lot, so if you think of a game you want to try, go for it and let me know how it goes. The more games on the list, the better.

@Trop: Send me an email with all the specs of your emulator. I'm assuming you already put in the plugins I sent you. (You need both parts.)

Since there were no suggestions, I'll go ahead with a small lesson.

10. Shadows and Overlapping Planes
In many games, if not most of them, shadows are handled with flat objects that follow along under the characters. When you try to render them in scenes, however, they either don't show up or look chopped to pieces. This is because the N64 puts them in the same exact location as the ground and renders the shadow on top. This can occur with other flat objects, such as when they create texture gradients. (I'll explain this in another lesson.) The fix for this is really easy. Simply select the shadow object(s) and go to the Coordinates panel and add 0.001 to the Y position. This will put it high enough for C4D to distinguish which is on top while still making it look as though it is perfectly flat on the ground. Calculation is really easy, though negative Y positions can sometimes throw you off. A position of -30 will become -29.999 and a position of -56.348 will become -56.347. If the shadow still doesn't show up, you either moved it in the wrong direction or it wasn't exactly in the ground (happens with slopes). Just move it as little as possible until it becomes visible. This can also affect vertical objects, as well. Tubba Blubba's Castle had cracks and windows decorating the wall. In order to get things like these to show up, move them along the X and/or Y axis instead. Very rarely, an object will use this kind of thing but on 3 or more sides, and you'll have to adjust the position between different cameraviews. Keep in mind that vertical objects like this won't show up at all in top views, so don't bother with them unless you want to render another view.

That's all for now. Again, I'm open to requests for the content of the next lesson.

Title: Re: Nintendo 64 Mapping Workshop
Post by: JonLeung on January 19, 2010, 07:24:02 PM
I could use that image of Super Mario 64's Peach's Castle grounds if I could get around to making a front page feature image...or something else recognizeable and iconic of the N64 era...

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 19, 2010, 09:36:20 PM
That would make a good one, yes. The ironic part being that Super Mario 64 is one of the Nintendo 64 games we can't map in this fashion. :P

No lesson for today. Unless one of you requests a specific lesson (like gradients or UV damage) then I'll just pick them in whatever order I feel like.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 20, 2010, 06:21:38 PM
Well I'm slowly learning.  Some games do a lot better then others, Jet Force Gemini is just crap.  As for some stupid questions; Can you move PJ64 saves or savestates into 1964 and why does 1964 continusly complain about the lack of a controller pack?  This might have something to do with my computers lack of ability to read .chm help files.  I don't know why that is.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 20, 2010, 09:33:14 PM
So, Jet Force Gemini is unmappable? I'll mark it on the list. Yes, there is a way to move from PJ64 back to 1964. Read the last part of Lesson 3 closely. As for the Controller Pack, I'm guessing it's tied to a setting or something, I don't know. It doesn't matter much, though, because you have Save States.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 21, 2010, 11:46:27 PM
Trop clarified with me over email that it is mappable, there are just some issues with objects or something. Anyway, another small lesson for today.

11. Cheat Codes
This isn't much of a lesson as more of a tip. If you're mapping a game like an RPG and you want to make progress faster or want to reach areas of the level ahead of time, cheat codes will come in handy. (For Paper Mario, I regularly had to use cheats to get past blocks and partner-specific obstacles ahead of time.) Both emulators have cheat code menus, with lists that may or may not differ between the two. In 1964, you can bring up the cheat menu with ctrl+C. Selected cheat codes are highlighted in red and denoted with an asterisk (*). The check box at the top controls whether the cheats are on or off. This way you can choose a set of codes you like but only activate them when you want to. Be sure to read any notes that come with the cheats, as you can't just turn them all on for some games. Another important thing to keep in mind is that the cheats checkbox will stay activated if you close the emulator, so if you don't want the codes activated when you start the game up, turn off the cheats before closing the emulator.

Another thing I should mention is that it sometimes pays to have different versions of the game. Cheat codes depend on the region version, and some codes that you really want might only be available on the Japanese version, for example. I haven't tested for duplicating save files between versions, but I imagine it's possible. So, before you toss away the additional versions of the game you stumbled across, check the cheat lists to see if there is something of value. And remember to test these things before you come to rely on them. The PAL version of Star Fox 64 ("Lylat Wars") apparently had a "have all medals" cheat. When I tried it, I only got four random medals. So remember, test everything, because it's not always 100% reliable.

I'd like to remind you all that the game list in the first post is far from comprehensive, so I encourage you go out and test new games and experiment with the games on the list that need more research, such as the Castlevania games.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 09:33:52 AM
Game Test Report-

A Bug's Life: Works but very little area is acquired per rip.
Doom 64: Just like Bug's Life, works fine but you only really get the room your in per rip.
Duke Nukem Zero Hour: ?!? All the bitmaps rip perfectly but the only random models show up in C4D like Duke or objects from the room floating alone.
Gex 64: Kind of odd, rips OK but a some things to be missing and the whole scene leans at funny angles.
John Romero's Diakatana: Just like Duke Nukem ZH, only funny objects show up in C4D.
Shadow Man: Again like Bug's Life, rips look good but you don't get a lot per rip.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 11:02:16 AM
Game Test Report-
I'm having too much fun here.

Chameleon Twist: Works great, not a lot or area per rip but a decent amount
Chameleon Twist 2: Can't seem to open it in 1964
Duke Nukem 64: Much better then the other shooters so far, lots of area per rip, but C4D opens it on it's side
Earthworm Jim 3D: Almost looks better in 1964 then it does in PJ64! Rips kind of odd, there's a lot there but it's broken up and partly in black and white.
Gex 3: Rips, well, good and bad.  Almost looks as good as it does in the game right off the bat, but like the other Gex you only get what you were looking at and it comes in tilted and upside down.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 23, 2010, 02:15:01 PM
Thank you for all your help. As I've said in the earlier lessons, tilted maps are a telltale sign that the game will be unmappable. The upside-down models you describe in Gex 3 is the exact same thing Mega Man 64 suffers from, since both games are PlayStation ports.

The problem you mention in Duke Nukem Zero Hour sounds like the problem I encountered trying to rip from the Mario Party games. Try ending the ripping process without letting the dump finish (by not pausing before unchecking the box). It might get you the level models that way, but might also not show the characters. The game might just be unmappable because of this as it is.

I'll have another lesson prepared after the weekend, as I'm a little busy right now. Unlike the previous ones, this will tackle a rather important issue that would otherwise damage your mapping effort.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 02:30:33 PM
Great, and yeah I just tried Mega Man 64, you get a LOT in the rip but the textures are screwy.
Huh. Alright I'll try Duke Nukem ZH and Diakatana again.

Game Test Report-

Armorines: Wow! It's almost perfect! Tons of models and everything's there like it's straight out of the game.  Too bad this game sucks.
Fushigi No Dungeon 2: Only rips a very small, just what's on screen. Other then that it's OK.
Hexen: Messed up. At first it looks alright, then you realize a bunch of models are missing and half of the textures are wrong.
Lode Runner 3D: Like with Chameleon Twist 2, 1964 hits the wall.
Nightmare Creatures: 1964 just kind of sits there and does nothing.
Turok: Works OK.  Interestingly enough while the rip only gets a medium amount of horizontal data it gets tons of vertical.
Turok 2: Like with Armorines you get a large object heavy area. Unlike with Armorines it's full of texture errors.
Turok 3: ... The rip pulled so much stuff it almost crashed C4D.  This one might be better then Armorines,
Turok Rage Wars: Ripped the whole damn level just like that.  Everything looks just great.  Go Acclaim.
Tonic Trouble: Awesome! You get a somewhat large rip and the textures go just where the should.  This to spite 1964 not liking it.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 02:39:39 PM
Diakatana behaving a little better now.  Still the bugs are hard to describe.  I recognize part of the level but it's way off to one side.  Other things are just floating out in space.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 03:53:00 PM
Game Test Report-

Quake: Nothing loads in C4D. No models no textures, nothing.
Quake 2: I'm going to start calling this the "shooter glitch".  Again only odd models load in funny places.
Puyo Puyo 4: C4D hits the wall. Not surprised since PJ64 can't handle this game either.
Puyo Puyo Sun: Now as far as I can tell there are no 3D models in this game.  Therefore it is not surprising that the VRML rips at 1 kb with no bitmaps and nothing but nothing in C4D.
Rayman 2: Damn!  Nothing happens.  1964 just sits there.  Would've been great too.
Army Men Sarges Heroes: You get a lot per rip, including a hilarious looking football stadium like dome that makes up the sky.  Could be better.
Army Men Sarges Heroes 2: A big improvement over the first one.  You get a large of the level and all the textures are in place.
Army Men Air Combat: 1964 has it's own problems here.  C4D tries to fix them but there are countless bugs.  Models are missing, textures are screwy, and while you get a lot in a rip the whole thing is tiny.
Transformers Beast Wars Transmetals: Not much to rip here in the first place, just character models.  They rip great and are textured nicely.  Maybe they could be better, I dunno.
Bomberman 64 Arcade Edition: 1964 totally chokes on this game.  And while there is a mysterious 34kb to the ripped vrml it's blank in C4D.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 05:20:08 PM
Game Test Report-

Aero Fighters Assault: 1964 hits the wall.  And almost gets over it but not quite.
Batman Beyond: It appears to rip great. You don't get much though and there may be texture errors but it's hard to tell.
Battle Tanx: Like the other 3DO games you get good sized rips with accurate textures.  1964 seems to have some problems with it though.
Battle Tanx Global Assault: Just like it's prior. It's worth noting here that 3DO does not quite have quality of Acclaim. This will be more like assembling screenshot maps where you have to go back and patch holes.
Bio F.R.E.A.K.S.: 1964 has visibility problems with this one.  Looks fine in C4D but the rooms have the Gex tilting problem.
Buck Bumble: I can't get this game to work in 1964 or PJ64.
Chopper Attack: Watch out it's SETA. What the *&%! is going on here? You get a decent amount of area around you ripped and tiled just fine, but then it goes and selectively rips random off screen objects.
Flying Dragon: Watch out it's Culture Brain. Nope, 1964 can't handle it.
Harvest Moon: Watch out it's, oh wait Natsume's not so bad. 1964 has tile problems with this game... And C4D will not load it, maybe I was wrong.
Geomon's Great Adventure: Yet another one 1964 hits the wall on.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 06:40:53 PM
Game Test Report-

Asteroids Hyper 64: OK this is just 3D asteroids so there's not a lot to rip.  What is there rips perfectly and looks hilarious in C4D.  Here's your training wheels game if you need one.
Bust A Move 2: Another exclusively 2D game. There's nothing to rip.
Bust A Move 99: Same.
Charlie's Blast Territory: This is a puzzle game so each area to rip is just small and checkerboard like.  That said the rips are flawless.  Everything's there, everything's where it should be.  Hell, just load the vrml, move the light, hit Ctrl R and your done.
Dezamon 3D: 1964 can't get it of the ground.  It's a sim game though so nothing to really rip.
Dr. Mario 64: Another 2D so nothing here. 1964 actually handles this a little better then PJ64.
Dual Heroes: A fighting game and the character models and tiles rip and place just fine. Backgrounds don't fare so well.
Forsaken 64: Well Acclaim disappoints for once.  Everything works but the area you get is small. Really small.  Just what's in front of your face. Mapping this game would take time.
Hybrid Heaven: Fantastic rips. Huge and accurate.
Re-Volt: 1964 are hit wall.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 23, 2010, 07:04:33 PM
Wow, I didn't know most of these games existed! :P Great work, Tropicon.

I'm very grateful to you for testing all these games out, but you know you can skip over games that don't really have any content to map. :P

I've added all the games to the list. Remember, if anyone wants to claim a game to map, say so and I'll mark it on the list. Note that I'm leaving mappable games on the list even after they've been completed so that people don't think they've been overlooked.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 07:43:29 PM
Oh, heh, it's nothing.  I was just going through the games I have, it was fun exploring them this way.  There's not to many more so I'll just stop when I run out.

Game Test Report-

Getter Love: Is this a dating sim for girls? 2D as far as I can get with all the Japanese. Nothing to rip.
Glover: Just like with quake.  Appears to rip fine then in C4D... nothing.
Killer Instinct Gold: The characters are sprites and don't rip.  Other then that the stages rip perfectly. Oh but they're tilted like Gex.
Knife Edge: 1964 hits the wall.
Kuiki Uhabi Suigou: And again.
Mace the Dark Age: The characters rip fine.  The backgrounds though are discolored and black and white.  There seems to be a trend in fighting games here.
Mystical Ninja: Every things great.  Some models appear to have panels missing but I think that's because they weren't meant to be seen from that angel so panels were never there to begin with.
Rat Attack: 1964 has some problems with this one.  And C4D pulls up more or less nothing.  Dud.
Wetrix: Complete garbage in 1964, can't tell what's going on.
Xena: Everything rips great.  This game is ready to go.

Oh and I meant to add; I haven't looked over them in any great detail but I found these links in my initial search for Lemmy's plugin.  They deal with N64 and 3D stuff so maybe somewhere they have your JPEG screenshot tool?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 23, 2010, 08:45:58 PM
None of them made any mention. The problem is that this tool is over 10 years old. I've found posts referencing it from 1999 but not a single download link. The only thing I've managed to figure out is that the program was called something like JPG Extractor, to go along with Zelda Extractor. Searching for this exact name brings me no leads, however. Maybe I could just email _demo_ himself, or something...

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 23, 2010, 09:15:35 PM
If only the N64 emu scene wasn't so dead.  I doubt it's getting back up either.  These days on Zophar's it's nothing but emu's for cell phones, whoop-te-do.  You should try getting a hold of _demo_.  At this point he may be the only one left who knows.

Game Test Report-
This is the rest of em.  Well I actually have more but they're just Jap versions so they're probably the same.

Neon Genesis Evangelion: Does not work in 1964. Barely works in PJ64 anyway.
The New Tetris: The 3D parts work there almost no 3D parts.  Come on it's Tetris, what'd you expect?
Onegai Monsters: I think this game is similar to monster rancher but I really don't know. Rips net you a moderate amount of models and the tiles... are doing that some-color some-black and white thing again.  And it's tilted
Perfect Dark: Works great.  Everything in it's place as far as I can tell.
Rakuga Kids: If Paper Mario was a fighting game.  And everything rips great even though it's flat, I'm shocked.  There might be some visibility issues but I don't have the expertise to tell.
Rampage: Flat game, nothing rips.
Rampage 2: And again.
Resident Evil 2: 1964 crashed and froze.  PJ64 wont' do this one either.
Robotron 64: While some things work this game largely suffers from shooter glitch.
Rocket: Here's one that works in 1964 but not in PJ64.  Big rips!  You get a lot.  But with the black, white, and other tile errors I think this game has what Peardian calls UV damage.
War Gods: Fighting game so you get the whole battlefield in one rip. Good tiling. Something may be missing, not sure.
Wonder Project J2: Flat game, no rip for you.
Worms: Nope, 1964 cannot do it.
Zool: Some kind of story book RPG? 1964 actually handles this better then PJ64 and what 3D scenes I could find ripped just beautifully.  Everything where it should be.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 23, 2010, 09:43:34 PM
I haven't had any luck whatsoever finding a way to contact _demo_ himself. :-\

Thank you for testing these games. I've added them to the list, which has grown considerably thanks to you. It's a shame that so many games aren't mappable, but there's nothing we can do about that.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 24, 2010, 11:42:24 AM
I guess that doesn't surprise me either.  If they'd stopped working on their emu's for so long they've probably moved on with their lives entirely.  Have you asked for help at  I'll post a thread about this for you at Fantasy Anime, maybe someone there knows.

No problem, but I'm sure there's some game I missed.  As for the unmappable ones my Cheat Engine camera trick still works.  And that reminds me, I might be able to combine my technique with yours.  In games that only rip what the camera is looking at would you get more per rip if Cheat Engine was holding the camera at a great distance?  Or would C4D throw that out?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Revned on January 24, 2010, 04:28:03 PM
6MB PNG files like the new Mario Kart 64 map are bad. In this case PNG is only marginally better than a raw format. You should really be using JPG for these kinds of maps.

Title: Re: Nintendo 64 Mapping Workshop
Post by: DarkWolf on January 24, 2010, 05:13:40 PM
Just FYI Hexen mostly uses sprites for enemies and objects, so you that might explain the lack of stuff in your rips.   Also, as far as Puyo Puyo Sun goes, neither the Saturn nor Arcade versions have any 3d in them, so I doubt the N64 version would either.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 24, 2010, 07:59:38 PM
Here's what my Hexen rips looked like.
I've played all the way through Puyo Puyo Sun 64 and I can't think of any 3D objects either.  But maybe I'll use PJ64's tile ripper to rip some sprites.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 24, 2010, 08:01:11 PM
@Tropicon: The output scene has whatever the N64 has. The real question is whether or not the camera trick will actually cause it to load more of the content without causing some to disappear because of zoom.

@Revned: I wasn't paying much attention to the filesizes, but yeah, it seems a bit much for the first/simplest map. I can get it down to 1.8 MB with a good-quality jpeg, and the only place you can notice the loss is in the course preview icon/minimap. I'll ask Jon what he thinks.

Title: Re: Nintendo 64 Mapping Workshop
Post by: JonLeung on January 26, 2010, 07:38:55 AM
As we all know, I've been a big advocate of PNGs and have detested JPEGs because of the latter's havoc-wreaking compression.  But that applies mostly to predominantly 2D sprite/tile-based maps, and I suppose it makes less difference when mapping 3D games where textures are already distorted due to viewing angle/perspective and scaling.

I think I would still prefer the PNG image, if it's under a certain size.  6 MB may be larger than most, but it's not huge.  Perhaps we should establish some kind of baseline, like 10.0 MB or larger, where high-quality JPEGs would be acceptable alternatives.

If you insist that I replace your map with the JPEG you already sent me, Peardian, then I will do that, the 10.0 MB thing is just what I'm currently thinking would be a nice round number to go by as an easy rule-(or-guideline-)of-thumb.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Maxim on January 26, 2010, 12:41:43 PM
It might be good to offer both PNG and JPEG. JPEG with colour subsampling off gives pretty good quality with pixel art at low compression rates.

I think the biggest problem with 3D maps is that there is no 1:1 scale, so there's no way to get the right detail/size tradeoff. Seadragon ( type zoomers are a decent tradeoff, I think (but actually use more disk space/bandwidth overall).

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on January 28, 2010, 04:54:26 PM
And that's where we have to make a choice. Keep this in mind when you're putting together your maps. The more detail you show, the bigger the image and the bigger the filesize. As for my Mario Kart 64 maps, I'm going to wait until I finish the first cup or so before deciding. Anyway, I think it's about time for the next lesson. Some of you have probably been looking forward to this.

12. UV Editing
Because Nintendo 64 emulation is far from perfect, you will often find errors in texture mapping on models, which is stored as UV Data. Sometimes, this can be resolved with a little working of the Length/Tiles attributes of the material tags themselves, but many times you will have to get down and dirty and tackle the data itself. Cinema 4D has a good set of tools for creating/modifying UV data, accessible through the BP UV Edit layout. (BP stands for BodyPaint 3D.) To change layouts, click the button below the Undo button to bring up a little list of layouts. When you select BP UV Edit, you'll see a new set of panels and toolbars designed specifically for working with UV data. The old Materials list has been changed to a vertical list and squished a bit to make room for the Objects list, which now sits beside it at the bottom. The normal Attributes panel now has tabs for UV editing tools and a color palette for painting. Since you don't want to be messing with any of the textures themselves, the only tab you'll be interested in is the one labeled UV Mapping, which is itself divided up into five tabs. The first three are geared towards creating new UV maps, while the last two are for modifying existing maps. These are the two you'll be dealing with for the most part. The big empty area on the right is the canvas, where the UV maps are displayed.

Now let's look at the new toolbar. Almost all of the tools you see are for painting on the models, with the paintbrush tool selected as the default for this layout. Below the painting tools are the different selection modes, similar to the normal toolbar. The difference here is that the Polygon and Point edit modes are specific to UV maps, meaning they will let you select faces and points of the UV mesh instead of parts of the actual model geometry. How does this work? UV data is represented as a mesh of triangles, similar to that of the model itself, but spread out in various formations. There is always one triangle for each face of the model, though many times there will be overlap. The orientation, size, and proportions of the triangle affect how the texture is spread out on the polygon and are not tied to the real shape of the corresponding model face. The larger the triangle is one direction, the more times the texture will tile. The smaller, the more the texture is stretched. Up on the texture is not necessarily up on the model, so you might have to poke around to find the point you want. If you don't quite understand how UV maps work, the best way to learn is to just go to random models and play around. (Make sure you undo the changes!) Something you'll discover is that UV data can get quite messy, especially when curves come into play. Keep in mind that UV meshes will only show up when either UV Polygon Edit or UV Point Edit are selected.

The way UV Damage comes about is from either the Nemu64 plugin messing up some of the numbers when exporting to the VRML scene, or the emulator misinterpreting the data to begin with. A common manifestation of this is the UV map for a flat object being at the wrong scale when exporting, leading to crazy closeups on things like character sprites. Usually when this is the problem, the UV map will be a perfect rectangle that just isn't the right size. I had to deal with this throughout all of Paper Mario, and didn't figure out the solution until Chapter 2. With the model selected, go to the UV Commands tab under UV Mapping. Look for the button that says Fit UV To Canvas and press it. This will automatically rescale and reposition the current UV map to the exact size of the texture, which is often what you want. If any triangles are selected, the change will be limited to the selection.

Note that this solution will not work for every scaling issue. Sometimes, the desired size is larger than the texture, like when you have a texture that shows half of a symmetrical object. If this is the case, you will have to Transform it some. The controls for this are located under the tab of the same name. You are given five fields and an Apply button. The first two fields control changes in position for X and Y, with a value of 1 being 100% of the texture space, 0 for no change, and decimals for everything in between. The next two fields control changes to scale, using a similar range with 1 being 100% of the original size (no change). Negative numbers and numbers over 1 are perfectly fine, but make sure you know what you are doing before you start putting in values. The last field controls Rotation, which should be fairly obvious. Pressing the Apply button will make the change happen, but it will not reset the values. If you double the width of a triangle and then want to move it, be sure to change the Scale back to 1, or else your triangle will double in size again when it moves. This takes some getting used to, so you'll probably be using ctrl+z a few times.

Using the example I mentioned above, let's fix a UV map so that it goes from displaying half a tree to showing the whole tree like it should. After using Fit UV to Canvas, you'll end up with a perfect square made of two triangles. Go to the Transform tab and set the X Scale to 2.Upon hitting Apply, the square will stretch out to twice its original size, just like you want it. However, it will still be positioned in the center of the canvas, putting one half of the tree in the center and cutting up the other half on the sides. You want the triangles to align with the left edge of the texture area. To do this, set the X Scale back to 1 and the X Move to 0.5, which will slide the mesh over half the size of the texture, right where you want it. Again, this will not work for all problems. If you'd rather eyeball it instead of using math, there are the Scale and Non-Uniform Scale tools located at the bottom of the toolbar. To use them, hold your cursor near the point you want to base the transformation on and drag. If Polygon Edit mode is selected, the little orange cross in the middle of each triangle can also be used as the anchor.

If the problem involves one or more faces being messed up on an otherwise good model, you have no choice but to go in and grapple with the points. This kind of UV damage is caused by one or more of the points of the face's UV triangle being placed in the wrong spot. To fix this, you first have to identify which triangle is the problem. Selecting the face on the model itself is the easiest way. After that, it's just a matter of finding the misplaced point and putting it where it should go. Sometimes you can use the position of other triangles to figure out where it goes, other times you will just have to guess. If you want points to snap to each other, you can enable the option in the Attributes tab with the Move Tool selected. That's all I can really say about this, since it will be different for every model in every game. Just use your eyes and make it look right. It doesn't have to be 100% perfectly accurate, because the rip isn't perfect to begin with. The main thing is to get it to look right within the context of the map.

And so ends this lesson. Hopefully, this will help you all to solve any of your UV problems.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 29, 2010, 03:54:44 PM
My camera trick works!  If a game gives off only a little area per rip you can use a camera control code to get more.  Here, in A Bug's Life, my initial rip was small and full of holes.  But my second rip, with the camera held far away, picked up the whole damn level!  I circled the original area in white.  Of course the detail is gone but if you wanted something to draw over or a reference for scale and accuracy a this trick really works.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 01, 2010, 09:14:08 PM
I see, looks like the game makes use of low-poly models for far away views. Yes, as you've said, it's good for references and such but lacks detail. Now, onto lesson that requires more effort and brainwork.

13. Advanced Texture Techniques
Even with all the effort you've put into fixing up the scenery, there's still a chance that it still doesn't look quite like it should. That's because some of the effects the Nintendo 64 utilizes require advanced tricks to pull off in Cinema 4D. This section isn't easy, so read over it several times if you have to and practice at it. The tricks covered in this lesson are compound textures and gradients.

Some of you might have noticed that the amount of textures given to you with the rip is greater than the amount of textures used in the scene. This is because the N64 can assign two different textures to the same object, having the images mix on top of each other like when you set the color to Multiply. In order to figure out which materials are meant to have two textures, take a look at the Objects list. See how each model is named something like "Nemu_85D42EA_0_35"? There is actually a reasoning behind these names. Obviously, they start with the name of the plugin. The next set of numbers and letters you see is actually the name of the texture assigned to it, as you can see by quickly comparing the filenames. For objects that don't have textures assigned to them, this spot simply has a 0. Normally, the next spot you see is also a 0. This is actually the name of the second texture, but it is usually left empty. Any object that uses two textures will have two full texture names. Because of this, you can do a quick check for compound textures by seeing if the Object name column is wider than normal. The last number is simply the model number from the scene, starting at the top with 1.

So how do you go about doing this? You'd think you could slap on a second material and choose a setting, but it's not that simple. First, choose the object's material and click the dropdown arrow to the left of the filename. As you've probably already discovered, this will bring up a whole assortment of commands and built-in textures. What you want is the shader named Fusion, located between Filter and Layer. This effect lets you combine two textures in a variety of ways, including an option to use a mask. When you select it, the texture will go black, but don't worry. Click the black box to go to the Fusion's settings. You'll see a new set of options, including three texture fields. The Base Texture field has already been filled with the original texture you created the Fusion over. To add the second texture, just drag one in from the folder or use the file selector. The default mix mode is Normal, so the new bitmap will simply sit on top of the old one. Fix this by changing it to Multiply. (Don't forget to turn off the MIP filter for the new texture if that's what you want.) Now, you have the two textures mixed. For some textures, like the lava in Paper Mario, this is exactly what you need. But if the textures were to be combined in a 1:1 scale like this, why not make them combined in the first place? The truth is that most combined textures will in fact not be at the same scale. (For an example, see the painted walls in Clock Town.) Since you can't choose a scale or anything from the Fusion, what can you do? This is where you take advantage of another shader, the Projector. Open the dropdown for the Blend Channel and select it from the Effects category. This lets you control the mapping of the texture independently of the materal tag used. Click the seemingly-unaffected texture to be taken to the Projector's settings. The options you're given are very similar to that of a normal material tag, even down to controls for seamless tiling. Since we want the texture to follow the UV map of the model, change the projection from Sphere to UVW Mapping. The next step is to change the Length/Tiling fields. But to what size? This depends on the situation. Look at the game to see if you can figure out what the proper ratio is. Often, it will be something simple like 2:1 in one or both dimensions. If you're having trouble figuring out the exact size you need, do a texture rip in PJ64. This is in fact the only thing Texture-named files are good for, as they will show any results of texture fusion to the proper scale. (This is how I discovered it, when ripping the whale's blush for Lava Lava Island.) Comparing the size of the rip to the original size of the texture can help you figure out the proper ratio. If you want to see some examples of my work using double-textures, look at... pretty much all of Lava Lava Island. That place is filled with it.

The next trick is Gradients. Color gradients are used throughout all N64 games due to vertex shading. With a lot of effort, you could recreate all of the shading in a scene exactly. However, as you'll see, this would require an equally large amount of material duplicates. For starters, let's handle textureless objects that make use of gradients. Gradients on the N64 can not only be in the Color channel, but in the Alpha channel as well, as you see with things like shiny glass or rays of light. For the sake of simplicity, we're going to assume our test subject is a spherical object that the game shows as dark blue on the bottom and fading up to a lighter blue. Start off by going to the object's material and selecting the color channel. Open the dropdown list and choose Gradient, which sits near the middle just above Noise. You're given the default black-to-white, left-to-right gradient. Click it to bring up the options.

At the top of the gradient options is the gradient bar itself, which is where you can define and move around the colors from which the gradient is created. Unlike some other graphics programs you may have used, this gradient bar is fine with only having one defining color and gives you little diamond points between colors to control influence in either direction. Please leave this alone unless you are trying to create complex gradients. Below the bar is the Type of gradient, with the default being a simple horizontal sweep called 2D - U. (Vertical is called 2D - V.) These types are good in themselves, but they only apply to the space of the texture, meaning they are controlled by things like UV maps. Since the model you're working with doesn't have one, (or if you want to override it), you'll be choosing the type called 3D - Linear. (See bottom for a separate method to use on these types.) This creates a gradient from a pair of points in space, allowing you to define it across a specific area of the model or the model as a whole. The only limitation is that it is only a line, and thus you need multiple gradients if you want to shade something in a more complex way. Before you get to setting the point, check the Space field at the bottom of the options. This controls the reference on which the endpoints are based. The default is Object, which means the points are based on the center of the object using the texture. This is pretty useful when you want to apply the same gradient to multiple objects, but can get frustrating when you want to create the same gradient across walls and such made of multiple objects. For this, you'll want to select World, which bases the points on the absolute center of the scene. I personally use the World space the most, but it's up to you. Once you've decided the space to use, it's just a matter of finding the endpoints. You can switch to Point mode and use the Selection tool to find the coordinates of specific points to base the gradient on. If you want to apply the gradient across an entire object's height/width, you can just use the size of the object to help speed things up. If you plan on using the World space, you will have to find the coordinates of points every time you create a new gradient. For our sample object, let's say it is 120m tall, a decent size for a character or collectible. Start by picking the proper colors for the gradient, pulling colors from emulator screenshots to get the best result. Next, we'll say that we want to use World space. To pick the coordinates, start by changing the X start/end points back to 0, since the default is +/-100. (You can't imagine how many times you will forget to change them and be lost as to why your gradient is acting weird.) With the object selected, choose Point mode and pick a coordinate you want to use. Since the gradient is going from top to bottom, you can pick either the highest point or the lowest point. From the coordinates you are given for the point, take the Y value and enter it into the Start Y field (middle column). We'll say it's located at a nice value of 25. If you already know the size of the object, you can already figure out that the End Y value will be 145 (25 + 120). And just like that, you've created a gradient across the object. (If we were using Object space, the values would simply be -60 and 60.) It's up to you to figure out how to wrangle the gradients to fit your needs. Remember, you can set gradients for the Alpha channel in this same way.

Now, what happens if you combine these two tricks? Yes, you get a Fusion with a Gradient as the Blend Channel, which is exactly what you'll need for vertex shading more often than not. The only difference here is that you're a bit on your own when it comes to choosing the proper colors. Materials always come with some kind of color assigned to them, which is guaranteed to be used by at least one vertex on the model, often at one of the end points. For the other color, you'll pretty much have to guess and use trial-and-error, unless you're lucky enough to be working with a color that features pure white as one of its colors, from which you can draw a close approximate of the other end color. Something you can do for these kinds of gradients that you can't do otherwise is make use of 2D - U/V. This is used when the particular gradient you're seeking only applies itself in the context of the image and in a uniform matter. If you want the gradient to repeat itself over and over after the endpoints, select the Cycle option. Other than that, it's the same process.

There are some things that I should mention about Gradients. As I've mentioned before, the N64 achieves gradients through vertex shading. This means that changes will only occur from point to point and not anywhere in between. Because of this, you can be sure that all your gradients will start or end at the location of a point or edge (gives center between two points, when 2/3 of the vertices in a triangle have the same color). Another thing to mention is that many maps will have complex vertex shading, which usually can't be recreated with a simple line. Sometimes, you can get away with using one of the alternate gradient types like 3D - Spherical. If not, there is nothing wrong with creating multiple copies of the gradient material with different endpoints and applying them to polygon selections. If you are really keen on getting the greatest accuracy you can muster, you can very well create a separate gradient material for each individual face of an object, though this takes a considerable amount of time and effort. It all depends on how much work you're willing to put into the map.

Now, it's time to finally address those troublesome gradient texture changes that you see in places with lots of nature. These are always accomplished by having two near-identical polygons placed in the same location, each with a different material and often a different UV map. The way they accomplish this is by simply having one of them gradually change from solid to transparent through vertex shading. To imitate this, simply lift one of the identical models off the surface by 0.001m, so that one is always rendered above the other, and then apply a gradient in the Alpha channel. Remember, white is solid and black is transparent, but you can invert it. There is an alternative method to this, which is to use what could be called mask gradients. A new material is created with only the Alpha and Transparency channels, which is then put on top of the other materials to cut away the unwanted areas. This works because of the difference between the two channels. The Transparency channel controls how the material is see-through, like glass, while the Alpha channel controls the opacity of the material itself, like cutting holes. Because of this, it is possible to have transparency of an object that fades through a gradient in the alpha channel. Since this makes the material completely invisible by itself, it's a tad difficult to work with, so leave the Transparency channel disabled until you set up the gradient the way you want it. Remember that while the Transparency channel is disabled, everything that shows as solid black is what will be made transparent. This method is about the same as making an alpha gradient on the material, except that it works really well when you want to apply it to multiple objects with varying proportions. This is because of what you can do with Texture Axis mode.

To get to Texture Axis mode, click the button on the bottom of the left toolbar that looks like a checkerboard sitting on black arrows. With this mode, you can control the positioning of texture projections that aren't UVW Map. When you have an object and one of its materials selected, you are shown a yellow grid representing the space of the texture. Since the default is Sphere, you will usually see a large yellow sphere centered on the object. This sphere can be moved, scaled, and rotated just like a real object, and it will change shape depending on the Projection mode selected. This is what determines the space for 2D - U/V gradients when UV maps aren't involved. The projection you'll most likely want when working with this technique is Flat, which gives you a 2D plane to work with. Rotate it, scale it, and move it as you like, and note how it affects the gradient on the model. Ultimately, it is up to you on how you want to work your gradients, though chances are you'll be using a little of everything in order to make your maps look just right.

And that's all for advanced texture techniques. I hope I made sense, as this isn't something you can easily explain with a few words. If you want examples on how I used these in Paper Mario, combined textures started at Chapter 5 and gradients started back as far as Chapter 2, particularly in Dry Dry Ruins. The next lesson will be the last lesson I have on fixing up your maps, unless someone comes up with a topic that they want me to cover. As always, keep practicing and post any progress/improvement you've made.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 03, 2010, 10:03:06 PM
We're almost to the end of the workshop in terms of planned lessons. Keep at it!

14. Dealing with Backfaces
Since all games restrict your camera movement to some degree, game developers can get away with not modeling out every side of every object, simply because you'll never see it. The more restricted your view is, the less they have to model. This is fine inside the game, but presents a bit of a problem when it comes to viewing it freely. You will often see objects that are halfway inside walls or ceiling, and thus have no back. If you don't do something about them, they will end up looking inverted or like paper cutouts. Even if you decide that you won't deal with these issues for your maps, I highly recommend following along anyway, as these techniques can help you with other issues you might encounter.

The first method is pretty simple. Let's suppose you have a rock that is protruding from the wall, with no backside so that it looks like a hole in the wall when viewed from the other side. A good method to deal with this is to color the backsides black. To do this, simply create a new material with no channels, unless you have a solid black material already handy, and stick it onto the object. Then, click the material tag and set the Side to Back. The whole object will still show solid black in the editor, but when you render the scene it will only show up on the back. If you plan to have a black background behind the map, the black backside will mingle with it and enhance the edge of the room. It will also give more of a cross-sectiony feel to your map, where objects that extend past the walls are chopped off. Even if you decide you will be using a colored background, it will still give a feeling that there's an obstacle there.

But what if the object is missing more than one side? If, say, the column you're dealing with has only half of the model done and the top is missing, or a wall is cutting through the middle of it, it will look very thin and hollow when viewed from any angle that allows you to see over the top, even with the backsides colored black. The solution to this is to make some of the missing polygons yourself. First, you'll want to make a copy of the object. Simply Copy and Paste to create a duplicate in the same exact position. Now, with the clone selected, switch to either Point or Polygon mode. You can work in either one, though Point mode will let you see the points easier when adding to the model. To create new polygon faces on an object, you use the tool called Create Polygon, which can be found under the Structure menu. (You can also use the shortcut keys M~E.) The way tool works is that one point of a polygon is created with each click. If there is no point present where you click (don't worry, it has snap settings) it will create a new point. Once you've defined the third point in the face, you can click the last point again to solidify it. You can create a polygon with as many sides as you want, but it's best to stick with triangles. You don't need to fill in every single hole of the model, just the areas around corners that would reveal the flatness. After you create the new polygons you want, switch to Polygon mode (if you're not in it already) and highlight only the new faces you've created using the Live Selection tool. Then choose Selection -> Invert from the menu (or U~I) to switch the selection to all the faces of the original model (as there are typically a lot more of them). Delete them and return back to Model select mode. Deleting faces alone will still leave their points behind in the newly created model, but you can get rid of them with the Optimize function. The only thing left to do now is to replace the clone's material with the solid black one. Voila! You've now given the object more a convincing shape in addition to plugging up its holes. But what if the object in question is made up of multiple models? As you've probably discovered, you can't create polygons across two separate objects. Luckily, there's an easy fix for that. Select all the objects that you want to patch up and choose Function -> Connect to create a new model out of them. The original models are unharmed, so no copying and pasting is needed. The combined model will have multiple materials assigned to it, but you'll be taking them off anyway to replace with the pure black texture.

Sometimes, you will have areas where paths and objects stick out through the wall where you are not supposed to see it. If this occurs in a location that you plan on giving a black background, there's an easy way to cover this up, and that is to extend the sides of the wall outward. Start by once again selecting the wall or pieces of the wall that you want to extend and either copying or connecting them to create a duplicate. Then, switch to Edge mode. Remember, this mode lets you select the lines between points (the edges of polygons). With the Live Selection tool, highlight the edges you want to extend, which will usually be the top and possibly one of the sides. Make sure you don't get any of the lines on the inside of the model. Use ctrl+click to deselect edges if you have to. Next, choose the Extrude tool from the Structure menu, which can also be accessed with a single press of the D key. This tool extends polygons and edges in the direction they are facing, either independently or in the group they are selected in. For our purposes, you will only need to click and drag a little to the right to extend the wall outwards a bit. It might not look like it will do anything for you, but you can stretch the newly created polygon faces by dragging the edges. Without losing the selection of the edges, switch to the Move tool and move the edges away from the wall. And, just like before, delete the old polygons from the clone and paint it black. You now have something to cover up the messy outside of the room. To see examples of this in action, look at my Mt. Lavalava map. I had to cover up all the tunnel exits and the backs of the curvy walls.

Now, what happens if the designers were lazy and simply placed a full model used elsewhere into the ceiling or wall? If your camera is placed behind a wall that has, for example, a half-submerged statue, it would be misleading and a bit confusing to show the whole statue floating out just beyond the boundary of a room. You can fix this through the use of Gradients. To handle such an issue, you can create a new material with transparency and alpha channels and put a gradient in the alpha channel. Like in the previous lesson, when we colored and masked objects, you will be creating a gradient that essentially chops off everything past the wall through the use of transparency. Doing this is a matter of choosing proper coordinates for the gradient endpoints and setting the color transition as tiny as possible (put the two color pegs as close to each other as you can and make sure the endpoints are close to each other). If the wall you're working with isn't at a 90-degree angle, you can use the Extrude tool on the wall to help you pick coordinates. Since this will leave the inside of the model exposed as well, you can throw on a black texture on the backsides like with the other models. (Just make sure that the transparent material goes on top or you'll see the black insides.)

Now, suppose you've done all this and all the loose ends have been patched up, but you still have a problem. That pillar or statue or lattice of rafters is in the way of the room, making it difficult to see. You have a couple of options to deal with this if you so choose. One option is to hide the object completely. This is fine for decorative things hanging from the ceiling. But for things like pillars, this could make the map misleading and potentially leave holes in the floor. The other option you have is to make it semi-transparent. But instead of going through the trouble of making duplicate materials and messing with the transparency channel and assigning the materials, there is an easier way. Find the object(s) in the Object List and right click it to bring up a bunch of options. Under the CINEMA 4D Tags category, pick the one with the eye, labeled Display. This lets you control a handful of options that would normally be controlled by the material or the program settings as a whole. The option we're interested in is the one that says Visibility. This has the same effect as using a basic transparency channel. When you've chosen a percentage you want, give it a quick render. You'll notice that you can see the backsides inside the object. To fix this, simply put a completely transparent material on it, assigned to the backside. You can use this same technique if you want to show hidden objects. If the object you're working with is too complex and still doesn't look good with the backfaces hidden, you can simply render the objects in a separate image and deal with them when you're putting together the map.

And that's it as far as fixing up your scene is concerned. However, one thing I would like to emphasize about this is to get creative. I used black as the color for covering up things here, but you can use any color you want. Practice with these techniques and experiment. By tweaking and combining methods I've described in this workshop, you can potentially overcome problems that I haven't covered here. Cinema 4D is a powerful tool, and there is more than one way to do many things, with no real "right" way. I haven't played all the N64 games out there, so there are probably issues I've never come across. If you discover one of these problems and discover a way to overcome them that isn't covered here, share it with us.

Past this, the only lessons left are ones about prettifying your rips and requests. Again, ask any questions you have and share with us your progress.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 07, 2010, 04:31:48 PM
*sigh* humiliation.  Everything was going fine until a few days ago I decided to screw with the ucode in Lemmy's plugin.  Now I can't get Ogre Battle 64 to work at all.  Other games work fine, but no matter how I try to change or save the ucode OB64 always crashes either on start up or as soon as I try to dump any VRML.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 14, 2010, 12:36:42 PM
I sent Tropicon another copy of the plugin. Yes, please don't mess with it, as you'll probably regret it. :P

As I said before, we're approaching the end of my lessons for this workshop. But keep in mind that this is still a workshop, so it will continue to go on even when I've finished my planned lessons. Having trouble with some aspect of making your maps? Post them here and I'll help you out. The lessons from here on out are focused on improving the quality of your renders and making use of them, as I've already given you everything you need to know for making a basic map.

Expect the next lesson in a day or so. I look forward to seeing your work.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 14, 2010, 09:40:25 PM
The bugs are too intense, I'm going to have reinstall 1964.  Fortunately that's no progress lost, my saves weren't 15 minutes into OB64.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 17, 2010, 11:31:45 PM
I wish you luck with that. You could keep the safe files when reinstalling, though.

15. Artistic Renders
So, you've gone in, ripped models, and put them together as maps. But now what? The models have served their purpose, but you wish you could do more with them. Well, you can. Cinema 4D is a powerful program, and it lets you do some nifty things to your models. Even if you don't plan on making extra renders of your models, I still recommend reading this, as some of the features in here could help you with your maps. If you do plan on making extra renders, I recommend making a copy of the scene file to work with so that you don't accidentally lose camera and model data. For the sake of demonstration, I will be using this Nintendo 64 logo model I ripped from Ocarina of Time.


The first is lighting. Up until now, you've been using ambient lights for your scenes, flooding everything with a solid uniform light. This is okay for maps, but it looks rather unnatural in general unless the textures have shadows and shading on them already. To set up lighting for your scene, start by turning off the Ambient Illumination option on the scene's default light, or create a new light object if it didn't exist already. The default is an Omni Point light. It simply emits light in all directions from a single defined point. You can move it around and rotate it like a normal object. You're welcome to fool around with the options and see what they do. Now, an Omni light is useful, but it's not appropriate for every occasion. What if you want to create a shaft of light? Or what if you want to imitate sunlight? This is where changing the Type comes in handy. There are four main types, Omni, Spot, Infinite, and Area, with four additional variations of spotlights. A Spotlight does exactly what it sounds like, in that it illuminates only a specific area, designated by a cone. The spot can be widened and lengthened and rotated around. An infinite light creates parallel light rays everywhere in the scene, effectively immitating sunlight. The location of an infinite light doesn't matter since the rays come from everywhere, though it may help you to line it up right by moving it around. Finally, an area light creates more realistic illumination by having the rays come from within a defined area, such as you would encounter with light bulbs and ceiling lights. This also means it takes a bit longer to render than the rest. The spotlight variations let you choose a square spotlight shape and/or emit parallel rays (like the infinite light). For our test scene, lets set up an infinite light.

[img width= height=][/img]

Since this is a lone model and not part of a map scene, there's no background behind it. For those that want to create a standalone model render, that's fine, as the empty areas will become transparent in the final render. But for those who want to add a bit of scenery, you can easily create a backdrop with a Floor object. You can find it in the Light object category (click and hold the button on the top toolbar) or under Objects -> Scene -> Floor. In the editor, you'll see only a small gray plane, but it will stretch infinitely to the horizon (dotted line) when rendered. You can put textures on it if you like, though you will have relatively little control over how the texture is laid out. It's useful for catching shadows, which is what we'll be covering next.

[img width= height=][/img]

Without shadows, this render is rather unconvincing and unimpressive. This can be fixed by choosing one of the three Shadow options. The first is Shadowmaps (Soft). This setting creates blurred shadows through the use of bitmaps. You can choose to save these to speed up rendering. The problem is that they break down if the lit area is too big (especially with infinite lights) and result isn't entirely realistic. I typically avoid this setting. The next option is Raytraced (Hard), in which light rays are traced as they travel past the object to create crisp shadows that follow the geometry exactly. In some ways this is less realistic than what shadowmaps yield, but it always works. This is what you use when using infinite lights, and what we'll be choosing for our example scene. The third option is Area, which is very similar to the Area light. The shadows are calculated using multiple light points within the defined area, creating the most realistic shadow. The downsides are that it takes by far the longest time to render and it doesn't work with infinite lights. If you want to use parallel light with an area shadow, you'll have to choose a parallel spot. The area used to calculate area lighting and shadows are represented by a wireframe model around the light. The size and shape of this area can be modified in the Details tab of the object's attributes. Since we've chosen our shadow, let's see what it looks like.

[img width= height=][/img]

Better, but still not very impressive. Wait, what's that? You say that the rounder character models you have all look blocky and not smooth? That is because the model lacks a Phong shading tag. To add one, right click the model and select it under the CINEMA 4D Tags category. The icon looks like two orangish balls, and you might have seen it if you broke apart any primitive objects. What this does is smooth the appearance of the surface by calculating gradients on each face, exactly like the vertex shading that the N64 uses. This affects not only how the object is shaded, but the specularity and reflections on the object. However, it does not affect how shadows fall across the object or the shape of the shadows the object casts. The Phong tag itself only has a couple of options, one of which needs to be on in order to use the rest. When Angle Limit is turned off, every single face is calculated regardless of angle. You will always want to turn it on. Having it enabled lets you set the Phong Angle, which determines the maximum angle between two adjacent faces before the shading breaks and creates a sharp edge. The default setting of 80 is pretty good, and you should probably go no higher than 89 unless you have a reason. The breaks in phong shading can be determined manually with Edge Breaks, which are enabled by default. To create an edge break, switch to Edge mode and select the desired edges. Then, choose Functions -> Break Phong Shading. There are also commands to unbreak the selected edges and highlight all broken edges. If you want to rely entirely on manually broken edges, you can set the angle to 180. Phong shading will not be demonstrated since the N64 logos is flat and blocky.

Back to the lighting. As you can see, it's rather dark and has very harsh shadows. In fact, anything not in direct light is pitch black. This can be fixed in several ways. One method is to create a second light object, an ambient omni light. Give it a low Brightness level to light up the shadowed regions. Make sure you dim the other lights a bit to compensate for the added light. This solution has little impact on render time and can look pretty good. On top of this, you can add Global Illumination. This means that it will take into account the fact that light rays bounce of surfaces, adding light where the reflected rays hit. The downside is that it is resource intensive and increases the render time a great deal. The most basic scene render can take around 30 seconds, while more complex scenes could take over an hour. Whether or not you want to make this trade-off is something you have to consider when setting up the scene. To activate Global Illumination in your scene, go to the Render Settings (ctrl+B) and select the Global Illumination tab. The check mark at the top activates it. There is a mindboggling set of options, but the only ones you want are at the bottom. Since you'll probably be changing around a bit while setting it up, change the Recompute option from First Time to Always. This means that it will do the full calculation each time instead of relying on the first calculation. You can choose to save the calculation for future renders if you're positive you won't be changing the scene, which will speed up the render. If you choose to do this, change the Recalculate option to Never after you've created your a saved GI solution. The second method to fixing overly dark shadows is to rely entirely on Global Illumination, through the use of a Sky object. Found in the same category as the Floor, it creates a gigantic sphere that encompasses the entire scene. You can texture it like you would a normal sphere. The difference is that all textures placed on it will be treated as entirely luminous, which will affect the shadowed areas in a much more realistic way with GI. It can be a bit tricky to deal with skies, as a bright blue sky will turn everything in the scene quite blue if not handled correctly. If the sky is out of view, you can get away with using a white or gray sky. You can also add a tint of color if you like. For this example, we'll be using a white sky.

[img width= height=][/img]

Looks a lot better, doesn't it? However, there is one more thing we can add to make it even better. Notice how the reflected light seems to build up in corners, such as where the green meets the floor? This can be compensated for with a feature called Ambient Occlusion. Similar to how Global Illumination works, it takes the curvature of the model and darks the areas that would receive too much light. Turning it on adds a bit to the render time, but it usually can add a bit of realism to the scene. If any of the materials in the scene make use of the alpha channel or transparency, you'll want to enable Evaluate Transparency. It will add a little more to the render time, but it will prevent you from having big black squares wherever you have alpha transparency near an object. It is important to note that Ambient Occlusion is not perfect, and occasionally acts funky in some areas, usually due to phong shading. This is the setting I used in my Mario Kart 64 maps to give it a sense of depth. Here's how the scene looks with AO added in.

[img width= height=][/img]

Now, what if you have some objects that you don't want to be affected by GI, AO, or the lighting? This will most likely be the case if you're rendering a map scene that includes background objects such as a picture of a distance town. You can achieve this with another one of C4D's tags. Right click the object and choose the Compositing tag from the CINEMA 4D category. This lets you control various settings about how the object interacts with the scene, including whether or not it casts shadows or affects GI and AO. Activating the option Compositing Background makes the object light up the same way the sky object does, but still letting it be affected by shadows and Ambient Occlusion. This is the setting to use when the scene already has the proper lighting and shadows as part of the material and only needs to interact with the character.

Now, our scene is complete. Or is it? What if you wanted a transparent background to go behind your model, but still keep the effects of the realistic lighting? Once again, the Compositing Tag comes to the rescue. Add one to the Floor of the scene and disable the Seen by Camera option. This means that the object will still interact with the scene like normal, but it won't show up in the render. Copy the tag onto the Sky and anything else you want to be hidden from view. To see a more impressive display of the tag in action, try leaving the floor visible and putting it on the character instead. You'll end up with something like this.

[img width= height=][/img]

With the scene set up just the way you want it and all the render settings set to the proper size and format, you're ready for your final render. Just hit Shift+R, sit back, and watch it do it's thing. Of course, not every render you do needs to include all of these effects. Do whatever you want, because it's your render. Sometimes the best renders are the simplest ones.

[img width= height=][/img]

That's all for now. Remember, you can apply some of these tricks to your maps, but try not to go overboard with them. AO can help give top-down maps a sense of depth, but the graininess of the shading bumps the filesize up tremendously. If you decide you want to make some extra renders, show them off here! This is really the only way you can make use of games that can't be mapped. There are only a couple of lessons left before I'm done, so I hope your mapping is coming along well. Remember, I'm here to help you if you have any questions or problems.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 19, 2010, 09:20:44 PM
This lesson is rather short, and you'll see why.

16. Shadow Catcher
Here's another render I did using the same scene setup as last time.
[img width= height=][/img]
What's this? There's a shadow in the render? No, it's not a trick, that's an alpha transparent version of the shadow from the scene, and it was done using the Shadow Catcher plugin ( To install a plugin, simply place it (uncompressed) in the Plugins subfolder of Cinema 4D and restart the program. I'm not going to teach you how to use it, because the website I linked to also has a complete tutorial for it, complete with lots of very helpful pictures. However, I will teach you some tricks and limitations of it.

For starters, the default shadow created with the plugin is completely solid. If this is too dark for you, you can always control the opacity of the shadow through the transparency channel. Since the plugin has to be applied to an object as a material, the object will affect the scene. In order to minimize it's impact, you can use a Compositing tag to stop it from casting its own shadows or affecting AO. Now, the plugin does have limitations. If you compare the shadows, you'll notice this new one isn't nearly as fancy. This is because the the shadow is created from the shape of the shadow from the light, not taking into account GI, AO, or other lights. In fact, each light in the scene will cause the material to react, which will create multiple full shadows. Because of this, you can really only have one light source in these scenes. Because of this, area lights/shadows are your best bet if you want any kind of realistic shadow. It's a neat plugin, so try messing around with it. It tells you to turn off the color channel in the tutorial, but you don't have to. Mess around with the channels to see what you can create.

There's only one more lesson that I have planned, and after that the workshop will be driven entirely by you. As always, I'm here to assist you with anything and answer questions. I look forward to seeing your work!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 21, 2010, 07:08:36 PM

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 22, 2010, 07:53:00 AM
@Tropicon:  (
Looks nice! I'm not sure exactly how Ogre Battle 64 is as I only took a quick look at it, but I imagine you could crop some of the outermost green areas around the edge, at least if the chopped-off water is any indication. Also, you could probably afford to shrink it down to 1000x1000 or even 800x800 and still keep the necessary detail. From the mountains, it appears you're using the default light or a light you set up. It certainly makes the mountains stand out, and I like the look. I'd be curious to see what the map looks like with an ambient light put in. I'm guessing labels and such will come later. Not bad. :)

Here's a quick little lesson to cover something that I forgot to mention in the artsy rendering one.

17. Connect Object
As you know, VRML scenes in Cinema 4D are broken up into numerous objects, one for each material for each object and each moving part. This is fine for mapping, but can pose a problem when it comes to phong shading. Phong shading does not apply itself across separate objects, and oftentimes characters will be made of multiple pieces. This is especially apparent when a character has multiple textures to make up their face. One way to fix this would be to fuse the objects together using Connect, then placing the textures in their right place with polygon selections. However, this is very tedious and prone to errors. A much simpler way is to use a Connect Object.

The Connect Object's icon looks like a green sphere and a white sphere being stuck together, and can be found under the Array object button at the top, next to the Light category. It can also be found under Objects -> Modeling -> Connect Object. The way it works is simple. It is basically a null object that treats all of its children objects as parts of the same model, adding its own phong shading. The phong for the connected object is controlled from the attributes panel for the object, and by default will only follow breaks. If you want to control it, you can set the Phong Mode to Manual and give the object its own Phong tag. Setting the Phong Mode to any of the middle choices will make it pick a phong angle from the tags given to its children. Using a Connect Object is a good way to avoid unnecessary shading when dealing with Ambient Occlusion.

Unless I've forgotten something else, the next lesson will be the last. And of course, I'll be glad to answer any questions and help you with your WIP maps.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 22, 2010, 08:32:55 AM
Yep, it turns out N~C creates identical shading to what the game does, although I would've liked a softer effect.  There's also way more map shown then you ever see in the game and I was originally going to make it even bigger at 4000x4000 but I think this will do.  Bugs include missing or discolored towns and there's supposed to be a cloud bank casting a shadow but I decided to leave that out permanently.  The marked version will come later, include all of the games maps, and I have no idea how I'm going to make it since I'm having the same problem with my Wizardry 8 map.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 22, 2010, 08:57:09 AM
Yes, N~C (Quick Shading) ignores light objects and simply uses the default light. However, it doesn't affect the end render. If you want the mountains to be softer, you can try Phong shading. It's up to you how you want to make your map, but it would probably be better if you hid things like the sea cutting off at the bottom. Otherwise, it kinda ruins the magic of the terrain a bit.

Missing town? Miscolored town? Then it sounds like you still have some more work to do. :P

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 24, 2010, 09:26:36 AM
All finished!  Town colors, and missing roads, oops, all fixed.  Yes I left the over green border around the entire map.  But if you look at my Secret of Mana maps you'll see my thing is showing the viewer the map as it truly is rather then a pretty picture.  I posted a gallery for comparison and you can see just how much the designers cut off.  Overall 3D mapping has as about as many quirks and bugs as 2D mapping.  I'm glad I invested the energy to get over the initial road blocks.  Thanks Peardian, energy well spent.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 25, 2010, 11:43:03 AM
Looks good. I'm guessing you decided to leave the mountains jagged instead of smooth, unless you haven't updated the map yet.

Anyway, here it is: the last lesson.

18. Reflective Objects
Sometimes, games will have models that appear to be reflective or shiny. Models like Metal Mario, Steelix, and the Fighting Polygon Team have textures that seem to move and distort around the model as if it was made of shiny metal. However, when you rip them, their textures will be frozen, looking exactly as it did in the moment you ripped it. This is fine if your map is going to be from the same angle, but it will cause a problem if you want to show the model from a different angle or plan to make an artsy render of it. The reason for all this is because the UV data for the model is moving around the object in the game according to the camera. Luckily, Cinema 4D has something similar.

The Environment channel basically creates an imaginary Sky object that is reflected off the object. It is intended to to be used in conjunction with the Reflection channel, filling in the gaps that aren't modeled in the scene. The Exclusive option of the Enviroment channel controls this, leaving out the reflected sky wherever a real reflection would fall. Unless you want to get extra artsy, disabling this option will create the N64 texturing you desire. However, there are limitations to this. Unlike the N64, where the "reflected" image is mapped based on the camera angle, the environment image will be put in a Spherical projection on the imaginary Sky, which is always angled up. This means that the image will be stretched around the circumpherence of the entire sphere, with the two edges being reflected exactly where the front is. You can try to work around this by changing the image's tiling inside the channel, but it is still sometimes noticeable. And since the textures ripped by the plugin are upsidedown, you'll have to flip it back upright before using it, or else your reflection will be upsidedown. When using the Environment channel, make sure to disable the Color channel to prevent unwanted blending.

Another method to achieve this effect gives you more control over the outcome, but requires more effort. The idea is to create a sphere around the object to act as the sky. This works by turning on the Reflection channel for the material (and disabling the color channel) to reflect the invisible sphere. To make the sphere's reflection give something close to the real thing, you can use the Flat projection and expand it a bit so that the texture fits the sphere. Then, use a Compositing tag to make the sky a compositing background only viewable in reflections. Finally, you can apply another CINEMA 4D tag, the Look at Camera tag, to ensure that the reflection stays based on the position of the camera. Neither of these results are perfect, so I recommend against using it in your maps unless you have to. Also, sometimes the environment channel is used to add a bit of Specular highlighting on an otherwise solid-color object, like Porygon2. If this is the case, you can just mess with Specular channel instead.

And that's it. That's the last lesson I can think of. Unless another issue arises or a question is asked, I'm turning the workshop over to be run by you all. Post your works in progress, ask questions, show off your work, and I'll be here to comment, critique, and help if you want me to. I'm no 3D artist, so more advanced questions about modeling in Cinema 4D are best left to online tutorials. I wish you all good luck in your work and look forward to seeing what you accomplish.

Edit: How fitting! This is the 64th reply.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 25, 2010, 01:03:53 PM
Ha! 64th.  And yes but I might go back and change them.  Something I'm curious about now; when I use the texture dumper in PJ64 it only starts dumping when I start moving.  Or when I change something on screen.  If I turn on the dumper it just sits there and does nothing until I make a change in game.  Is there a way around this?  And you're no 3D artist?!  Are you kidding?  You're every bit a 3D artist!  Don't sell yourself short.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 25, 2010, 01:14:51 PM
As I've said in the earlier lessons, the texture dumper only dumps images when they are first loaded into the Nintendo 64's memory. This means you have to turn it on before you reach the desired room. The textures it dumps when you start to move/change are only from the objects with changing textures or the ones being loaded on the edge of the screen.

And there's a difference between knowing how to work a modeling program with other people's models and creating new models. :P

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 25, 2010, 06:16:25 PM
Thanks, and sorry for being such a pain.  Peardian, you must give yourself more credit.  Being able to manipulate these things at the level you do IS an artistic skill.  Just because some people can draw, or click, realistic looking things from scratch doesn't make them great artists.  In fact it doesn't make them artists at all, a computer could draw 100 perfect photo quality still life's.  It's your take on it that gives it its artistic merit and your renditions more then prove your artistic ability.  Huh, didn't mean to go off on a rant there.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on February 27, 2010, 05:40:20 PM
I've got the next one up.  It's a little better then the last and I went with the softer light on the mountains.  I'm still having a few weird problems though.  The water is supposed to have a transparency and even with your techniques I can't get it to look the way it does in the game.  Also I don't quite know what to do about the little trees in the towns.  In the game they're black but I think that's an error of both PJ64 and 1964.  In C4D they're white.  I can't find a screen shot that has the little tree that wasn't made in an emu so I don't know who their supposed to really look.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on February 27, 2010, 06:03:58 PM
The game probably uses some tricks to get the water to look that way. I'm not sure what the water looks like, so I can't be more specific, but you might be able to find some methods to imitate it in one of the lessons. As for the trees, the only thing I can think of is finding a screenshot of the game from online somewhere (or a video if nobody has a picture) and steal the color there for the tree. If that all fails, just guess on the tree color.

I have some good news! Moo Moo Farm is up on the site now. Some might be glad to hear that I'm officially switching to JPG for these full course maps. The quality is set to 90%, and yet the sizes are still about a quarter of the original PNG size. You will barely be able to tell the difference. Because of this, the Moo Moo Farm map is only about 3 MB instead of 12 MB.

In other news, I tested some games. Here are the reports.

Extreme-G: So much UV damage as to be almost completely unusable, even though everything lines up fine. At best, you could use the models referenced to recreate your own versions of the vehicles. Not Mappable.
Extreme-G2: Same.Not Mappable.
F-Zero X: Very short range for swapping distance models, so mapping would be very tedious. There is UV damage on almost everything, but the full-size track pieces seem to be fine. Mappable.
Road Rash 64: Lots of funky stuff going on. Not Mappable.
San Francisco Rush: Has the same kind of thing seen in Banjo-Kazooie. The maps all move around relative to the camera, but always stay in the proper orientation/scale. Mappable.
Rush 2: The emulator will yell at you a lot during the menus, but it is otherwise just the same. Mappable.
San Francisco Rush 2049: Same as the first. Mappable.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on March 19, 2010, 05:34:05 PM
Well I finished my first 3D map set.  38 maps total for Ogre Battle 64.  I learned a lot while fixing different kinds of errors.  Thanks again Peardian for opening up this whole new realm of mapping.  Things will never be the same.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on March 20, 2010, 01:50:20 PM
Congrats, Tropicon! That makes two completed mapsets.

In related news, I was able to come home for this weekend, allowing me to rip the next two tracks from Mario Kart 64. I hope to have Frappe Snowland and Choco Mountain finished in two weeks.

To inspire some activity, here is a bit of eyecandy.

[img width= height=][/img]

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on March 20, 2010, 06:01:47 PM
Cute.  I still can't believe I made even one 3D map, I don't know where I'll go from here.  Working with C4D tempts you to forget mapping and just screwing around making art.  It's hard to resist.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on March 29, 2010, 11:33:36 AM
Yes, it is. (See: my avatar) :P

Just a small bit of slightly-related news, Ogre Battle 64 is now on Virtual Console! Looks like your maps came at a good time. ;)

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on March 30, 2010, 07:25:47 AM
Ha, and yeah, what were the chances.  My timing was perfect.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on April 15, 2010, 12:39:00 AM
I have found an ancient thread started by Lemmy himself spanning 15 pages. If it has not been posted in the previous 5 pages, here it is:

On the first page he has 2 variants of the LemD3D8 plugin. One is 213.8kb and the other is 215.2kb and exports .bmp as well as alpha textures.

You know what?
Nemu08 takes all the fun out of mapping!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on April 15, 2010, 08:07:39 AM
I'm not at home so I can't test it right now, so I don't know what you mean. Could you explain?

Also, I look forward to seeing whatever you rip. :D

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on April 19, 2010, 09:43:39 PM
Nemu (N64 emulator) has a function called 'Free Camera' where you can freely move the camera's position to see the whole area, different angles, or even make a 3rd person shooter into a first person, or over-the-shoulder view (Body Harvest) and vice-versa. And being Lemmy's own emulator, it comes with the VRML extractor plugin and a whack of other debug commands!

I have submitted the following Blastcorps maps to Jon: Intro map and Thunderfist tutorial map.

- Mike

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on April 20, 2010, 06:53:37 AM
Hmmm... that's interesting. I'll have to look into that. It does kinda sound like it takes the fun out of it, but I can already think of a few situations where it would be quite handy. :D

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on April 21, 2010, 04:41:02 PM
*checks out Nemu 8* Wow that's awesome.  That could speed up some things.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on April 21, 2010, 06:13:26 PM
I did a little more testing and the Free Camera is not as useful as you might think. Start up Super Mario 64 and zoom out and look down to give you a wide overhead view of the area. Now, run around. Notice something? Objects are disappearing. Even though you've cheated the view to a new angle, the game is still rendering objects based on the camera of the REAL camera's position. The most this is good for is getting a better idea of what objects you need to rip with another angle. Other than that, it's not going to cause the game to render more objects than normal. Also, you might want to update the plugin included with Nemu v0.8 with the one you're using for 1964, as it doesn't seem to work correctly.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on April 22, 2010, 01:01:25 AM
Well the camera setting isn't just for mapping purposes. Like I suggested, you could bring it in closer to your hero in Body Harvest, or set up a cool screenshot in Smash Brothers. How about making Turok a 3rd-person shooter, (or checking if the player model even exists in SP). How about firing off a rocket or Cerebral Bore, hitting pause and then moving the camera into a first-person perspective from the target's point of view!

I see this feature being used to explore and add replay value to old favorites :).

- Mike

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on April 22, 2010, 08:41:07 AM
I was thinking it would be good for making line maps.  Kinda like my Metroid Prime maps.  No original parts.  And yes I'm definitely going to try 3rd person Turok.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on April 24, 2010, 06:48:24 PM
I've got some good news. One of the designers over at Nintendo Papercraft ( knows how to get PJ64 to properly rip VRML through Lemmy's plugin, which I have previously been unsuccessful at. I've asked him to tell me how he did it, and once he does, I'll relay the information here. With that information, yes, it will be possible to rip and possibly even map Donkey Kong 64.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on April 25, 2010, 10:23:12 PM
Yes!  I don't like 1964 anyway and Nemu has all the same problems.  Just think of how ascetic a DK64 map would be.  Why the hell does DK64 crash if Conker works so well.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on April 27, 2010, 06:28:58 PM
I have found that some of my roms will only work in either P64 or 1964, but not the other. Everything works in Nemu so far but it's really slow and there is no sound (stutters).

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on May 04, 2010, 02:14:13 PM
Well, I've got good news and bad news. I tested out the Nemu emulator a little more, and found out that it still can't play DK64. It goes crazy before even reaching the DK Rap. However, the good news is that it can emulate Kirby 64 without any of the crazy bugs it has in 1964/PJ64. It still has the same visual bugs because of using the same graphics plugin, but this means that K64 is now fully mappable. I've already celebrated by ripping some cutscene models from the first levels.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on May 04, 2010, 10:39:52 PM
I'm trying something new too.  Using Nemu I'm ripping stuff from Castlevania 64, but not maps, enemy models.  I was inspired by your enemy models from Kirby 64 Peardian.  And I can't wait to see what kind of Kirby 64 stuff you whip now.

Title: Re: Nintendo 64 Mapping Workshop
Post by: JonLeung on May 11, 2010, 06:21:36 PM
Better late than never, here's the image for the first "Forum Spotlight" front page feature:

( (

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on May 13, 2010, 02:46:56 AM
I've never noticed Mario 64 was so polygonal! :D

- Mike

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on May 17, 2010, 07:54:47 AM
Hey I more or less finished my Castlevania 64 project.  I got 95 enemies in all, check it out:

Title: Re: Nintendo 64 Mapping Workshop
Post by: Mikemc on May 17, 2010, 06:59:47 PM
Fantastic! Those would be great for an Rpg Maker game :)

Title: Re: Nintendo 64 Mapping Workshop
Post by: alucard on May 27, 2010, 07:56:00 PM
these look awesome

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on May 31, 2010, 05:27:01 PM
Thanks.  I know I missed a few enemies, but I didn't think I'd be able to get nearly as many as I did in the first place.

Title: Re: Nintendo 64 Mapping Workshop
Post by: alucard on June 04, 2010, 05:02:32 PM
Thanks.  I know I missed a few enemies, but I didn't think I'd be able to get nearly as many as I did in the first place.

Were you also going to map the Castlevania 64 games?  No one has done that yet.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on June 06, 2010, 08:31:52 AM
Uh.. heh.  That's not really something I can do.  You get a lot of area in a CV64 rip, almost the whole area you're in.  But there are light and texture problems that are out of my league.  Of course I could make crappy 3D maps and reduce them to line maps.

Title: Re: Nintendo 64 Mapping Workshop
Post by: alucard on June 06, 2010, 08:23:04 PM
I really didnt get that far in either of the N64 Castlevania games as I did not like them, but I am not surprised that they would be difficult to map since its a 3D game, and I remember them looking like crap anyway.

Title: Re: Nintendo 64 Mapping Workshop
Post by: osrevad on October 01, 2010, 10:41:57 PM
I wish that I was brave enough to get involved with 3D mapping. Remember when I made that lame attempt at mapping Ocarina of Time with some flying cheat? Good times.

On a more serious note, I had a thought:

2D games are perfect for mapping because the map itself will be 2D in the end, meaning that if you are careful, then no information will be lost, with the possible exception of animated stuff (water, lava, etc.).

The purpose of this thread is start mapping 3D games. Here's my question: Why don't we explore the possibility of making the maps themselves 3D  :o . Imagine connecting distinct 3D rooms together in some rendering software (or something) to create maps of the game. Then, somehow, a visitor to would be able to explore the maps by moving a camera around in 3D.

What is this you say? 3D on the site itself? It's certainly possible to have 3D on a webpage using flash or java. At you can play a 3D game with graphics better than the N64, with nothing but java.

Obviously, nobody wants to program a 3D java viewer from scratch, but I'm sure there must be something that is already out there that might suit our needs. So basically, all we need to be able to do is two things:

1. A 3D java/flash viewer, if such a thing exists.
2. The ability to export the 3D game data into a format compatible with the java/flash viewer.

Piece of cake  ;D

I am by no means an experienced programmer, but I know that some of you are. What thoughts do you have on whether something like this is possible? Does anyone think this would be cool or useful?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on October 01, 2010, 11:06:50 PM
Already exists.  It's call Cosmo player, it's a Firefox plugin, and it sucks.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on October 01, 2010, 11:09:54 PM
It's an interesting idea, but a major issue is standards and support. There are different model formats, which different programs can and can't read, and which support different properties. Not to mention, some of the tricks the N64 pulls off are impossible to pull off on standard shared formats without completely retooling the models. If I exported one of my maps into 3D and loaded it into the viewer, you'd get messed tiling textures and missing transparency. RMMH is experimenting with this realm with their MMX maps, but there's still issues with things like the exported FBX lacking alpha for the textures and having wonky scales. I recommend against exploring into actual 3D maps, at least for a while. For the time being, we can still rely on good ol' labeled renders.

I would also like to mention that I've finally finished the first Ocarina of Time map! Because both topdown and side views are invaluable in the information they bring, but very hard to mesh together, every map will have two versions, one for each. The game's mini-map will also be included as a separate map for people with slow connections. The next map will be the game's first dungeon, which I look forward to. I hope this gives you ideas on ways to present your maps!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Revned on October 02, 2010, 09:47:04 AM
Wow, that looks really great. I really like the untextured versions of the rooms -- I think they really help to convey the layouts of the rooms. Good job!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on October 02, 2010, 10:26:59 PM
BTW osrevad, your flying trick isn't useless.  It gave me the idea I used to make all my Aidyn Chronicles maps.

Title: Re: Nintendo 64 Mapping Workshop
Post by: dbarrier54 on October 04, 2010, 04:03:53 PM
Hi, Jonathan Leung

Will you please Make sure there is no missing sprites
on all level maps of these Nintendo 64 game Maps
when they are finished

Check all Super Mario 64 Level Maps (No Missing Sprites)
Check all Mario Kart 64 Level Maps (No Missing Sprites)
Check all Diddy Kong Level Racing Maps (No Missing Sprites Easy or Silver Coin Challenges etc.)
Check all Yoshi's Story Level Maps (No Missing Sprites)
Check all Mario Party Level Maps (No Missing Sprites)
Check all Donkey Kong 64 Level Maps (No Missing Sprites)
Check all Mario Party 2 Level Maps (No Missing Sprites)
Check all Paper Mario Level Maps (No Missing Sprites)
Check all Mario Party 3 Level Maps (No Missing Sprites)

because they are for my player's guides

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on October 04, 2010, 04:45:06 PM
When you say players guide what exactly are you making?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Revned on October 04, 2010, 05:39:39 PM
Oh god

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on October 04, 2010, 07:35:28 PM
Debbytron returns! It might be best if we let it know about the official Nintendo Player's Guides and the wonders of ebay. But I digress.

For the first time in months, I have a new tip! I just discovered this one a week or so ago. Remember how infinite lights had a problem with only having crisp shadows? Turns out they thought of that. When you set up an infinite light with an area shadow, it opens an option in the Details tab. In the section that defines the area shadow's shape, you can use Infinite Angle to determine just how quickly the shadows get fuzzy the farther they are from the source edge. The default is 0.5 degrees, which would be fine for something like a perfectly clear sunny day. Note that this setting does not affect the angle of the lighting itself, just the shadow.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on November 19, 2010, 08:35:18 PM
Remember earlier how I said I didn't think C4D could do vertex shading? Well, I found a way. But it's not easy. This lesson is for those who know how to use C4D efficiently.

19. Vertex Weight Maps and Vertex Shading
As I have just recently figured out, Cinema 4D a way assigning vertex weights to the points on a model. It can only store values of 0%-100%, but you can have multiple weight maps per model. Weight maps are much like selections, in that they are represented by a Weight Map tag. While this tag is selected, the object it belongs too will display the weight values in the form of color gradients. Red means 0% and Yellow is 100%. The points on the model are also colored, which hinders visibility. Any changes you make to the weights will affect the selected weight map. If the weight map is not selected, any changes will result in a new map. In order to set weights to points, first make your selection. With the points selected, go to Selection -> Set Vertex Weight... from the top menu. A little dialogue box will pop up for you to enter the percentage. It keeps the last value you entered, so things will go faster if you do similar regions at the same time instead of jumping around.

So how does one go about using these weight maps? If you render the scene, the vertex maps won't show at all. This is because they are only information. In order to see them, you have to tie them to a channel in the material. For the texture of the desired channel, choose Effects -> Vertex Map. It will display a white square, which is normal. Hitting render will still display nothing, however, as you need to link it to a vertex map first. Go into the shader properties and you'll have two fields. Simply drag the desired weight map icon to the Vertex Map field. Whether or not you need to check the Invert option is up to you and how you set up your weight map. So the map is linked up and you hit render. What do you see? The The object has now been colored with black and white gradients based on the map! So how can you make use of it and actually have color? The map can only have one value at a time. This requires a bit of ingenuity and clever utilization of C4D's shaders. Because of its simplicity, vertex maps become a powerful tool, because they can be applied to any channel. It is worth noting that the method I've just demonstrated can be used in Alpha channels with no further modification.

[img width= height=][/img]

Getting your model from a simple gradient to something like the image above is quite simple once you grasp the concept of it. To start with, let's color that map. With the Vertex Map already in place, set the texture to the Colorizer shader. What the Colorizer does is that it takes in a bitmap or shader and recolors it according a user-specified property. The default input is Luminance, which is just what you want for black-and-white ranges such as this. The shader is also set up to automatically take in any shaders already present and put it as the associated texture, which is quite handy. If you render now, you'll see that it is already now red and yellow instead of just black and white. You can now mess with the colors as you would a regular gradient.

[img width= height=][/img]

That's nifty, yes, but what if you want more than just two colors? This is where another shader, the Layer comes into play. Layer is similar to the Fusion object I've mentioned before, but with slightly different behavior and an unlimited number of layers instead of just two and a mask. Like the colorizer, it will take in any present shader as the first layer when selected. The information presented on each layer is pretty self-explanitory, and in fact will seem very familiar to anyone who has used Fireworks/Photoshop. The only one that isn't entirely straightforward is the Layer Mask setting, which causes the layer to mask the layer above it. Just like in Photoshop, you can create a folder to store layers in, which you'll be using in a bit. One of the downsides to the Layer shader is that you can't simply paste layers, so you must first create a dummy layer of any kind and paste over it.

Remember, color on the computer is represented by a trio of values, a range of 0-255 for each red, green, and blue. Adding these various amounts of red, green, and blue is how we get all the other colors, and this is exactly the same principle we'll be using. The idea is to create three different vertex maps: one for red, one for green, and one for blue. What do you set for the values? Black being 0% and white being 100% is obvious, but what about the middle values? This is a good time to mention that C4D can do math. Yes, you can input mathematical statements in for values, and it will automatically calculate them for you. This means it is perfectly fine to enter, say, 100*137/255 as a value, and it will give you the percentage you need. After the three meshes have been set up, it's time to combine them. Inside the Layer shader you have, create additional Colorizers and assign one to each mesh, using a gradient from black to pure red/green/blue, as shown in the above image. Once that is done, set the top two layers from Normal to Add and hit render. If you did it right, the colors will blend together and create new colors! Note that if you accidentally set the bottom layer to Add as well, it will show up black instead.

Selecting the colors to use for this is harder than it sounds. If you're used to working with faces like I am, you'll find yourself wanting to look at the middle of the polygon faces for color. Remember, however, that vertex maps are based on the points of the models and not what is inbetween. Because of this, you'll want to choose from the corners of those faces. If the point on a model is not immediately discernable, look at the color gradients. You'll see trends in the color and direction of the gradients. Look for points where the gradient lines form corners, as this is a good indication of a point. Remember that each vertex can only have one color, so if you see a three-or-four-color gradient, you can probably find the points on the object where the color reaches the highest concentration of the middle color. The higher the polygon count of the model, the harder it will be to reproduce, so this will work well with N64 models.

[img width= height=][/img]

What about textures, though? This puts another level of complexity on fixing up the model. Adjusting the example above to accomodate textures is quite easy. Create a folder in the Layer shader, put all three Colorizers in it, and set the blend mode to Multiply. Then, simply add the bitmap you want to affect as the bottom-most layer. You can also work to this point in the other direction, by starting with the bitmap layer in place and adding in the Colorizers second. Either way, you'll end up with something like this:

[img width= height=][/img]

Picking the right colors for the weight map is trickier than untextured objects, however. The bitmap is mixed in with the shading and messes with the colors, so using a screenshot is no good. You could try using complex image voodoo to try and figure out the difference in color between the original and displayed images, but there are two easier options. Remember how each material in the ripped scene comes with a color? This is guaranteed to be one of the colors in the vertex map. However, it is only one of them. If anything, this is a good place to start before moving to the other option, which is to just guess. Just use an image editing program and test out what colors multiply out to look like the screenshot. It will be a lot less of a headache than trying to use crazy color math, and will still look good, even if it's not 100% accurate.

And that's all there is to it! I've already put this technique to use in the Gold Leaf Galaxy wallpapers I made, as a way to fade the edges of the rain puddles and the glow on Octoguy's antenna. It's somewhat subtle, but that's what you want. As a way to practice, I recommend getting any random simple scene, ripped or custom, and trying things out. Paper Mario is a good source of things to play with. I look forward to seeing any progress you guys make!

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on December 27, 2010, 05:15:17 PM
Yuck, Banjo Kazooie is as messy as you described it Peardian.  Somebody requested Rusty Bucket Bay so I thought I'd do a feasibility test.  It's like a torn up cardboard box.  Same situation with Golden Eye.  I'm thinking if I can assemble enough parts I can take an aerial pic, then use ripped tiles and photoshop to make it at least look like a 3D map.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on December 27, 2010, 08:05:13 PM
It might look as impossible as GoldenEye, but there's a key difference: the map is always oriented properly, it just shifts around. This means that as long as you have a common object between two scenes, you can sync them up to stitch the two pieces together. Just make sure to watch out for duplicate pieces, which you'll have to get rid of.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on December 27, 2010, 10:45:24 PM
Yes, I've been rereading your guide here to make sure I didn't miss any tips on that.  C4D made OB64 easy with the merge function but in Banjo Kazooie it puts each new wrl in a kind of circular pattern instead of lining them up perfectly.  I'm doing the most work fixing materials that go black during merging.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on December 29, 2010, 02:11:58 PM
Wow the work load really can vary as much in 3D as it can 2D.  Still looking for shortcuts.  Is there no snap function in C4D like there is in photoshop? 

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on December 29, 2010, 04:18:30 PM
There are. Select either of the Move, Scale, or Rotate tools to bring up its Attributes, and choose the Snap Settings tab. From here you have a lot of options to control how you can move and edit things. Check Enable Snapping to turn the feature on, and check any of the different ways you want selections to snap to. If you want to line up models exactly with each other, I suggest turning on Point snapping and disable Grid. Right below that are options for automatically Quantizing your actions, instead of having to hold shift.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on December 29, 2010, 08:11:01 PM
Oh, well that makes things a lot more convenient, thanks.

Title: Re: Nintendo 64 Mapping Workshop
Post by: The Ultimate Koopa on January 24, 2012, 05:51:53 PM
So, wait, why did this just suddenly die like that?

Title: Re: Nintendo 64 Mapping Workshop
Post by: Trop on January 24, 2012, 06:20:03 PM
Because when it comes down to it even with Peardians help this is beyond all of us?  Even games that are extremely forgiving when it comes to 3D mapping have knocked me flat, like Aidyn Chronicles or Turok 3.  I figure at this point all I could really get away with would be to make a enemy model gallery from Star Fox.

Title: Re: Nintendo 64 Mapping Workshop
Post by: JonLeung on May 27, 2013, 07:48:35 AM
Came back here when doing a search for Super Mario 64.  Since Peardian has mapped The Legend Of Zelda: Ocarina Of Time, Paper Mario, and Super Smash Bros., at first thought it seems like a first-generation N64 game should be a piece of cake.

I guess, conversely, because it is a first-generation N64 game, and developed in tandem with the actual hardware, and the "engines" and/or chunks of code are perhaps non-standardized, there may be more exceptions and quirks which might make it messier to work with?  I guess I didn't read much of the actual reasons of why this is "unmappable" but given that it is one of the most well-known N64 games, I do hope a workaround will eventually be possible.

Title: Re: Nintendo 64 Mapping Workshop
Post by: TerraEsperZ on May 27, 2013, 09:34:23 AM
Technically, it's probably simpler than other games since I once saw someone on an old version of the Acmlm ROM hacking board make an interactive map viewer for at least the exterior of Peach's Castle and a preview showing how the various rooms inside the Castle and the Haunted Mansion fit together. I didn't visit that forum often enough to know if it was ever released.

Title: Re: Nintendo 64 Mapping Workshop
Post by: Peardian on May 28, 2013, 05:10:39 PM
Yeah, there are level editors for the game and such, but when I asked the tool creator about it, he claimed it wasn't possible to make a model exporter for the levels. I don't know if things have changed since then, though. The editor is called Toad's Tool 64, in case anyone wants to poke around with it.

Title: Re: Nintendo 64 Mapping Workshop
Post by: gcr27 on December 26, 2016, 12:17:02 PM