NES Screen Tool
Moderator: Moderators
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:
And, the ROM (with source):
http://www.mediafire.com/?saqov494ymhbq74
This is also my first "working" Famicom ROM.
(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.)
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:
And, the ROM (with source):
http://www.mediafire.com/?saqov494ymhbq74
This is also my first "working" Famicom ROM.
(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.)
- MetalSlime
- Posts: 186
- Joined: Tue Aug 19, 2008 11:01 pm
- Location: Japan
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:
-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.
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 |
|----|----|----|----|
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.
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.
Other requested features are relatively minor, I'll add them a little later.
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.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?
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:thefox wrote: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.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?
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.
http://nesdev.com/bbs/viewtopic.php?t=6177
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:Wave wrote:Suggestions on output formats are wellcome
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.
The GUI seriously needs an overhaul. But I don't want to stray this thread any further off topic.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
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
- MetalSlime
- Posts: 186
- Joined: Tue Aug 19, 2008 11:01 pm
- Location: Japan
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.
-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.
- MetalSlime
- Posts: 186
- Joined: Tue Aug 19, 2008 11:01 pm
- Location: Japan
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)
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.
- neilbaldwin
- Posts: 481
- Joined: Tue Apr 28, 2009 4:12 am
- Contact: