Firstly, I'd like to apologize for this late update. The past couple of weeks have been extremely busy for myself as I've been working on getting another game I'm working on (that pays the bills) ready for release, cyber chicken. When I refer to "Two weeks progress..." I am referring to the two weeks progress that were done after our last post. So what have we been doing since then? A lot of back end stuff, flow charts for combat, designing and discussing overall game flow and design, etc. Anywho, without further ado...
Two weeks progress...
These past two weeks have been incredibly productive over here at DPS Games and there are still plenty of things in the works that won't be included in this update. Between designing and developing the backed for the societies, factions, guilds, religions, characters, AI and setting up the world generation to create massive continents there is a lot going on behind the scenes. Now onto the stuff that I can show you...
I've made some massive improvements to the shader over the past two weeks, since we are using a fully custom lighting setup with shaderforge we can do a lot of cool things. Among these new changes/additions are....
Backlight/Fresnel Effect which takes into account ambient lighting and the light color and power.
Specular Color and Specular Masking, Still using the one 512x512 image system per material. Softness, which allows us to have light to bleed across the toon line, this looks great on softer things like skin and cloth. Vertex Shading "Suggestion" and Vertex Darkening, this is effectively an artist controlled toonified ambient occlusion that is done on the shader end, it allows us to define muscularity on characters bodies or wrinkles on their faces. Last but not least, we now have toon shadows, this is something that has been urking me for a while, but now we have nicely matched the shadows with the art style perfectly, I'm super happy with all of this!!!
Updated Character Animator
Something incredibly crucial to making a game "feel" right is making sure your animations properly convey what is going on in the world that might be unseen as well as making the characters feel real. Thanks to our awesome programmers Javier and Jereon, we are doing things like making characters lean when taking sharp turns, turning their heads to look the way they are going, and actively slowing their momentum, all of which reacts to the outside world physics.
Updated Character Bone Scaling
I take serious pride in this incredible bone scaling system that Sam has come up with in Unity. With the current setup we can effectively blend between races, have the characters breath (and react accordingly to the outside world), as well as in the future, transform (like into a freaking werewolf!!). Sam has also recently optimized the entire equip system by combining all the character body parts and equipment together.
A concern among Sam and I for a little while has been deciding way which we would represent the facial features of half breeds. Our old method was to swap out a head mesh, but we can't just have 500 head meshes lying around for every possible combination, especially if we want the player to have some control over what facial features they prefer. We have solved this now with some clever use of blend shapes, this is used to define femininity and age in the face as well. We also now use this for changing the torso to a female, this allows for the player to also choose their breast size.
Thanks to some clever shader programming and scripting by one of our extended team members, Brett, along with eyes that can look at world space objects, we also now have the ability to give the player faces emotion through sprite swapping, kicking it nintendo style.
What is a massive open world if you can't actually see that you're in a massive open world?! A not very cool massive world, that's what! I've been thinking of some different ways to handle this for some time, and for now our current solution looks great and runs quite fine as well. We simply have a secondary camera that renders a texture at the back of our main camera draw distance in real time. The secondary camera goes very far (currently 10km), the need for this is to stop zfighting issues on objects and shadows, and so far it is working perfectly!
Thanks for the read everyone! :)