Tools for tiles, name tables, etc.

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
Petruza
Posts: 311
Joined: Mon Dec 22, 2008 10:45 pm
Location: Argentina

Tools for tiles, name tables, etc.

Post by Petruza »

Hi, I just wanted to know what tools do you usually use for creating tiles from images, and to assemble metatiles and name tables, if there are any.
I'm making my own in php, but maybe there are better tools out there.
Thanks!
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Djin Tile Mapper can be usefull, but it exepts you to place your name table and corresponding patterns in the same file.
Useless, lumbering half-wits don't scare us.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

I made my own converters and tile and nametable editors. As for metatile and scrolling map editors, those tend to be purpose-written for specific game engines.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Re: Tools for tiles, name tables, etc.

Post by Celius »

Petruza wrote:Hi, I just wanted to know what tools do you usually use for creating tiles from images
MS Paint and Photoshop. Use MS Paint for simple functions where you work with exact color fields (no JPEG type crap where every pixel in a color field is a slightly different color), and use Photoshop for, well, very little. I actually trace over images with a few obscure colors in MS paint and select those colors individually with Photoshop and change them so the whole image is 3 colors so I can copy/paste it into YY-CHR. Other people have different methods, but this has worked very well for me.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

I'm with Celius. Using a more versatile tool for drawing (in this case, MSPaint) and converting later is much better than using editors with limited drawing capabilities. Graphics that are drawn directly in tile editors usually look kinda poor.

I don't see the need for Photoshop though, since MSPaint can substitute colors too (set the foreground color to the one you want to replace, the background to the new color and use the eraser tool with the right mouse button).

For the rest, tepples' tools look fine. Although in real games you hardly have full name tables stored in the ROM, except for a few splash screens. The exception is maybe 1-screen puzzle games. In more complex games, filling the name tables is usually a more dynamic process, involving metatiles and more advanced forms of compression.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

tokumaru wrote: I don't see the need for Photoshop though, since MSPaint can substitute colors too (set the foreground color to the one you want to replace, the background to the new color and use the eraser tool with the right mouse button).
Wow! I never even knew about that! Thanks for pointing that out, so now it'll be a lot easier to do that. Though the disadvantage is that I will have to go over it by hand, but since the images are generally so small it won't make much difference.

Though there are things that you'll want to use photoshop for. For example, if you have sprite overlays in an image that you want to take out, color select in Photoshop can select them by themselves. I also use this feature when I trace an image to make an outline with some obscure color (usually bright green), so I can get the outline by itself and work with that.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Celius wrote:Though the disadvantage is that I will have to go over it by hand, but since the images are generally so small it won't make much difference.
You do know that you can make the eraser square as big as you want with CTRL + don't you? With a ridiculously sized square you can recolor a bunch of sprites in no time.
Though there are things that you'll want to use photoshop for. For example, if you have sprite overlays in an image that you want to take out, color select in Photoshop can select them by themselves. I also use this feature when I trace an image to make an outline with some obscure color (usually bright green), so I can get the outline by itself and work with that.
I get what you mean. There are things Paint can't do. I, for example, often use Photoshop or GIMP to test sprite animations. I do draw them using just Paint though.
User avatar
Petruza
Posts: 311
Joined: Mon Dec 22, 2008 10:45 pm
Location: Argentina

Re: Tools for tiles, name tables, etc.

Post by Petruza »

Celius wrote:...MS Paint and Photoshop...
Yeah, thanks, I already use Photoshop.
I meant converting an image, let's say a PNG, into the CHR data to .incbin it into the program.
And some kind of app puzzle-like, that lets you grab the tiles of a CHR file and arrange them into a nametable, and also let you specify attributes, and then make the output available so you can use it in your program.
It's not necesary to make 32x30 nametables, it could make variable size nametables ( call it sub-nametable if you like ) that then can be loaded to a real nametable in any position wanted, for example.

I think I will make these tools myself, anyway, since every tool seems to be a little customized towards a specific use.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Tools for tiles, name tables, etc.

Post by tokumaru »

Petruza wrote:every tool seems to be a little customized towards a specific use.
This is usually the case with limited systems such as the NES. There is just no universal solution.
User avatar
Banshaku
Posts: 2404
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Tools for tiles, name tables, etc.

Post by Banshaku »

There doesn't seems to be that many, some of them are dos only and may not be maintained anymore. So depending on your needs, you may have to write your own tools.
tokumaru wrote:
Petruza wrote:every tool seems to be a little customized towards a specific use.
This is usually the case with limited systems such as the NES. There is just no universal solution.
I think that it is possible to make an all purpose tool that would cover most cases on the nes. The problem is that designing that tool to be very generic takes time and to build it takes even longer so not many people are ready to invest that time on making this.

For now, I'm trying to make a map/metatile/nametable (and other tools) editor specifically for the nes.

But you don't hear often people talking about their tools here. It seems people like to build everything by hand but I find that not convenient.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Tools for tiles, name tables, etc.

Post by tokumaru »

Banshaku wrote:I think that it is possible to make an all purpose tool that would cover most cases on the nes.
From what I've heard so far, you do plan to include a decent set of features in your editor, and I honestly hope it can be useful to many people.

The problem is that when you look at commercial NES games, you see all sorts of crazy map formats, and they are crazy because of hardware constraints. SMB has a pretty weird map format because it needs to be very compact. Sacrifices were made, sacrifices that wouldn't affect the kind of gameplay they were aiming for. The deal with generic tools is that they can't take those sacrifices into consideration, nor the type of gameplay you want to achieve. They must be generic enough to cover a wide range of situations, and there will always be some you'd rather leave out of your project because you'd gain something from it, be it speed, ROM or RAM space, whatever. This is why most serious projects need custom tools.
But you don't hear often people talking about their tools here. It seems people like to build everything by hand but I find that not convenient.
I make my own tools when I need to handle complex data formats, but they are usually simple command line applications without any sort of error handling. Maybe they are more like scripts than applications. It's indeed not convenient having to take a break from your game to program something else, but sometimes there is no other way to prepare your data.
User avatar
Banshaku
Posts: 2404
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Tools for tiles, name tables, etc.

Post by Banshaku »

tokumaru wrote:From what I've heard so far, you do plan to include a decent set of features in your editor, and I honestly hope it can be useful to many people.
If possible, yes, I would like to include as much as I can (if I can find the time). But first, I need to create a very minimalist version (map/metatile support only) for the first alpha that can generate data and see how well it can be integrated on the nes. Then if it goes well I can continue to add features.
tokumaru wrote:The problem is that when you look at commercial NES games, you see all sorts of crazy map formats, and they are crazy because of hardware constraints. SMB has a pretty weird map format because it needs to be very compact. Sacrifices were made, sacrifices that wouldn't affect the kind of gameplay they were aiming for. The deal with generic tools is that they can't take those sacrifices into consideration, nor the type of gameplay you want to achieve. They must be generic enough to cover a wide range of situations, and there will always be some you'd rather leave out of your project because you'd gain something from it, be it speed, ROM or RAM space, whatever. This is why most serious projects need custom tools.
I see your point but the need I'm trying to fill is the lack of a visual editor for your map/metatile etc. editing needs. There is none where I can easily generate some generic data that I can parse easily. Of course there exist some tile editor but I never found one that is appropriate for the nes. So my first goal is to create the "view" of that editor, something generic to create what will be seen on the screen. Then, regarding the data format, depending of your need, a generic version will be generated and you will require some post processing because every person engine needs are different. If we can create that visual editor, that will already be a big plus. The data exported could be in .db format or xml, or even a plug-in interface could allow the user to create is own format.

Regarding the metatile, you will be able to define your own attributes for your metatile set. Then on every metatile, you can select which one is appropriate. So the editor won't have a default list of attribute, you have to define them.
tokumaru wrote: I make my own tools when I need to handle complex data formats, but they are usually simple command line applications without any sort of error handling. Maybe they are more like scripts than applications. It's indeed not convenient having to take a break from your game to program something else, but sometimes there is no other way to prepare your data.
Small scripts are always useful for specific needs. In the case mentioned above, you could create a small script to generate the more complex data format.

Without straying too much off topic, you will need to create some of your tools (editor, scripts etc) for your own needs. If you can use an existing tool and convert the data to your specific format, you will be able to save some time.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Tools for tiles, name tables, etc.

Post by tokumaru »

Banshaku wrote:Without straying too much off topic, you will need to create some of your tools (editor, scripts etc) for your own needs. If you can use an existing tool and convert the data to your specific format, you will be able to save some time.
Yes, this is an interesting idea. I tried it once, with a few Java-based map editors. The main problem I found though was that all of them would only let me place single metatiles on the map. That made it impossible to easily reuse larger blocks of data, something essential for my compression scheme to work.

Maybe a really useful editor could allow the user to define chunks of arbitrary sizes that can later be placed anywhere in the map. That would make many levels of nested blocks possible, and would also help in object-based compression schemes. The final output would probably still be just a grid of metatiles, and the conversion script would have to detect all the used structures in order to compress the map, but that's better than nothing.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I'm with Celius. Using a more versatile tool for drawing (in this case, MSPaint) and converting later is much better than using editors with limited drawing capabilities. Graphics that are drawn directly in tile editors usually look kinda poor.
Well I've always used tile editors personally. Altough I have to admit I really don't like much to draw graphics. It's probably the worst part into doing a game, and what refrains me the most from advancing. Having anything look good just takes forever. Only enemies' AI is worse.

The problem I see which using paint is that it would be very easy to mess up and have graphics that don't align in 8x8 pixels or sometihg. With photoshop I guess it's not freeware and I don't have it so... I have another programm called Picture Publisher which is similar but I never figured how to use it. It does only add effects to images but you can't make images from scratch I guess.
Useless, lumbering half-wits don't scare us.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

GIMP is free and Free. It can display a rectangular grid over the image that the user is editing.
Post Reply