PLEASE NOTE THAT THIS GAME WAS MADE IN 3 DAYS – HASTY DECISIONS WERE MADE.
This is a 2 player party game, where the players are competing to build a nuclear rocket out of shared resources, space junk.
I took it upon me to develop the look of the game, and I wrote the shaders. Everything in the game has a custom shader.
We ended up winning the ARM prize for best Android game!
1) FLAG SHADER
There are a few visual cues to indicate whose turn it is.
One of them is a waving flag. Because we were developing for a tablet, we couldn’t really work with any simulations or blendshapes. Instead, I wrote a shader that would simulate the waving of the flag – it’s all done in the vertex shader.
In Blender, I made a little rectangular grid, with one set of vertex colors, filled with random colors. These colors determine the offset and speed of the waving animation. Using some math, it makes for a pretty convincing waving flag animation.
2) DRAWING THE FLAG
Initially, the game was going to be the USA vs the Soviet union, although with the roles switched. After some play testing, this aspect was dropped, and because we were quite far ahead on schedule, I decided to take it upon me to develop some kind of flag-drawing mechanic at the beginning of each round.
The system uses Unity’s default particle system, that draws a trail based on movement.
Colors can be altered by clicking the buttons, and they are actually sampled from the button’s color, giving artists a nice way of setting colors.
A second camera then captures the scene, sans UI, and stores it in a render target.
Unity’s garbage collector was keen on throwing away these render targets sometimes, so I had to perform a few hacks to ensure that it was kept for the next scene.
This rendertarget is then used as the texture for the flag.
If Unity did delete the rendertarget, it would result in the weirdest glitches, where it would sample different textures at different mip-levels. Up close it would be the moon, further away a space part, and further still a UI element. It took quite a wile to figure that one out.
We knew we wanted some kind of starfield in the background, but texture compression is not too keen on small details. We ended up using particles instead, in combination with a vague background image for the nebulae. This ended up looking much nicer, and wasn’t heavy on the system at all.
I did much more on this project, but the most interesting stuff is listed here. It was a fun project to work on, the on-site gamejam was a great experience.
These friends were my teammates during our Cambridge adventure: