Let the final semester begin
Although I intended to write weekly reflective posts in regards to work, I find myself two weeks deep and without any posts. The last two weeks have been spent experimenting with visual and audio elements. There were several tasks that I wanted to attempt before full development began to avoid they becoming a potential issue later on, these are primarily in regards to shader programming, shaders effect how the engine graphically renders the game. Primarily I wanted to start programming a light shader, or in actuality, a material shader that changes based on the light hitting it. I wanted to create a cell shaded look that would break the colours into bands based on light. This actually turned out quite well, I successfully managed to create the shader and apply variating colours to it, breaking the values down to base, edge lighting and specular creating 3 bands, applying this to models and tweaking the values allowed me a great deal of modularity.
After working on this I moved over to programming grass shaders, I had an idea for using a normalised global space for mapping grass waves, I spend several days working on this idea and I found useful syntax help from Linden Reid’s blog however after reaching a point where I couldn’t loop the position and although I understood the trigonometric function I was working on it didn’t work how I wanted it to although the code ran perfectly which confused me. After attempting to solve the issue I abandoned this idea for creating grass shaders and set to work from scratch using a far more basic approach simply using a vertex offset and a constrained y value to keep the grass in place at the bottom and sway at the top. Although I still want to attempt a water shader for our first location I will leave this for another time.
Moving on to 3D models, I started work on creating a building with a very good poly count, my initial 3D concepts totaled around 6,500 overall after Unity converts the model to tris. This isn’t a realistic poly count and I wanted to lower it significantly. I worked on another house model from the same location and while attempting to match the detail to a certain level, managed to lower the count to 1,200, the issue with the poly count is that as we don’t use high detail normals and textures to add detail as we’re using block colours, the poly count can’t really be any lower as the buildings will start to look vacant.
I also tested some music samples this week, primarily getting an idea for the final piece of music, I started by getting an idea for the melody and how this would translate into chords, I then looked at these chords and mapped the transitions from lonely, sad to happy, to finale. This gave me a good idea on how it would possibly sound, I have yet to share this with my team.
Overall I’ve enjoyed these last couple of weeks experimenting with different visual and audio elements, I know this was time that I could have been productively developing assets. I believe this experimentation was important and gave me a better idea for how I might create visual elements as well as inform the audio tracks for our outsource. From this week onwards I’ll be working on prototyping levels in 3D for testing, this will be an iterative process and will be added to and changed over time.