Sunday, 31 January 2010

Light Propagation Volumes

Guten Tag,

Here's a quick update on the status of the game. The editor seems to be going places where as the engine is still pretty much the same as it was before. There have been a few fixes, including a MAJOR bug where i had misspelt Initialise through out the engine code :P.

For the past one week i've been implementing Anton Kaplanyan's (a guy who works at Crytek) global illumination algorithm which he calls "Light Propagation Volumes." Here are the results from our engine (notice the colour bleeding and extra lighting in the LPV On images):

LPV Off: LPV On:

LPV Off: LPV On:

LPV Off: LPV On:

LPV Off: LPV On:

There's still a few problems, such as colour bleeding through thin walls and a flickering effect when the camera moves, but i'm not going to bother with those yet since there are more important tasks yet to be done.

Monday, 18 January 2010


Hello readers,

I just wanted to post a screenshot showing off SSAO in Marko Dabrovic's famous Sponza Atrium model.

Engine Status - 19/01/10

Hello readers,

After a long and tiring day with shadows i've finally decided that it's time for a break. So here I am, and today I will talk a little bit about the progress of the game engine. Before I start, I realise that some people are curious (well at least one) about the Goa thing in the blog title. I think it's too early to tell people what that means; it might be fun to see what you think we mean.

At the moment the engine's functionalities are:

- renders .fbx, .x and custom models,
- renders everything through Deferred shading,
- screen Space Ambient Occlusion,
- spatial partitioning tree,
- portal System,
- key framed animation system,
- half a collision engine,
- menus and state machine,
- networking with Live and Lidgren,
- and multiple shadow casting lights.

The shaders have been written as micro shaders. I am particularly happy with this small and simple thing as it has made material management and rendering very simple and tidy.

Currently the game runs at an average of 55 fps, but there's still a lot more to be done so hopefully we'll be able to optimise the engine for a smooth and uninterrupted gaming experience.

Currently the future plans for the engine are :

- Scene graph (probably should've done this first)
- AI
- Event Management
- Particles (this shouldn't take too long since Yorrick is a pro with particle systems)
- Audio

Things that I would like to do but aren't important:
- Global illumination/colour bleeding (nearly done :P)
- Volumetric lights/god rays
- Rim light
- Anti-aliasing

Hope it was an intersting read. Would be nice to get some feedback on the blog and possibly any suggestions on what you would like us to divulge.

Saturday, 16 January 2010

Yes, we are making a game

First of all i would like to welcome you to our Indie game development blog. Unlike other dev blogs, we won't try and put up frequent updates about our development :P

Here is a list of team members:

Div - Designer
Hank (Me) - Programmer
Joe - Artist
Yorrick (Need to find shorter name for you) - Programmer/Game Designer
We might need other people to help later on in the development.

So far we have been working on the game for a year (although it was an on and off affair). We are professional games developers (well we were, only Div has survived :P). It originally started with Yorrick and I deciding that we wanted to learn about other areas of games development, and so selling the game was last on our agenda. We also decided to use the XNA platform, since we had heard that it was a quick way to get up and running and also we can develop for for the Xbox 360. Now though, learning has been pushed down and selling has been pushed up. Although, Selling still isn't out major goal. Our major goal is to make a great game that everyone will enjoy.

Joe joined us when we realised that we needed to get some art done. Now at this point in time, we learnt a very good lesson, which is, the art process takes a long time! It took even longer since Joe refused to make textured boxes for the environment and a few simple 3D characters (ie Programmer Art). unfortunately for Joe, by the time he was finished with one of the character models, we decided that the game idea wasn't as novel as we had hoped for.

Our current game idea came about after a few days of throwing ideas back and forth, and finally we landed on a similar idea that Div and I had come up with a few months back. Our current game idea has been in the design phase for the past couple of months and we have just started the actual development process. We are still working on the story and level design of the game.

A few things to mention about the game itself. (we'll be letting go of bits and pieces of the game design here)

- Novel (very important). The primary game mechanic is original and being original, how much fun it is, is yet to be seen. Braid for example used elements of platforming and puzzle which are pretty tried and tested. Before World of Goo there was tower of goo, which was a small flash version of it. (Hara-kiri if some game comes up without our concept before we release, like one of our previous designs)
- In First Person mode but we could probably develop it for third person to. Which it is not a twitch FPS for sure i.e. cs. Remember Elder Scrolls could be played in FPS or TPS. But don't assume we are making an RPG.
- Single player and Multiplayer, but we're concentrating on the single player at the moment. It seems like most games should have a little Multiplayer now to prolong the games lifecycle and to justify prices. Unless the Single Player is REALLY good i.e. Elder Scrolls, Assassins Creed.

What we currently have is half a game engine, half an editor, a cool 3D model (which probably won't get used) and two design documents for 2 different games and a further 2 game ideas still lodged in our heads.

I think that's enough for now, we will be posting more details about the game so make sure to check often.