What is needed in a sprite Editor?
CassLan
Posts: 586
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 [noparse]:)[/noparse]
Am I missing anything?
Rick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
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 [noparse]:)[/noparse]
Am I missing anything?
Rick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
Comments
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.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
A sprite editor sounds good! What driver are you planning to support?
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
My brain just needed a break..editing a file with so many boundaries like a sprite is such a pleasure [noparse];)[/noparse]
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)
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').·
[noparse][[/noparse]Edit:] Attached 2 frame example...
Post Edited (trodoss) : 7/9/2009 4:55:08 PM GMT
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.. [noparse]:)[/noparse]
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
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 [noparse]:)[/noparse]
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)
Post Edited (CassLan) : 7/9/2009 5:13:15 PM GMT
"Sprite" seems to means a lot of different things to different people...so yes [noparse];)[/noparse]
@OBC:
If AIGeneric is redone by Potatohead, it should turn out great.
[noparse][[/noparse]Edit:] Hopefully that attachment will work better...or this one?
Post Edited (trodoss) : 7/9/2009 5:36:42 PM GMT
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 @ Warranty Void.
...but that is for another thread I suppose
[noparse][[/noparse]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
So thats what you mean by 1 bit per plane?...like·1 color?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
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···· ' .#...#..
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 [noparse]:D[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
So true about alterable width/height [noparse];)[/noparse]
I think in terms of old "Pattern tables" (fixed 8x8) with each block having color indexes....Not as portable as Bitmap for sure.
I can't start real work on this till preditor is done though.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Prop Forum Search (Via Google)
http://en.wikipedia.org/wiki/Onion_skinning
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Alec
Velden in N scale
@trodoss, yeah deffo [noparse]:D[/noparse]
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 [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·