introducing ressom rewind!
We are going to post every other week (assuming we can keep up!) a series we call "Ressom Rewind". The intent is to provide tips, lessons learned, tricks, etc to save you some time. These are things we would have done differently if we could rewind time on our projects. A lot of them will be beginner focused and things we are even slightly embarrassed to admit! However, everyone starts somewhere and most of us begin with very little mobile development (or even game development) experience. We are happy to sacrifice our pride in hopes to help prevent other new developers from repeating our mistakes!
Ressom Rewind #1: Sprite Sizing
This is probably the most embarrassing and most obvious mistake we made early on. Since we do a lot of pixel art, there is an innate benefit that it is "infinitely" scale-able as long as you use point filtering. When we first started building and testing Spire Squire, we ran into a problem with the application size ballooning. One thing to note about pixel art, the nature of the assets (hard edges) makes them tough to compress. The compression algorithms will smooth out the edges leaving a pixelated image with a slight "blur". Thus we were stuck with these massive sprite sheets with no compression.
Towards the end of our development of Spire Squire, we started to attack this problem. We decided to take advantage of the fact that we do pixel art and started scaling all of our assets in Unity post import. What this means is that we would draw each asset at the "pixel" scale. After the sprite sheet was imported into unity and the sprites were cut up, we would scale them using unity's Transform "Scale" property. This worked beautifully and massively reduced our application size for very little effort. The most important thing was to know from the designer which scaling he/she used. For us, we did "x3: scaling on everything (allowed us to simply set all scaling properties to 3 in unity).
Here is an example of what I mean. Our sprite sheets for Spire Squire initially looked something like this (I reduced the actual image to fit it on the screen!):
The image size is 1024x1024 which when imported to unity will look like this:
Notice that this one sprite sheet will require 4 MB of storage!
If we instead scale all of our sprites in Unity, we can drastically reduce this size. This technique leads to sprite sheets like the following:
Which when imported into unity will look like this:
These are the same assets but the size of the sheet has been reduced to 0.5 MB!
While there are other optimizations that will help bring your game size down even more (sprite packing, reducing color palette, etc), this was a really simple one that we overlooked when we first started. It is a bit embarrassing looking back, but honestly when beginning mobile development there are so many things to pay attention to it is easy to overlook some of the more basic items. Our initial goal (like yours probably is) was to get something working. Afterwards we started looking at ways to do things better and this was the one that minimized our app size the most. Again, this is a trick that probably works best because we primarily use pixel art. For assets with gradients we separate those to a different sheet and do not scale those as aggressively.
Hopefully you guys enjoyed our first Ressom Rewind! We will try to bring you random lesson's learned periodically so check back often. Some of them will be simple or obvious like this one, but others will be more involved and technical. We don't claim to have the best workflow or the most advanced tools, however we want to share our strategies and lessons learned so that other new indie developers can avoid some of the mistakes we made. In general, we try to write our own code and do not rely on other's tools. Thus some of what we do can probably be replaced with a common "tool". We strive to understand our applications as much as possible which drives us to write our own code. This is probably not the most efficient way to program, but it is the path we have chosen!
Super Ressom at playcrafting NYC Spring Expo!
We had an awesome time at the Playcrafting NYC spring expo! It was great seeing people come out and get excited about Super Ressom. Follow us on twitter for the latest updates!
We're proud to show off what we've been working on lately. Super Ressom is a simple little mobile game where you have to save your citizens from the incoming missiles! Can he save the city!!??
Just making the first post on our new site! We will continue to add new features to this site. Some of the things we are planning to post are: development blogs, design blogs, tips and tricks for our mobile games, Leaderboard updates, and information on games in development! Be sure to check back often to keep up-to-date on what Ressom Studios is working on!!!
Thanks to everyone that continues to support us!