среда, 23 декабря 2009 г.

Physics programming

Hi, people!!! Merry Christmas and happy New Year. I'm G@rdster and I want to present some information about Storm engine development.
Оne of the most interested features we develop is the megaterrain feature. We are trying to create vast landscapes in the game world. So we can't store all information about game world in fast memory simultaneously and each period of time game engine needs to decide what information it really needs. For this purpose we use area of interest conception. It means that we have some small area around any point of interest (near camera or near player's character) with all data we have on it loading with highest detalization level and with all calculations on it. On the border of this area we have tape with low detalised and loading data on it. When we move our point of interest this area moves with it and engine begins load and unload border data.
So what it means for our vast terrain. It means, that we need to divide all terrain we have to the small peaces, named "tiles".
Here is one "under the eye" track of physics tiles:

Each tile corresponds independent height field actor. It puts some limitations to the simulation process. First of all we need to freeze all dynamic objects when we unload terrain under it and unfreeze (add to simulation list) it only when we create terrain and all physics environment.
Also we need to load several tiles around the interesting point to create
Physics area of interest process:
1. Load all data under the point of interest:

2. Move our point of interest


среда, 16 декабря 2009 г.

Monthly report

Currently have no time for full featured post as it's getting very hot in the university. But I have a lot to tell about new improvements in material system and shadows so these are gonna be the ones covered by the end of this year. Here's a bunch of fresh screen shots of WIP material system & glass render. ( I've turned off ray tracing as it currently slows everything down a lot. I'll combine all the eye candies together when I get some time to maintain my code and do some optimization work )



There are more pics in the Gallery.