Home ] Up ] 

Custom Floors

(Prefaced Note: Since creating this file, I've done a lot of investigating into the color mapping of Furcadia images, and have discovered several interesting things about it.) (Also note that I no longer use this method, prefering instead to use a software tool I developed to make floors. However, you may find the information contained within this document useful.)

So, you want a custom floor, one which makes the entrance to your dream stand out? Well, it isn't that terribly hard to do. Takes patience, time, and a bit of work, but once you get the hang of it, you'll be on your way to putting pictures on the floor. I'll try to be as explanatory as possible in this guide, hopefully once you get to the end, you'll have a unique floor to show off in your dream.

Before we begin, you'll need a few things. One is a program which will twist your image into the proper perspective for furc. Unless your picture looks good as is, you'll need to twist the picture. My butterfly was rotated counterclockwise 45 degrees, and the height was reduced to 50%. There's a lot for freeware programs out there which offer such functions, and while I prefer Ultimate Paint, that's my personal recommendation. Please note that while I followed my own instructions for using UP in creating this tutorial, I only used it for the initial overlay onto the floor grid. The actual twist was does in another program.

Floor grid! That's another thing you're going to need. Not only will it give you a 'graph' image if you will of the correct angle of furc's floors, it's what you use to determine where your cuts are going to be.You'll need two special tiles to begin with because the grid needs to be a proper checkerboard, I created an all black and an all white tile for this purpose. Floor 161 works for the black, and you can use a floor from 137-142 for the 'white'. You may want to use the paint bucket to fill the pink with white once you've created your graph, that's your preference. Once you've created a grid, you take a screen shot of it, and crop out the rest of the editor so you end up with just the drawing window.

viewport-t.gif (3922 bytes)Now that you have some graph paper to work with, and especially if you intend to make more inlaid floors, save that sucker. And while I'm speaking of saving, a word about working with furc colors. The best means of preserving the color scheme in furc is to use an image from one of the .FSH files as a template because there's two different formats followed by programs in creating a 256 color bitmap. One is like the furc scheme, using those 8 bits in each pixel to create an index into a table of colors, and there's at least three bitmap file formats which work like this, called [16 color], [256 color], and [16 bit color]. The other scheme is the one which will mess things up, it's called "true color" where each pixel in the image refers to the actual color numbers for that hue. And in the conversion from true color to 256 indexed color, or from one of the other two index modes, there can be a color change in the appearance of the image. MSPaint, for example, will mess your colors up grandly, that there nice brown becomes, well, ugly. And that pretty green may turn puke. For serious nitty-gritty, there's a color chart showing here.

Which is why when I'm producing a final image, or even an intermediate image for importing to furc, I always paste into a bitmap extracted from furc, (of course remembering to save to a different filename). And the windows clipboard will cause some problems too, the exact details of the action are complicated, the short version involves, (techie term), the DIB Functions of the OLE, (Device Independent Bitmap). The DIB transfer from MSPaint to MSPaint works differently than the DIB transfer from UP to MSPaint for example. So if everything looks good until you get it into furc, it's not furc's fault, blame it on the transfer mechanism.

So with that mumbo-jumbo out the way, I work out all the details in UP, then chop, copy, and paste to a furc default bitmap.

When you get your image aligned correctly, and transparently pasted onto your floor graph, you may find before pasting it handy to select different colors for the checkerboard. In this case I selected blue for the butterfly contained blacks, which would have been lost in the final product. Likewise if your image contained white, just be sure that the colors 'clash' with one another to make the next step of the process easy to work with. You also may find it handy to remove all graph area not related to the image you're working with. If you clicked on the image, you noted that I drew a red box around the area of interest, and painted out all the non-floor space, (not shown in the enlarged view). I then cut out the center of the image and used that for the next step. Not the exact center, you need some space around the image for a work area when you're cropping. You will need two copies of this image for you will need to produce two sets of tiles, the "even" row, and the "odd" row.  Furc uses all even columns, but the odd and even rows are staggered, the numbering scheme goes like this:

10,10   12,10   14,10   16,10  
  10,11   12,11   14,11   16,11
10,12   12,12   14,12   16,12  
  10,13   12,13   14,13   16,13

Crazy note, sometimes I get confused with DreamEd on the coordinates, they appear to be 'wrong'.

And you also have to take into account that while the floor tiles butt against each other top to bottom, there's 2 pixels of space between even/odd columns. So our cookie cutter for this step needs to be a 'stack' of floors, however high we need them to be to get the entire picture from top to bottom. Plus one to be safe. For the cookie cutter I used MSPaint to create a stack of floor161's. A bit more geekiness, I've read that furc uses true black [0,0,0] for it's transparent color, 161 uses [23,19,19] for it's black, AKA shadow color, which is furc color 207. If your image contains true black, it gets converted to this. The purple in exported images is [199,144,186] and is translated to [51,39,39]. If you're interested in acquiring a translated palette to use with your imaging, there's one available here. This is a pseudo capture of the color select area from the right hand side of the FiSH Editor, then it was imported back into FiSH and all the colors were checked. [download zip]
More Techie Info! I generated a table of the index's used in this image if you wish to get really, really, in depth with the indexing of the colors. <click>

Anyway, as you can see from these  images, once you get your cookie cutter in the right area, it leaves a two pixel gap between the columns. Now comes the fun part. The best program to use for this step is MSPaint for it IS a simple paint program, and you'll need two copies of it running. I'll explain how I worked this out, you may find a different means to produce a final product which works better for you. I first opened one of my 'cookied' images in UPaint. I then opened floor 161 in one copy of MSPaint, and floor 35 in another copy. I exported the image to the windows clipboard from UPaint, and pasted it to the copy of Paint holding floor 161. This takes care of the color matching. Mostly. The reds and blues darkened somewhat so I touched them up after I pasted each section onto floor 35. Little note, UPaint does not support cutting and pasting to and from the windows clipboard, I don't know why. Instead it exports and imports to and from the windows clipboard. I suspect this is because it was designed to run as an OLE object, it supports multiple formats and interfaces with scanners and such.

Now unless you got really, really, good eyesight, you're going to need a little zoom on your image. Also, as a precaution, I recommend that you save that image you pasted onto floor 161 as something else, so that you don't forget, and close Paint with a YES. Usually, the 4x default zoom of Paint is enough to work with, plus it's easy to get to, CTRL+PAGE_DOWN gets to it. FYI, CTRL+PAGE_UP restores 1x zoom. Draw your cut box around a single tile segment in you SOURCE, making sure that you only get two of the pixels out of the four at the top and bottom. The sides are easy, you just need all the purple from side to side, it's the top and bottom where they merge seamlessly that you need to be careful with. If you watch the numbers in the lower right hand cornet of Paint, it will tell you the size of the area you're cutting, you want a box of 62x32. Now CTRL+X. Yes, CUT, and the reason is simple. That will leave you with what still needs to be done, which, while wouldn't be hard to figure out with small floor overlays, will get you fustrated with larger ones. If after cutting, you find that the remainder just looks wrong all of a sudden, like you didn't get the correct size, or you cut from the wrong area, then use a CTRL+Z to undo and have another go at it.

Now switch to the other copy of paint and paste (CTRL+V) the image onto the floor tile transparently, in my example above it would be the white for the 'odd' row, and blue for the 'even' row. Don't panic if the image doesn't go transparent the first time, that's not unusual.  All you do is get that eyedropper tool and RIGHT-CLICK on the 'background' of the image. then do a CTRL+Z, and CTRL+V again. Ta-Dah! Works. Cool. Now save that image and check that the 'transparent' color gets imported into FiSH properly. If it doesn't, again, don't panic, you have two choices:

  1. Go back to paint, CTRL+Z again, and use to eyedropper to catch the official 'background' color as your foreground color, and paint each corner of your floor.
  2. Use FiSH's paint tool to do that with the official palette in FiSH.

All that really means is that somewhere in you image editing, you managed to change the color of the transparent color, and FiSH is now translating it wrong. Or rather, FiSH is translating it right, it's just the wrong color for FiSH to call the transparent color.

Some final notes before I let you go, I prefer to number the images in order that they would lie in the map, that is by row and column, though I tend to offset the starting numbers to 10. So my first set of cuts would be butter1010.bmp, butter1012, butter1210, butter1212, and my odds would be 1209, 1211. Yep, I misjudged a start point with this set, no biggie. You may find a different scheme which works for you better.

Second point is that unless it's a really simple inlay, like my butterfly example here, or there's really radical differences between the tiles, you may find it handy to be working on the dream as well.
Then you would:

  • Paint 1 source - cut
  • Paint 2 floor - paste
  • FiSH - import
  • FiSH - position and set the properties
  • FiSH - save
  • DreamEd - Reload Patch
  • DreamEd - Position the new floor tile.

Again, you may find an arrangement which works better for you, on large floors I tend to chop all my images first, then import them one at a time into FiSH and lay them out in DreamEd as I go. Which is how I laid out this floor. The butterfly, however, was simple enough to do each step separately.

And also, until you get really comfortable with doing this, do consider the following: BACKUPS. Always create backups of your original work, and use copies to do the chopping with that way if you happen to royally mess things up, you have a recovery point to go to.

Happy Patching!

P.S. If you want a copy of my ButterFly Floor