Welcome to the 2014 Dev Diary for Children of Liberty! With production ramping up as we push with all our might and remaining mental willpower to the finish line, I figured the time was right to start letting you, our fans and followers, in on some of our development secrets. So without further adieu...One of the most talked-about aspects of Children of Liberty has always been its artistic style. We spend a lot of time in Photoshop, getting every last detail right. In this first behind-the-scenes look at Children of Liberty for 2014, I'm going to take you through a bit of what goes into bringing the art from Paper to Unity.
A sprite in Children of Liberty averages between 6 and 20 frames, depending on our needs. All animations start on paper, and are then scanned, colored, and cleaned in Photoshop. Bringing a sprite into Unity is a fairly easy process. We use the SpriteManager2 toolset, which allows us to import our animations into a timeline and save them on a sprite sheet. While we did experiment for a bit with the new Unity2D tools, it has some limitations that SpriteManager doesn't. Once an animation is imported, it is applied to a custom material which allows for transparency and shadows while visible to the camera, or is drawn as a solid color when behind an object. That specific animation is called in the code when needed. As of writing, Children of Liberty has well over 1500 frames of hand drawn animation, and will likely hit 2000 by the time it's done. Scattered around the environment are static sprites. These are brought into the game the same way as animated sprites, but don't need any code. We use these sprites for building decorations, windows, doors, pickups, even fire and other special effects. A static sprite can be one or many frames, and they add a lot of detail to the levels.
Texturing the world of Children of Liberty is trickier than it sounds. While Unity does feature all the bells and whistles of next-gen game development, no texture in Children of Liberty gets more complicated than a Diffuse channel. This means that a texture is imported as-is: no normal maps, no specular highlights, just the color. This helps maintain the game's 2D look, even in though the game is built fully in 3D. In 2013, we adopted the ProBuilder toolset for our level design. ProBuilder allows us to create simple 3D shapes, modify them at will, and texture every side individually; along with dedicated UV, scale, and rotation controls per side. This means we can focus on creating single textures and materials rather than worry about UV mapping, and any time we add an object to a scene, we can texture it however we like or change its texture on the fly. It has immensely sped up our level design iteration. Make sure to check it out at www.sixbysevenstudio.com
The final aspect of the art is backgrounds. It's only recently that we decided to push the backgrounds farther than we ever had. Originally the backgrounds had been been quick gradients with the city modeled in the distance. Now our backgrounds are now hand painted, with the landscape and the city added in. The benefits to this are manyfold. For one, we finally have skyboxes we are proud of, which in turn push our lighting and shadows much further than we had before. Second, by not needing to use our building models in the background, we free up draw calls for the actual level, which is a lot easier on any machine running the game. Finally, they just look better than what we had, and have already begun using the new backgrounds in-game, as well as in our marketing.
Once the sprites, textures, and backgrounds are all brought into Unity, we add the lighting to bring it all to life. We have to be very strategic with our lighting, since we are striving for historical accuracy. Boston was a very dark town in 1775. There were no street lamps, just candles/lanterns, and the majority of the game takes place at night. What this means is we can't really do any mystical green lighting, or make any area too bright. However, for the sake of visibility, we can't have any area too dark either. Our goal with lighting is to make it more useful than stylish, much as it would have been at the time, and not let our ambient light get so dark that players can't find their way through the game. Once we have finalized our lighting, we bake it in and the level is done. Many lights still are used for realtime shadows, especially the directional lights which take the least processor power of any of the light types, but we have started baking most of our lights in for the sake of framerate.
The final results are dramatic and somehow it all comes together. We're always pushing the limits of what we can achieve, what Unity can do, and what we think a Next-Gen Indie Game should look like. This game is quite a beast to tame, but we're finally nailing down what it takes to tame it from an aesthetic standpoint, and even from a technical one. In the next update, I'll go into some details about just a few of the technical tricks we've achieved in Children of Liberty. For instance, what is the significance of the Red and Blue Lines running through every level?
Stay tuned and you'll find out.