Process All Scenes in a Folder

In our game Academia, we employ a multi-scene architecture. We now have hundreds of scenes that are all additively loaded at runtime to compose the whole game. Sometimes, there are fixes or new features that requires changes to all scenes. Imagine doing this manually. Load scene, apply change, save scene. Repeat to hundreds. This is … Continue reading Process All Scenes in a Folder

Reducing Draw Calls Using a Simple Texture Packer

When we started making Academia, we didn't really plan out how are we going to manage our sprites. We just did the quickest way which was to make them individually and load them in the game. All of our game world sprites are stored in StreamingAssets. We load them dynamically when the game is run. … Continue reading Reducing Draw Calls Using a Simple Texture Packer

Reflection Series – Part 2: Harnessing Properties

One of my favorite features in reflection is the ability to know about the properties of a certain instance at runtime. This has helped a lot in making tools to aid game development. Basics The following code is the simplest way to iterate through the properties of an instance: PropertyInfo contains the information about a … Continue reading Reflection Series – Part 2: Harnessing Properties

Render Two Sprites in One Shader

Most of the character faces in Academia are generated in a procedural way. Each character has its own combination of face and head. Heads can either be hair or construction hat if they are workers. Both faces and heads are contained in a single texture so Unity may apply batching. To generate a character, you … Continue reading Render Two Sprites in One Shader