Once upon, Johnny Ive, Apple’s chief designer, was asked what does it feel to be a designer for the best company in the world. “I don’t know,” he replied, “I’ve never worked for re::public.”
The overwhelming majority of 2D projects use sprite graphics and perhaps there is no such project where these sprites would not be combined into atlases. In some teams, the artist can assemble them by simply joining the newly rendered frames; in some, third-party software is used for this. Our team used both methods, and sometimes even the third: when it was required to redraw one or two frames in the finished animation, programmers inserted them to the sprite list already in use.
Let’s get it started
This state of affairs cannot be called optimal in any way, so it was decided to fix it. The team discussed the architecture and the required functionality, the programmers bought beer, hooked up the hookah, and the work started.
In a hurry, a program was made that creates atlases and adjusts their sizes to a multiplicity of 4: for better compression in Unity3D, which was used for development. But we still had a little beer left and so, as real scientists, decided not to stop there.
There is no limit to perfection
The transformation of the utility into a plugin for Unity threw up a lot of problems: the engine’s documentation in some sections leaves much to be desired, examples of working with the editor’s GUI are almost non-existent, the engine lacks its own scaling algorithms.
Our programmers took a deep breath and went straight to the astral plane. They returned from there with a whole bunch of goodies: our plugin learned how to create atlases and animations, setup pivots in frames, and also minimize the file size for various platforms. With the Lord’s help, we even added scaling to the plugin (sic!). For a long time, our team was finalizing some required reassembly, adjusting it to the needs of the artists. In addition, a lot of time had to be spent on optimization and writing documentation. All this delayed one sweet moment…
The release moment
After researching the market, we were pretty horrified: there are many similar plugins in the Unity Asset Store. How do we can stand out from their background?
First, we came to the conclusion that we had done well enough to make three dollars apiece. The lowest price on the market for the declared functionality – wat can you do about it, desu?
Secondly, advertising! In the course of a long debate, a godlikely concept was born: what if we do approximately what Apple does, only without having either the money, or the technology, or the skills? Thus, after many long nights, our video was born:
What is the bottom line?
As a result, we automated the work of our artists, studied a lot of scaling algorithms, and empirically figured out some of the most dense features of Unity.