Puzzle is the program most if not all custom NSMBW tilesets (the files you can use in Reggie to make item boxes, coins, grass, background rock, and more) are made with. It was written in Python by Tempus. Its GitHub download page can be found here and its RVLution release page is here. Many newcoming RVLutionaries want to make tilesets, but there's not good documentation on how to use Puzzle.
I'm really tired of there not being a good Puzzle tutorial, with videos, GIFs, or screenshots to go along with clear and comprehensive text. People keep posting about it, and then someone helps them with their specific issue or responds in a PM, and then the next time someone is having trouble with this unintuitive program the previous replies are not helpful. So here is a Puzzle tutorial. I wrote and recorded the GIFs for this tutorial on a Mac, but it should be the same for everyone, it just might look a little different.
This tutorial assumes you've completed the (nontrivial, at least on a Mac) task of downloading, installing, and running Puzzle. In the future I might add a "Part Zero" that covers this, but for now I'm focusing on how to use the program. Another thing I might add later, if there's enough demand, is a part that tells you how to use the tileset with Riivolution and Reggie. This tutorial also assumes you want to make your own tilesets starting from scratch. If you just want to recolor or slightly change an existing tileset you should watch The Red Eagle's video tutorial at https://youtu.be/aP6rJdJGzgY. Without further ado, here's the tutorial. I put each part in a spoiler so that if you already know that part you can easily skip ahead.
The basic idea of Puzzle is that you make an image elsewhere, import it, and it becomes a grid of tiles, which you can give properties, and then form objects out of. There are some words I'll be using in this tutorial whose meanings might not be obvious:
Tile: a square of the grid you see on the left side of the Puzzle window. Tiles can be assigned behaviors, and they make up objects.
Property: something like "Solid," "Block," and "Ledge" that appears under the "Properties" pane of the "Behaviours" tab on the right side of the Puzzle window.
Core Type: something like "Slope Tile," "Coin," or "Pipe" that appears under the "Core Type" pane of the "Behaviours" tab on the right side of the Puzzle window.
Subtype: something like "Steep Upslope" or "Gentle Upslope 1" that further defines the core type. Subtype can be selected in the first drop-down menu beneath the "Core Type" pane.
Terrain: something like "Grass" or "Ice" that tiles can be made out of. Terrain can be selected in the second drop-down menu beneath the "Core Type" pane.
Behavior: a property or a core type. (It's spelled "Behaviour" in Puzzle, but it's the same thing.)
Object: something made out of tiles that levels are formed from. They can be manipulated in the "Objects" tab on the right side of the Puzzle window.
Now here are two annotated screenshots (credit to the Newer Team for the tileset) showing what I mean, one with the "Behaviours" tab and one with the "Objects" tab:
Once you have familiarized yourself with Puzzle's vocabulary, it's time to start making your tileset.
Before you can use Puzzle to make a tileset, you need to tell Puzzle what it should look like. You do this by creating an image in a program like Photoshop or Gimp, and then importing it into Puzzle so it can form tiles. The image must be 384x384 pixels, because there are 16 rows and columns (each) of tiles and each tile is 24x24 pixels: 16*24=384. You can either create your own image from scratch in Photoshop or Gimp, open a different tileset in Puzzle and select "Export Image" (command/control-e) from the File menu to edit an existing tileset's image, or download my PNG templates: 384x384 Transparent.png 384x384 White.png
The basic thing to remember when creating an image for Puzzle is that it will be broken up into 16x16 pixel squares. Once you are done making your image, open Puzzle and click "Import Image" (command/control-e) from the File menu, and then select your image. This will change the grid of black squares on the left side of the window to a grid of tiles made from your image. Now you can begin adding behaviors.
Before you start this part, I recommend selecting "Overlay Collision" above the tiles. This will let you see the shape of your tiles (square, slope up, etc.). Now, to make the first tile be the first part of a gradual solid grassy slope, for instance, select "Solid" as a property, the picture of a slope for core type, "Gentle Upslope 1" for subtype, and "Grass" for terrain. Now you have the behaviors you want on your paintbrush, as it were, and you can paint them onto tiles by clicking on them. So click on the first tile and keep your cursor hovered over it, and above the tiles you will see that the first tile has your desired behavior. In this way you can set behaviors for as many tiles as you need, and you can always check the behaviors for a given tile by hovering over it with your cursor. The next part of this tutorial is about making objects out of tiles, but you can easily switch back and forth between behaviors and objects in Puzzle.
Now switch to the "Objects" tab. Click "Add" to add an object and "Remove" to remove the currently selected object. You can make the object bigger or smaller vertically or horizontally by clicking the appropriate "+" or "-" button. You can add tiles to an object just like you can add behaviors to a tile: click on the tile and then click on where you want it to go. The only other thing to explain here is the menu that reads "Repeat" by default, right next to the "Add" button. It is used to define what happens when you expand the object in Reggie. "Repeat" means just repeat the object, like a brick, the slope options at the bottom tell Reggie to treat it like a slope, the stretch options tell it to make one part bigger while keeping the rest the same (for instance "Stretch Center" is used on climbable grids to make the middle bigger while still having the same border), and the other repeat options repeat only one part of the object. Most of the time just plain "Repeat" will be fine. When you're done making all your objects, it's time to set a few final options and then save.
All Puzzle tilesets are, by default, Pa0. If you don't know what this means, here is a list of all the palettes (which is what Pa stands for) and what they mean:
Pa0: known in Reggie as the "Standard Suite," this is the first palette. Item boxes and pipes and other basic elements belong here.
Pa1: known in Reggie as the "Stage Suite," this is the second palette. Generic objects like ground belong here.
Pa2: known in Reggie as the "Background Suite," this is the third palette. Decorations like underground rock belong here.
Pa3: known in Reggie as the "Interactive Suite," this is the fourth palette. More decorations and special elements, like climbable grids and lines for Dragon Coasters and Fuzzies belong here.
Puzzle allows you to change the tileset slot your tileset is meant for by choosing "Set Tileset Slot" from the "Tasks" menu (or pressing command/control-t). You should do this for every non-Pa0 tileset you make (because Pa0 is the default). Your tileset's tileset slot is displayed by the expanding-object menu in the "Objects" tab. Once you have set the tileset slot, you can save your tileset.
Even saving is not as straightforward as in most programs. Choose "Save As" from the "File" menu (or press command/control-shift-s). When the naming dialog comes up, you should follow this convention: first the tileset slot, then an underscore, then the name of the tileset, all lowercase, with underscores for spaces, then ".arc"; a name should end up looking like "Pa0_tutorial_tileset.arc." After that dialog, another dialog will come up asking you which compression method you want to save with. Choose "Very Slow Compression, Good Quality" option (I don't think the fast option even works). Puzzle will seem to freeze as the very slow (closer to ten minutes than one) compression takes place. On a Mac you can open up "Console.app" (in the "Utilities" folder of the "Applications" folder) and see Puzzle's progress in this form:
The progress messages always stop at around 510000. Windows users, I don't know how you'd be able to see this.
When your tileset is done being saved (Puzzle will let you know by becoming responsive again), you can use it in Reggie just like any tileset.
I hope that tutorial was helpful to you. This is my first real tutorial here, so if you have any suggestions on how to improve it, please say so. I used a lot of CSS to style things, so if anything looks weird (like the text doesn't appear) please let me know. Happy tileset making!
Edit- Removed CSS that made text unreadable under dark themes -- StapleButter
EDIT: CSS has been revised and shouldn't cause problems now. –orthoptera
EDIT: Added link for Python programming language, clarified language, added images as attachments, slightly edited formatting.
Thank you for this. Is it ok if I make a video tutorial on how to create tileset images? And my 2 ways you can make them into tilesets? _________________________
Your "behaviours" and "objects" screenshots don't appear for me, though. In your image links, try changing dl.dropbox.com to dl.dropboxusercontent.com, and removing ?dl=0 from the end. Also, there are actually 16 rows and columns of tiles, and each tile is 24x24 pixels.
New Super Mario Bros.: 16x16
New Super Mario Bros. Wii: 24x24
New Super Mario Bros. 2: 20x20
New Super Mario Bros. U: 60x60
New Super Luigi U: 60x60
The Red Eagle, that would be good. Maybe when you're done with that I could incorporate it into this tutorial? I know there's a Photoshop template for making Koopuzzle tileset images but I don't know much about Photoshop templates. Maybe that would also work for Puzzle tileset images?
RoadrunnerWMC, thank you for your compliment and corrections. I have changed the information about the tile rows and columns and I also changed the animated GIF URLs. Do they work now, and do the download links in part two work without that change?
The 384x384-sized image download links work. I should have been more clear - the images in part one are the ones not appearing for me, not the GIFs in parts 3 and 4.
As a side note, you don't have to add CSS to remove your post layout for a single post - there's a checkbox named "Disable post layout" that does that.
@orthopetra Yes you can incorporate my video into the tutorial. I wont be using photoshop, ill be introducing the community to a free, easy, and much more powerful photo editor. _________________________
Banned permanently: unnecessarily defiant and hostile, inappropriate conduct, creating multiple dupes to evade ban, dragging drama from other forums; further dupes will lessen the possibility of an unban, so watch that behavior
Posts: 1453/3326
Since: 04-10-10
Last post: 27 days
Last view: 26 days
Fixed that post. Removed the crapo CSS, disabled layout. _________________________
The Red Eagle, is it GIMP? I can't think of anything else that could be more powerful than Photoshop. RoadrunnerWMC, do the images work now? I feel silly about not noticing the "Disable post layout" button, but… it's been done for me: StapleButter, can I at least use CSS to improve parts 3 and 4 by making the text color lighter (in light themes the table makes it dark gray against the black of the spoiler) and the images smaller?
@orthopetra- ok maybe its not that powerful, but its got so many different effects that are easy to work with (including precise color changes and transparent) and you dont have to pay a dime. You don't even need an account. I am a lunatic for lunapic. _________________________
Excellent. Glad someone took the time to do this. That said, please voice any concerns about the program, ways you would improve it, things that seem to be missing, etc.
orthoptera, I noticed that the images you're trying to display are in the TIFF format, which Firefox doesn't support. It will probably work better if you pick a more common format, such as PNG. _________________________ The Red Hat Café
RoadrunnerWMC, I've changed them to PNGs. Now do they work? TobiasAmaranth, here are some ways I'd improve Puzzle: fix the saving or at least have an indication of progress other than the Console, create a Mac app version (I have one but for some reason it only works on my computer), and make it so the menu items "Clear Collision Data" and "Clear Object Data" do something. Another idea that might make it less confusing but less technically accurate is to have the objects and tiles switch places so that you make objects and then apply properties and tiles to them. The reason for this is I think of a whole object having the same properties, but that's probably not how it actually works. The Red Eagle, I'm looking forward to your video because I'm not the best at making images and I know that's one thing this tutorial is missing. Grop, thanks!
Hi orthopetra, I made the video tutorial on how to make custom tileset textures and some other things. Im sorry about the quality, I lack screen recording and microphone technology at my house.