Things have been going smoothly again this week. We finally got our american business bank account, so this means another step in the legal side of things has been done before we can make the Kickstarter.
Game wise, we are still touching up the game for the trailer. Here’s a few things we did this week:
Experimented with a tool that comes with Unity-Pro, the Static Batching Utility. In an attempt to tame the draw calls which have gone rampant across our entire game, we decided to see how the Static Batching Utility could help us. It’s an internal tool in the Unity engine designed to manually tell the engine to combine draw calls for specific objects that have the same materials (terrain in our case). Draw calls occur before every frame of the game, and consists of the CPU sending the required information to the GPU so that it can draw the objects. You can imagine this as a painter who has to dip his brush in his color palette to be able to draw a certain color. If you draw a series of objects that have the same material, you could theoretically dip your “brush” only once for all of them. We call this “draw call batching”. Unity3d does this for you automatically unless the objects are too complex. The problem is our objects are very VERY complex. The static batching utility lets us tell the engine that the objects can be batched even though they are too large to be analyzed.
Practiced our shader programming skills by re-writing and optimizing a couple of custom shaders. We optimized the skybox shaders and realized we didn’t gain a lot of FPS, so it seems like they were pretty lightweight already. We also stumbled upon a very weird bug, in which a built-in shader would apply very strange colors on one of our characters. We found out that the shader read vertex colors on the mesh, and that one of our 3dsMax skinning tool wrote some information in the vertex colors of the mesh and it somehow got exported. We simply rewrote that shader, and next time we export, we’ll delete the data.
Wrote a text parser that reads text files so we can write the stats of our units in a text file. This is very useful for example, to change the hit points of a specific unit type on the fly.
Spent some time adding particle effects on a lot of game events. This makes those events a lot more satisfying. For example, when a Bricktron hits an earth block with his pick, a particle effect throws some dirt particles in the air. This feedback is essential to the game, if the Bricktron swings his pick or axe in the air and nothing happens, how would we know if he missed?
Progressed in the filming of the trailer. The most complicated scene is mostly done, and for the remaining scenes, they are either very short and easy to film, or there’s a bug that needs to be fixed before we can film it.