Sprite Monkey

Member
Posts: 49
Joined: 2011.08
Post: #1
Here's a tool called Sprite Monkey I made originally for personal use but decided to release at a very low price.

If you are not using sprite sheets, no matter what tool you do it with, you should be. Sprite sheets help reduce memory for games. Just look at the properties of a single image. It's actual size is less then what is be used on your hard drive. The same thing happens in memory. So just imagine how much you are bloating the memory with your game if you are only using single images. To help reduce this effect, group them together in a sheet. Then just clip it at run time.

Anyway, here's the link. Enjoy! Wink
http://itunes.apple.com/us/app/sprite-mo...ls=1&mt=12
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #2
Seems like a less feature-rich version of http://www.texturepacker.com/
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #3
(Aug 16, 2011 05:08 PM)skyhawk Wrote:  Seems like a less feature-rich version of http://www.texturepacker.com/

Thanks for the criticism! But Sprite Monkey is a lot smaller and faster then TexturePacker. It also creates proper 8-bit and 4-bit images. Just did a test between the two creating a 8-bit sprite sheet. Here's the results...

TP - 201kb, did not properly remove the alpha channel, image size: 1024x512 (not sure why it doesn't automatically know the correct size)

SM - 49kb, alpha channel properly removed, 2048x512 (image at the correct size automatically)

If I missed something on removing the alpha channel in TP, let me know. I just figured when you select 8-bit, it should have automatically done it.

EDIT: It seems the lite version of TexturePacker doesn't export to anything but RGBA8888. Not a fair test then.
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #4
Ok, just did the same test as above but at 32-bit png images instead of 8-bit png images. Here's the results...

TP - 193kb, image size: 1024x512 (reduction in sprite sizes)

SM - 156kb, 2048x512 (no reduction in sprite sizes)

Sprite Monkey still wins even when the image is larger. Not only that but why is TexturePacker 117.2 MB? That's quite large for what it does. SpriteMonkey is only 479 kb.

EDIT: I did a second test for Sprite Monkey with the sprites reduced down like in TexturePacker and the file size was 149kb. Not much difference of the 156kb when Sprite Monkey was using original sprite sizes. So cropping the sprites edge to edge does do some reduction but not much. At least for Sprite Monkey anyway. File sizes are already small. Wink
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #5
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #6
It looks like TexturePacker is a Qt program so it probably has to bundle a crapload of runtime libs.

Scott Lembcke - Howling Moon Software
Author of Chipmunk Physics - A fast and simple rigid body physics library in C.
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #7
Critical features I consider missing:
* plist format (as I use this exclusively with cocos2d)
* Aliasing (when used with above, will reduce images even further for sprite sheets that contain duplicates)
* Command line (to automate the building process from raw to finished product)
* Ability to save a conversion (if I add more images to my folder, I want to basically rerun a saved setting, and reexport (ideally in my build process))
* auto-POT
* preview of the sprite sheet while I'm working on it (useful to know how large it's gonna be so I can plan accordingly)

A note about your demo: it would have been less annoying if you placed a watermark (semi-transparent) instead of an obnoxious image over everything, so I can barely even tell if it exported correctly (it covered up 2 out of 8 of my sprites).

Anyways, this is a good start. I think if you worked on some of the crucial features needed, you could probably even up how much you charge for it Wink
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #8
(Aug 18, 2011 06:12 PM)skyhawk Wrote:  Critical features I consider missing:
* plist format (as I use this exclusively with cocos2d)
* Aliasing (when used with above, will reduce images even further for sprite sheets that contain duplicates)
* Command line (to automate the building process from raw to finished product)
* Ability to save a conversion (if I add more images to my folder, I want to basically rerun a saved setting, and reexport (ideally in my build process))
* auto-POT
* preview of the sprite sheet while I'm working on it (useful to know how large it's gonna be so I can plan accordingly)

A note about your demo: it would have been less annoying if you placed a watermark (semi-transparent) instead of an obnoxious image over everything, so I can barely even tell if it exported correctly (it covered up 2 out of 8 of my sprites).

Anyways, this is a good start. I think if you worked on some of the crucial features needed, you could probably even up how much you charge for it Wink
Thanks for the response!

I made the watermarks like that because it's basically a demo showing what it's capable of doing. And to remove them it's only a couple of bucks. Really just protection for me in hopes to get buyers.

I have been thinking about some features but not too many. For right now this sprite sheet maker is for the person who thinks ahead, so to say. When I make sprites in my animation program, I know exactly what I want and how it will export. Then all I have to do is throw it in Sprite Monkey and make it into a sheet. Version 2, when it comes, may have an editor for layout. If so, then there will be an option to choose the editor or compact mode when the program starts. Just because I myself will have my images ready for what I want and have no need for an editor.

As for the plist, I will have to look that up.

Also, I think the price is fine. Even if more features were added, Sprite Monkey will stay cheap. I'm not trying to get rich. Just trying to do what I enjoy and make a little pocket cash. Wink
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #9
I just uploaded v1.2 on iTunes Connect. So it will be a while before it released. But it now exports a "*.smc" file. It is a comma delimited UTF-8 file. It should be easy to parse in any programming language. See example below. The example file is pretty small, less then 1kb.
Code:
;Sprite Monkey Coordinates, UTF-8
;Transparency, Sprite Sheet Name, Image Width, Image Height
Alpha,/Users/jbaker/Desktop/elf_run.png,1024,1024
;Image/Frame Name, Clip X, Clip Y, Clip Width, Clip Height
elf run 00001,0,0,256,256
elf run 00002,256,0,256,256
elf run 00003,512,0,256,256
elf run 00004,768,0,256,256
elf run 00005,0,256,256,256
elf run 00006,256,256,256,256
elf run 00007,512,256,256,256
elf run 00008,768,256,256,256
elf run 00009,0,512,256,256
elf run 00010,256,512,256,256
elf run 00011,512,512,256,256
elf run 00012,768,512,256,256
elf run 00013,0,768,256,256
elf run 00014,256,768,256,256
elf run 00015,512,768,256,256
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #10
Version 1.2 is now available on the Mac App Store! Wink

I'm not sure if there will be a v1.3 or not. I'm working on v2 which includes an editor.
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #11
I'll likely not be using it for Felinity, but I would definitely propose you also pimp your wares at http://www.cocos2d-iphone.org/forum/ I look forward to seeing what you'll do with v2
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #12
Thanks skyhawk! And v2 isn't definitely going to be different. I'll leave it at that for now. Wink
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #13
Here's also an unknown plus. Sprite Monkey creates true 8-bit images and retains its colors from transparent areas in the image.

Firefox seems to have an issue displaying true 8-bit images. It's like it has a haze effect over the image. Better to view with Safari. Or save the image to your mac and preview it.

Original Image, 32-bit, 20 KB on disk (16,895 bytes).
[Image: fishbowl.png]

Gimp, 8-bit, 8 KB on disk (6,539 bytes).
Some of the image is lost and there still seems to be an alpha channel. It should have at least created a black background.
[Image: fishbowlgimp.png]

Sprite Monkey, 8-bit, 8 KB on disk (5,115 bytes).
[Image: fishbowlsm.png]
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #14
Just released v1.3 on the Mac App Store! Sprite Monkey now exports 1-bit, 24-bit and Alpha Channel in a 8-bit png. The alpha channel export can be used for effects, such as masking, shadows, ect. if your game editor or coding support it. The 24-bit was requested by a reviewer on the Mac App Store and it can export a normal 24-bit or strip the alpha channel before adding a background. For the retro aliased edge effect. And of course 1-bit is for old school game design in black and white with very small file size.

I also have a quick release of version 1.4 coming to the Mac App Store approximately on May 16th. The cocos2D developers should enjoy that one.
Quote this message in a reply
Member
Posts: 49
Joined: 2011.08
Post: #15
Sprite Monkey v1.4 is now available! Now exports cocos2D code!
http://itunes.apple.com/us/app/sprite-mo...ls=1&mt=12

Features:
  1. Import a sequence of images (Image0001.png, Image0002.png, ect.) and create a sprite sheet or strip.
  2. Converts 32bit pngs to 1, 4, 8, 24 and 8bit Alpha pngs. With enhanced code and options for 1, 4, 8 and 24bit exports.
  3. Exports cocos2D code with CCSprite (still), CCSpriteFrame (animated) and support for Retina displays.
  4. Exports a comma delimited coordinates file (*.smc).
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Sprite Monkey Junior PoseMotion 0 842 May 9, 2014 10:29 AM
Last Post: PoseMotion