Disco Dave Devlog / Week 2
Big news this week for our upcoming indie mobile game Disco Dave!
Calin, joined Raluca to assist with the characters design, while Raluca now is working on the environment designs of the game.
Along with Calin, came MagicaVoxel, a free, open source editor for creating voxel graphics. Its ease of use, combined with how lightweight it is, make it the right tool for the job on Disco Dave, and maybe every other voxel game out there. Check it out if you are into #voxels.
Catalin joined the team in order to organise the project, helping with programming, and game design decisions. A truly valuable addition to the team with his experience on our previous game Asgard Run [iOS/Android]. The first expected issue was
The first expected issue was the amount of shaders and special effects used in the prototype, causing a lot of optimization problems for mobile devices.
Bogdan: “A cool trick we want to showcase is that of the disco ball. In the prototype phase we simply had a bunch of materials assigned to groups of voxels, each with its own colour. From there, we just processed permutations on that set and simply transitioned smoothly from one color to another, creating a unique disco ball-like fake-shine effect.
To get around the extensive use of materials we created a custom small noisy texture containing all the colors of the initial palette and scrolled the texture’s UV coordinates. And this is where things get interesting.
Instead of point texture filtering mode (which is something you usually do when working with pixel art and such), we switched to bilinear. This change made the UV coordinates between pixels behave like gradients, giving us an indistinguishably similar result we had with our first technique.
Initially, we tested the game with the bloom post-processing technique offered by Unity (the optimized version from the standard assets pack). But the results were pretty troublesome, involving lower frame rates, fast device overheating, and so on.
Also, there were game objects we wouldn’t necessarily want to be affected by the bloom, whereas post-processing effects do precisely the opposite. We wanted something colorful, animated, and in the same time be able to express that retro, neon light look-and-feel. In short, we wanted to go after something like Outdrive:
To achieve it, we split the floor texture into two parts. The first was the back layer, which is basically a static texture of the floor as a whole, together with dashes of white light.
The second part is basically a gradient texture, that we scroll through a texture mask. And the mask blocks everything except the glow itself, which by composition now gets coloured with the animated gradient. This –together with picking the right colours for the mood — gave us the end-result.”