Dev Blog 10: Asesprite

The summer is flying by and I've spent some of that time on vacations with my family. There has been some progress though too!

Early on I spent time getting to know a new graphics tool called Asesprite.  It's a open source graphics tool that is primarily designed for 2d sprites and animation.  I found that it was pretty useful for animating, as you could easily see the movement of your sprites in a dedicated window and easily tweak frames and the art itself.  Aseprite doesn't come useable right off the website.  You can pay the developer a small fee to get a installer or build the application yourself.  I chose to build it myself, but had to jump through a number of hoops to get everything working.  I found a number of tutorials and had to wade through a few issues to get things working.  So overall it probably would have been worth the price out of convenience.   The tool itself is pretty handy but there are a couple annoyances with it as well.  

The best thing about it is that it totally designed for sprite art such that there are helpful sprite specific functionalities built in that even photoshop doesn't support.  

A couple examples:

  • With photoshop, if you rotate a sprite, after applying the transformation, the pixels will auto blend, causing smeared pixels. Asesprite will not blend and tends to produce nicer outputs.
  • Using the pencil tool, you can check a box to assist in drawing sprites.  It helps reduce accidental pixel clumps or jagged edges when doodling around.
  • Built in texture atlas and sprite sheet functionalities
  • Probably many more I'm not even aware.

There is also additional animation help, such as various frame controls, playback modes, and onion skinning.  

There are a couple issues that I have with it however.  But please take these as minor gripes, as the software is free, so there isn't too much to complain about really.  First and foremost, the UI is not good.  Instead of using a normal desktop application or form-based interface, the developer rolled his own sprite based window with pixelated buttons and cursor.  Being a fan of pixel art, this doesn't bother me too much, but I'm curious why this path was chosen.  Perhaps just a fun experiment? Sometimes the screen glitches out when used on my second monitor and the entire window needs to refresh it's UI, which I'd expect is related to the custom window and buttons. The second gripe, which actually causes issues for me is the selection tool.  I'm finding often that I draw a box around the area of the image I want to edit, but a miss a pixel or two. Also the way to add or negate pixels from the current selection seems different enough from photoshop that I keep incorrectly selecting or deselecting things. Perhaps I just need to get used to how it works, but switching between photoshop and asesprite makes it a little more difficult to become comfortable with it.  It should be noted that the default hotkeys are pretty similar to photoshop so there isn't much learning there and even if there were issues, you can modify them in the configuration menu.

Overall I found that aseprite was great for sprite animation and decent enough for normal sprite work.  It contains a lot of expected features that other 2d sprite editing tools don't even support.  I found myself, whether out of habit or convenience using photoshop for standard sprite edits but I think I'll continue to give it a shot when creating my animations.