Today, we are going to explore ways to create and iterate on the content assets of your game. This includes level designs, textures, shaders, sounds, music, particle systems, and anything else that makes up the look and feel of your game.
Here are two tips to make art faster:
The best way to start building your world is to make a greybox, or “block mesh” of a level, a simplified representation of the eventual shapes the level will take. Once the locations of large objects and the flow of the level’s movement “feels right,” then detailed artwork can be swapped in.
Before texturing or lighting, working on the rough greybox of level design allows you to move large objects around, test the movement flow, and tweak distances between things. Make big layout changes during the greybox stage and you avoid the hassle, encouraging quick iteration because it’s still easy to do before the world has been made to look beautiful.
Prefabs are everything. They empower you to define a GameObject as the template for a bullet or enemy, for example, and then spawn hundreds of copies around your game levels. When you edit the prefab, every copy also changes.
Some developers only use prefabs for objects that need to be duplicated en masse, but it can be very handy to make almost everything a prefab, even objects for which only one copy ever exists in-game. (Static level meshes might be the exception.)
Why? Because you can work on them in smaller “staging” scenes. This comes in handy when tuning performance. It also helps when editing especially complex levels where it is too easy to click nearby objects. This allows you to focus on one thing, with perfect editor framerate and fewer mis-clicks.
Breaking complex scenes into staging areas also simplifies team collaboration, since GitHub merge conflicts are very common in large Unity scenes. The technique outlined above avoids this by allowing people to work in separate files more often. Imagine, for example, a racing game level. An artist can work on the layout of the track scene while another dev works on the physics for the car in a temporary staging scene. The level makes reference to the car prefab, so the new changes propagate during development—with fewer merge conflicts, since neither person was editing the same file on disk.
To read all my tips on how to work faster, code faster, and make art faster, download this free eBook that I wrote - Game Jamming in Unity: Tips and Tricks to Work Faster.
Christer Kaitila has been a freelance game dev since 1993. He has shipped dozens of games, and mentors at a game development club. He created One Game a Month and has published two other gamedev books.