PDA

View Full Version : What is needed in a sprite Editor?



CassLan
07-09-2009, 10:21 PM
Hey Graphics folks,

What is needed in a sprite editor?

Sprite File Should contain:
Sprite Frames (Pixel Color Info Rastered)
Sprite Dimensions
# of Sprite Frames
Sprite Palette

Sprite Editor Should be able to:
Edit the Sprite File
Edit the Palette
Play Animated Frames
Add/Remove Frames


I have wanted to get into graphical stuff but have not really done so yet, so please excuse the newbness of the question :)
Am I missing anything?

Rick

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

whicker
07-09-2009, 10:38 PM
copy and paste between frames.
a palette for different bit depths, that can be saved and recalled.
a way to export to various output formats, including a CSV string so it can be put directly into a .data section.

CassLan
07-09-2009, 10:49 PM
I got most of what you said, but not following on "a palette for different bit depths", is that an option for different palettes for different frames?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

Oldbitcollector (Jeff)
07-09-2009, 10:56 PM
/me grabs the whip and points at Preditor.. :) <SMIRK!>

A sprite editor sounds good! What driver are you planning to support?

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Visit the: The Propeller Pages (http://www.warrantyvoid.us/tiki-index.php?page=Propeller) @ Warranty Void.

CassLan
07-09-2009, 11:06 PM
@OBC - HAha I know I know.
My brain just needed a break..editing a file with so many boundaries like a sprite is such a pleasure ;)
Drivers? well, the screen cap you see is using TVText Half height, and the blocks are space characters.
It pulled the data from a CSV file.
That does pose an issue about being able to see the sprite actual size while working on it, which I assume is very helpfull.
I'm not really sure, I was just foolin around while on a break from preditor, just gathering some information.
AIG can does pixel graphics and text right?

Rick

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

trodoss
07-09-2009, 11:49 PM
CassLan said...

AIG can does pixel graphics and text right?

Rick
AIG = AIGeneric?и
Technically it is a 1bpp (1 bit per plane) graphics format of 8x8 characters (128).и The 'graphics' would be the font itself.и

For yourи"standard" 16x16 "sprite"иin 8x8, you would have to dedicate 4 characters per frame (without reuse certian 'characters').и

[Edit:] Attached 2 frame example...

Post Edited (trodoss) : 7/9/2009 4:55:08 PM GMT

Oldbitcollector (Jeff)
07-09-2009, 11:56 PM
Rumor has it (again from UPEW, and from the horses mouth this time) that there
will be an update to the engine which powers AIgeneric.

We should be able to handle things like sprite much better, and certainly color.

/me poke Potatohead with a stick.. :)

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Visit the: The Propeller Pages (http://www.warrantyvoid.us/tiki-index.php?page=Propeller) @ Warranty Void.

CassLan
07-10-2009, 12:08 AM
I'm a little lost on the terminology or at least I think I am.
A Sprite as I think of it is a Collection of pixels with a distinct # of rows, columns & colors.
People put multiples of these together end to end to make what? (I'm calling it a Frame).
And the animation comes from multiple frames flipping through...or do some refer to the whole animation as a sprite?
So if a smileyface animation has 6 frames, 4 sprites per frame = you need 24 sprites yes?

I think I know what you mean by drivers now
I was just going to write something to edit pixels..preview them animating and output to certain formats like whicker was saying, for DAT and stuff, (Although I think loading from SD inbetween levels would be a great way to save space and have loads of different animations)
I wasn't planning on writing the drivers to read and use the sprite data in game...thats for Potatohead & OBC to do :)

I can have it output in whatever format is most convenient though, we just need a standard format...and if that already exists...my bad.
But even several formats would be usefull...like if you spend all this time creating the artwork and formating the data of it for your game...then you have an AHA moment and comeup with a better way to read the data in your game...you could just open the sprite up again in the editor and save it in a different format for your new needs.

@trodoss- Yep I meant AiGeneric when I said AIG. I can see the name of the attachment..but no link to view it.

Rick

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

Post Edited (CassLan) : 7/9/2009 5:13:15 PM GMT

trodoss
07-10-2009, 12:31 AM
@CassLan:

"Sprite" seems to means a lot of different things to different people...so yes ;)

@OBC:

If AIGeneric is redone by Potatohead, it should turn out great.


[Edit:] Hopefully that attachment will work better...or this one?

Post Edited (trodoss) : 7/9/2009 5:36:42 PM GMT

Oldbitcollector (Jeff)
07-10-2009, 12:34 AM
trodoss said...
@CassLan:


[Edit:] Hopefully that attachment will work better.


Nope, try putting a readme.txt in with it in a .zip file.
This forum doesn't handle tiny files very well.

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Visit the: The Propeller Pages (http://www.warrantyvoid.us/tiki-index.php?page=Propeller) @ Warranty Void.

trodoss
07-10-2009, 12:36 AM
Ok, trying it again...

trodoss
07-10-2009, 12:39 AM
Oldbitcollector said...
/me grabs the whip and points at Preditor.. :) <SMIRK!>




/me grabs whip and points at PropDOS ;)

...but that is for another thread I suppose

[Edit:] /me points at self and says, "Hey, aren't you supposed to be finishing up that game you started?" <sigh!>
Not enough hours in the day.

Post Edited (trodoss) : 7/9/2009 5:44:44 PM GMT

CassLan
07-10-2009, 12:43 AM
LOL ok trodoss I got to see that image,
So thats what you mean by 1 bit per plane?...likeи1 color?



http://webtools.cassidydevelopment.net:6666/boss_3_1.bmp

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

trodoss
07-10-2009, 12:52 AM
Yep, that would be it ;)

In the definition of the font, the main character looks like the following 8x8 characters where 0=blank, 1=drawn pixel:

иииииии byte byte %00000000ииии ' ........ $03
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %11110000ииии ' ####....
иииииии byte byte %00001000ииии ' ....#...
иииииии byte byte %01010100ииии ' .#.#.#..
иииииии byte byte %11101100ииии ' ###.##..
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %10110010ииии ' #.##..#.

иииииии byte byte %00000001ииии ' .......# $04
иииииии byte byte %01111011ииии ' .####.##
иииииии byte byte %11110101ииии ' ####.#.#
иииииии byte byte %00000001ииии ' .......#
иииииии byte byte %00100010ииии ' ..#...#.
иииииии byte byte %00110000ииии ' ..##....
иииииии byte byte %00010000ииии ' ...#....
иииииии byte byte %00101100ииии ' ..#.##..

иииииии byte byte %00000001ииии ' .......# $05
иииииии byte byte %01111011ииии ' .####.##
иииииии byte byte %11110101ииии ' ####.#.#
иииииии byte byte %00000001ииии ' .......#
иииииии byte byte %10010010ииии ' #..#..#.
иииииии byte byte %10011000ииии ' #..##...
иииииии byte byte %00110000ииии ' ..##....
иииииии byte byte %00000000ииии ' ........

иииииии byte byte %00100100ииии ' ..#..#.. $06
иииииии byte byte %00100010ииии ' ..#...#.
иииииии byte byte %00100001ииии ' ..#....#
иииииии byte byte %00010000ииии ' ...#....
иииииии byte byte %00000001ииии ' .......#
иииииии byte byte %00000011ииии ' ......##
иииииии byte byte %00000010ииии ' ......#.
иииииии byte byte %00001101ииии ' ....##.#

иииииии byte byte %00110100ииии ' ..##.#.. $07
иииииии byte byte %00010010ииии ' ...#..#.
иииииии byte byte %00011001ииии ' ...##..#
иииииии byte byte %00000110ииии ' .....##.
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00000001ииии ' .......#
иииииии byte byte %00000011ииии ' ......##
иииииии byte byte %00000101ииии ' .....#.#

иииииии byte byte %00100100ииии ' ..#..#.. $08
иииииии byte byte %00010010ииии ' ...#..#.
иииииии byte byte %00001001ииии ' ....#..#
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00000001ииии ' .......#
иииииии byte byte %00000011ииии ' ......##
иииииии byte byte %00000101ииии ' .....#.#

иииииии byte byte %00000000ииии ' ........ $09
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00000110ииии ' .....##.
иииииии byte byte %00001110ииии ' ....###.
иииииии byte byte %00011010ииии ' ...##.#.
иииииии byte byte %00110000ииии ' ..##....
иииииии byte byte %00100011ииии ' ..#...##
иииииии byte byte %00100100ииии ' ..#..#..

иииииии byte byte %00000000ииии ' ........ $0A
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00000000ииии ' ........
иииииии byte byte %00001100ииии ' ....##..
иииииии byte byte %00011010ииии ' ...##.#.
иииииии byte byte %00110000ииии ' ..##....
иииииии byte byte %00110011ииии ' ..##..##
иииииии byte byte %00110100ииии ' ..##.#..

иииииии byte byte %00000000ииии ' ........ $0B
иииииии byte byte %00011000ииии ' ...##...
иииииии byte byte %00101000ииии ' ..#.#...
иииииии byte byte %00101100ииии ' ..#.##..
иииииии byte byte %01000110ииии ' .#...##.
иииииии byte byte %01000000ииии ' .#......
иииииии byte byte %01000011ииии ' .#....##
иииииии byte byte %01000100ииии ' .#...#..

Baggers
07-10-2009, 12:54 AM
Hey Rick,
Alterable Sprite Width and Height is a MUST! lol
What might be a good solution also, is to make your app do 256 colour sprites, that way, it won't matter how many bpp they are, they all get edited the same way,
And just have different importers and exporters, that handle spewing them out to their own formats, like spectrum sprites 1bpp left to right pixels would be bits 7-0, 15-8, etc. or a new modified spectrum driver I've done for a game I'm working on in what little spare time I get, is 1bpp, and bits are 31-0, for long access, and easy rotation for fast X pixel positioning.

Save 8bit BMP :D

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/иhome of the PropGFX Lite

и

Kye
07-10-2009, 12:58 AM
When I finish my file system driver I was thinking about making a simple program that allows you to use the mouse to paint on colors for a sprite and then save that to the disk as a bitmapfile and as a file compatible with my graphics driver for import.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,

trodoss
07-10-2009, 01:01 AM
@Baggers,
So true about alterable width/height ;)
I think in terms of old "Pattern tables" (fixed 8x8) with each block having color indexes....Not as portable as Bitmap for sure.

CassLan
07-10-2009, 01:04 AM
Baggers, thats what I was thinking...edit it in an easy to use way...then save it whatever way would be needed.
I can't start real work on this till preditor is done though.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Prop Forum Search (Via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)

Basil
07-10-2009, 03:49 AM
Not so much a requirement, but a neat feature would be onion skinning :)

http://en.wikipedia.org/wiki/Onion_skinning

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Alec

Velden in N scale
(http://veldeninn.blogspot.com/)

Baggers
07-10-2009, 05:00 AM
Rick, yeah, keep it simple, one editor fits all then, and you don't have to do bit manipulation with ALL variations of bit formats/layouts etc, will save you headaches later, not to mention the increased filesize :D you could even have the input/output files done as overlay'd objects, ( isn't there an object loader somewhere about the forum? ) it'd be a bit like a DLL then lol, or if that's too hard, you could have a single COG that is compiled into a binary program, then your app loads it into a cog, and points it to the sprite details, ( hub-ram src, target buffer, sizes, etc. ) and people can then add their own converters, which does the conversion, and returns the filesize, your app then just writes the data out. :)

@trodoss, yeah deffo :D


oh, and Rick, 1bit per plane is two colours eg transparent + 1 colour, 2bpp = transparent + 3colours, 4bpp = transparent + 15colours, 8bpp = full 256 colours

oh, and Basil, good idea on onion skinning, that's always good for doing animations,
Rick, if you need any pointers on doing onion skinning, let me know :)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/иhome of the PropGFX Lite

и