NES Screen Tool

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

Post Reply
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru »

Fixed the bug, but I can't update the file right now because my website is down. I'll upload it when it will be available again.

Edit: website works, the file is updated.
User avatar
Gilbert
Posts: 564
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong
Contact:

Post by Gilbert »

I have been lurking around these forums for a while already, but I just registered for an account to thank Shiru for this great tool.

In a community that I am part of, there is a small competition going on recently, that you take a classic adventure game, make sprites and mock-up screens of it, as though the game is made by a different developer on another system. It is a coincidence that NESST was released at the same time and so I decided to give it a go.

This is what I did:
Image
And, the ROM (with source):
http://www.mediafire.com/?saqov494ymhbq74

This is also my first "working" Famicom ROM. :wink:
(As I'm not really going to do any more work on it, I think this post does not belong to the Homebrew section or a thread of its own; I just cut in to say thanks.)
User avatar
MetalSlime
Posts: 186
Joined: Tue Aug 19, 2008 11:01 pm
Location: Japan

Post by MetalSlime »

Great tool Shiru. I don't know if you are still taking feature requests, but here are some features I'd like:

Pattern/CHR:

-saving/loading of .CHR files of variable size <4k. I use CHR-RAM and I group my tiles/sprites into variable-sized chr blocks. For example, a single enemy sprite with all animation frames would have its own .chr file. I'd like to be able to drag a box around some tiles and save only those tiles to a .CHR file. Likewise I'd like to be able to load these .CHR files. For example if I have a .CHR file that holds 18 tiles, opening the file would load those 18 tiles into the editor starting from the currently selected tile in the tileset.

-use CTRL+click to add individual tiles to the selection. Shift-drag can only make a perfect rectangle selection. I'd like to be able to add stray tiles to that selection (for saving).

-a command to toggle the tiles to and from 8x16 sprite format. TileMolester calls this "row-interleaved". 8x16 sprites are vertical, but they must be stored horizontally (top half $00, bottom half $01 for example). It would be nice to be able to draw the sprites as they appear in-game (vertical), and then press a button to remap them to how the NES expects them to be stored:

Code: Select all

|----|----|
| A  | B  |
|----|----|
| C  | D  |
|----|----|

becomes:

|----|----|----|----|
| A  | C  | B  | D  |
|----|----|----|----|
-ability to edit more than one 8x8 tile at a time. Maybe have the CHR editor be the size of the current rectangle selection?

Palettes:

-hovering over a palette will display help text at the bottom telling you which color is which. Right now it is ambiguous which of the 4 colors in a palette are color 0, 1, 2 or 3.
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru »

I see two problems in these requests: non-rectangular selection would require complete redo of selection code and change look of the selection as well; ability to edit more that one tile at a time was discussed above in this thread, it is not decided yet if it would be comfortable.

Other requested features are relatively minor, I'll add them a little later.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Post by thefox »

MetalSlime wrote: -a command to toggle the tiles to and from 8x16 sprite format. TileMolester calls this "row-interleaved". 8x16 sprites are vertical, but they must be stored horizontally (top half $00, bottom half $01 for example).
-ability to edit more than one 8x8 tile at a time. Maybe have the CHR editor be the size of the current rectangle selection?
Why don't you simply use YY-CHR? It can display tiles in several different layouts (including 8x16). As I understand it, this is still primarily a nametable editor, and feature creep is to be avoided.

Btw, I would love to see a proper sprite/animation editor (a separate tool) if anybody is up to the task. :) Something where you can load a CHR file, build animation frames out of the tiles and export to some (maybe customizable) format. It could also import and optimize (remove duplicate tiles etc) a image file (with all of the frames), generating the CHR data and sprite layout data.
Wave
Posts: 110
Joined: Mon Nov 16, 2009 5:59 am

Post by Wave »

thefox wrote:
MetalSlime wrote: -a command to toggle the tiles to and from 8x16 sprite format. TileMolester calls this "row-interleaved". 8x16 sprites are vertical, but they must be stored horizontally (top half $00, bottom half $01 for example).
-ability to edit more than one 8x8 tile at a time. Maybe have the CHR editor be the size of the current rectangle selection?
Why don't you simply use YY-CHR? It can display tiles in several different layouts (including 8x16). As I understand it, this is still primarily a nametable editor, and feature creep is to be avoided.

Btw, I would love to see a proper sprite/animation editor (a separate tool) if anybody is up to the task. :) Something where you can load a CHR file, build animation frames out of the tiles and export to some (maybe customizable) format. It could also import and optimize (remove duplicate tiles etc) a image file (with all of the frames), generating the CHR data and sprite layout data.
The sprite/animation tool is what I was trying to create here:
http://nesdev.com/bbs/viewtopic.php?t=6177
Suggestions on output formats are wellcome :)
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Wave wrote:Suggestions on output formats are wellcome :)
Output formats should be as customizable as possible. In the case of sprite definitions, there are a few things I consider important:

1. the possibility to define an origin point for each frame, so that all coordinates are relative to that point;

2. selection between grid-based or sprite-based frames. The second option is good for complex frames which are not perfect rectangles or make use of sprite layering;

3. the option to select which fields are exported, and in which order. The selectable fields are things like: X and Y dimensions, X and Y offsets, tile index, attributes (palette, priority and flipping), number of sprites used, things like that.

IMO, this is one of those things that are hard to make right, like level editors. Every programmer has their own way of working, and it's hard to make a tool that will fit all.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Post by thefox »

Wave wrote:The sprite/animation tool is what I was trying to create here:
http://nesdev.com/bbs/viewtopic.php?t=6177
Suggestions on output formats are wellcome :)
The GUI seriously needs an overhaul. :) But I don't want to stray this thread any further off topic.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
MetalSlime
Posts: 186
Joined: Tue Aug 19, 2008 11:01 pm
Location: Japan

Post by MetalSlime »

One more tiny feature request:

-Have the nametable grid show attribute borders. The grid is crowded already, but you could make just the corners of attribute blocks look a little different. Or have a separate attribute grid that could be turned off and on like the other grids. Today I was trying to find an optimal place to draw a text box to the screen and I had to strain my eyes a bit and touch the screen with my fingers to find a place where the corners of the textbox would line up right with the attributes.
MetalSlime runs away.
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru »

The grid currently shows both tiles and attribute blocks (2x2 tiles), do you need it to show the attribute bytes as well (4x4 tiles)?
User avatar
MetalSlime
Posts: 186
Joined: Tue Aug 19, 2008 11:01 pm
Location: Japan

Post by MetalSlime »

Shiru wrote:The grid currently shows both tiles and attribute blocks (2x2 tiles), do you need it to show the attribute bytes as well (4x4 tiles)?
Yes, that's what I meant. A grid that shows the 4x4 attribute bytes.
MetalSlime runs away.
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru »

I've updated the tool to v1.3. Download link is the same.

New features are most of suggested earlier plus few bugfixes. Some of these are:

- V and Ctrl+V in the CHR editor were conflicting
- Load CHRs of any size of multiple of 16 (below 4K, of course)
- Palettes reorganized and has text hint for colors and entries
- Separate grids for tiles, attributes, blocks
- Forced extension for CHR save (previously it was possible to save something without extension)
- RLE packer had a bug, last attribute byte was always lost
- You can use Caps Lock to keep selection mode on
- You can select random tiles in the tileset using Ctrl and left/right click
- You can copy random selected tiles as sequence of tiles
- You can save selected tiles into a file
- If you trying to overwrite a CHR file, and it has different size, a warning shown
- Interleaving/deinterleaving of CHR data (for 8x16 sprites)
- Now you can see parts of neighborn tiles in the CHR editor and move to them by clicking on the edges (not as good as could be, but makes editing a bit easier)
Last edited by Shiru on Mon Jan 03, 2011 6:47 am, edited 1 time in total.
User avatar
picccca
Posts: 44
Joined: Wed Nov 24, 2010 12:51 am
Location: Finland
Contact:

Post by picccca »

Very good, I especially like these improvements:

- Palettes reorganized and has text hint for colors and entries
- Now you can see parts of neighborn tiles in the CHR editor...

although I personally liked the "smallness" of the old CHR editor.
Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru »

Minor fixes, the file is updated.
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

I'd missed the latest updates. Nice work Shiru.

I cannot tell you how much time this saved me while doing the interface for PR8.

:)
Post Reply