Last Ray of Hope Home of Kaluriel Hargrove

22May/08Off

New Engine: Athena

I decided to start on a new game engine since the source code for DarKal has been broke for quite a while. The Athena game engine will be building on previous engines I've made for specific games, as well as some the ideas I had for my AGT assignment.

I’m thinking of creating my own scripting language to work with it as well, something object orientated, or at least styled in C format.

Tagged as: , No Comments
16Apr/08Off

Legend of Bob: Title Screen

Legend of Bob - Loading ScreenThe 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.

Legend of Bob - Title ScreenThe 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.

15Apr/08Off

Legend of Bob: Bloom and Cel Shading

agt_16I 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.

agt_17

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.

3Apr/08Off

Legend of Bob: Night

agt_10After 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.

27Mar/08Off

Legend of Bob: Snow

agt_9I 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.

agt_13Also 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.

24Mar/08Off

Constructors, Avatars and Codecs

Redesigned the avatar which my friend Joey made for me a few years back. Cleaned up the edged, and changed the font.

While editing some videos last night, that I made of World of Warcraft last year (a 3-man Onyxia fight), I got thinking about designing a development codec. Since the files I recorded were at a stupidly high resolution of 1680x1050 at 30fps (about 30GB each), it was taking forever to do anything with them.

So I thought, how about a codec with the high quality bitstream data, but with a low quality editing stream to go with it. Big emphasis on random access and bidirectional seeking would be key to this my friend Gavin pointed out to me on IRC. Then when you've done editing using the low quality stream, it can be applied to the high quality when converting.

Would be nice if the C++ standard included constructors like PHP5 is introducing ( __construct() ), so whenever you change a class name, you don't have to renamed the constructor(s) and destructor.