The day of the hand was today, so myself and my housemates did an all nighter to add the finishing touches to our AGT projects, and despite not liking coffee, by the end of the night I was drinking it.
One of my housemates, Johnny, made me a great loading screen and title screen. The loading screen, would have been better if the candle flickered, but I didn’t have time to multithread it.
More research is needed to know if Ogre3D can be multithreaded safely.
The title screen is just as basic as the loading screen, after I created a Lua script to control it. It has only two options, “Start New Game” and “Exit”.
I wish, as with the loading screen I had time to improve it, maybe some ambient music for the background, and the ability to save and load.
I finally rewrote my Cel Shading shader from DirectX to Cg, giving a very nice effect compared with the old one. The one I was using previously was per vertex shading, which gave an ugly look, however the one I’ve converted over from DirectX I wrote a while ago uses per pixel shading.
However there is a downside, the black outline edge is current done by drawing backfaces in wireframe with line thickness, the lower the anti-aliasing, the worse it appears. I’m thinking that if I use the depth buffer I can generate my own outlines based on depth change per pixel.
I have also modified the texture splat ARGB map to be smoother and use more toon like textures rather than realistic to go more with the overall theme of the game.
The contrast before was noticable, however the lack of shadows does give the impression now that the character is hovering above the ground, so I added basic shadows to solve this.
To finish off the post process effects, I added a Bloom shader.
After a bit of thinking, I’ve decided that it would be better if the game was in a night time mode.
So I’ve changed the skybox for my AGT project to be of a night sky with stars.
I’ve also reduced the fog near and far distance to be closer, and then darkened the colour. These worked together quite well, and the night effect was achieved.
I think with a bit of Bloom, the snow would look great like this.
I decided to change the grass texture to a snow texture, and make the town a snowy scene. However it didn’t look right. So I decided to add a snow particle effect.
The snowflakes are additive and alpha blended, and so give a glow, and stop at ground level, this is ruining slightly with the river since it is just slightly less than ground level.
Also the fact that a vertex shader is being for the water to make it look like it is moving, the snow shouldn’t settle on it, but it does.
Unfortunately that is not much I can do about it, at some point I may go through and setup multiple emitters that bypass the areas that the snow has a problem with, or adjust it so that it stops at a different ground level.
Finally after a lot of effort, I got the tree model I had down to 40,000 faces, making it almost acceptable to put into the Totus Village Map in my AGT project. It still got that great, the game lags a lot around the camera is facing that direction, probably because it is being cel shaded.
I’ve also added a smoke particle effect, though I’m currently “borrowing” the smoke from Wind Waker.
At some point I’ll be creating a campfire model to place below the smoke, and a small particle effect for fire. One thing I’d like to add to the map eventually would be some street lamps.
One thing last thing I’m happy about getting into the game is fog, though it wasn’t needed it showed me how to do something I’ve been trying to figure out.
I was playing around with the values and different fog equations when I got distant objects to flatten to silhouettes like the landscape does in World of Warcraft.