Build A World - new massive game, using Irrlicht

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

Max Power
Posts: 98
Joined: Wed Mar 14, 2012 10:09 am

Re: Build A World - new massive game, using Irrlicht

Post by Max Power »

Very impressive. I am wondering how you are doing these great light and shadow effects. Is there a name for the method? Or do you have a link or something? Would be much appreciated if you could help me here, because I am working on a kind of voxel-game myself, and I have no idea how to display real-time shadows with a large number of voxels. And lighting without shadows doesn't make sense at all.
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

Hi. The look of the game is a mix of different things. This is my first 3D game, so at start I thought that each light would just be a hardware light and shadows would automatically be shown... but got wiser :-)
First of all, hardware light just goes through everything and shadows are not automatic, and neither is AO (Ambient occulusion) , and the game needed thousands of lights... in case of for example a volcano, each blocks is a light block and there are maybe 50.000 lights ...
So, instead this is how its done:
Each block and the sun can emit light, and a specialized software floodfill fills around with light and shadow and light are applied to the vertices on the go, and also AO is computed on the fly, so basically most of the light is made by software (maybe we move that code to the GPU with OpenCL). DevSH (user here on Irr) has made a number of Shaders for water, reflections, fire, smoke etc. For the player's headlamp and the rotator lights we do use hardware lights...
This is a fast rough simple description of how light is done in BAW. It might change radically later on, but the real challenge is to have 10.000 lights or 100.000 lights in a scene, and still have it running in realtime.
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

and next bunch of features are being worked on... a little teaser: https://www.youtube.com/watch?v=zGt_k1ICNgY
Max Power
Posts: 98
Joined: Wed Mar 14, 2012 10:09 am

Re: Build A World - new massive game, using Irrlicht

Post by Max Power »

sodandk wrote:Hi. The look of the game is a mix of different things. This is my first 3D game, so at start I thought that each light would just be a hardware light and shadows would automatically be shown... but got wiser :-)
First of all, hardware light just goes through everything and shadows are not automatic, and neither is AO (Ambient occulusion) , and the game needed thousands of lights... in case of for example a volcano, each blocks is a light block and there are maybe 50.000 lights ...
So, instead this is how its done:
Each block and the sun can emit light, and a specialized software floodfill fills around with light and shadow and light are applied to the vertices on the go, and also AO is computed on the fly, so basically most of the light is made by software (maybe we move that code to the GPU with OpenCL). DevSH (user here on Irr) has made a number of Shaders for water, reflections, fire, smoke etc. For the player's headlamp and the rotator lights we do use hardware lights...
This is a fast rough simple description of how light is done in BAW. It might change radically later on, but the real challenge is to have 10.000 lights or 100.000 lights in a scene, and still have it running in realtime.
Wow, that's amazing. You're actually computing vertex-lighting for potentially hundreds of thousands of vertices lit by tens of thousands of light sources in real time?? :shock:

If you don't want me to keep inquiring, just say so and I won't. But... are you using some kind of raycasting to determine wether a vertex is lit by a light source or not? Or how does this floodfill work?
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Build A World - new massive game, using Irrlicht

Post by devsh »

Wow, that's amazing. You're actually computing vertex-lighting for potentially hundreds of thousands of vertices lit by tens of thousands of light sources in real time?? :shock:

If you don't want me to keep inquiring, just say so and I won't. But... are you using some kind of raycasting to determine wether a vertex is lit by a light source or not? Or how does this floodfill work?
Its a very large, and very Assembly looking function which makes me want to puke every single time I want to translate it to GLSL+TransformFeedback

Plus we achieve the 100'000 lights by having a F**ed up attenuation curve (not exactly 1/(c+a*distanceSquared)) which makes light culling easier
also every "ray"/"beam" of light keeps track of its length and stops propagating after a certain distance

No raycasting used, its actually similar to Crytek's Spherical Harmonic indirect illumination as in the light distribution in a grid gets spread to another etc.
Except no SH used, but who knows... the future awaits!!!
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

The oceanlevel can now be set by user, to simulate climate change, or after heavy rain. Destroying crops or machines etc.
Tsunami is in the batch of nature disasters like earthquake, etc. :-)
Also some other secret stuff is in the worlks, where it will be used, but more about this later.
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Re: Build A World - new massive game, using Irrlicht

Post by devsh »

let us do realistic bodies of water first :D

then we can add water and take water away through many processes

good news in the tech department:

-FPS up by 15% to 45%
-even greater FPS increase may come on ultra settings (water reflections on)
-number of bugs fixed
-regions have changed size and shape
-BIG SURPRISE COMING
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

New Version is out :-)

Update 8-8-2014 (0.61/rev.1211)
- big teslacoil now misses (25% to 45% miss, according to distance)
- electrical bolts with better effect added (alpha blended)
- powertransformer will now explode if submerged in water and currently has power
- powertransformer will now set on fire if touched by water and currently has power
- small power transformer added
- ability to raise or lower global waterlevels (happens over time when level is changed)
- landscape will change if flooded (basic erosion)
- added traintracks (will be enabled for next release)
- map height is now 384, used to be 256
- maps gets automatically converted to new format, which gives 57 more blocks below
oceanlevel and 71 more above oceanlevel (total 128)
- map generation bug fixed (maps seemed skewed)
- taller buildings in newly generated big cities
- industrial areas can now appear next to a big city (in Big World or Designer Mode)
- minimap added (will require sattelite launched into space in next version)
- FPS increased by 30% on average
- shark spawner block added
- small and medium steam turbines added
- new player achievements added
- powertransformer can now be rotated
- black spots glowing in water - fixed
- underwater wierd textures showing in the fog - fixed

tech:
- map format has changed from 32x32x256 to 64x64x384. Also the regions are now split
vertically into 64x64x64 cubes, which gives better occlusion culling
- light bolts can now be transparent (have alpha blending)
- extended the particle system so now we can have axis-aligned particles like lightbolts, sparks and splashes
- gameserver now does not save regions that have not been modified
- multithreaded pathfinding algorith put in (not in use yet)
- soft particles now uses a new transfer function
- render now uses more memory, if available, for more renderthreads
- on 2 or 1 core machine, the lightning is not diagonal, but straight down which is faster
- vertret optimized and using less memory
- smokeless fireemitter added
- explosion/mob collision now much faster
- water occq merged into one and it was simplified with quadtree, so reflections faster
- experimental import of realworld GIS heightdata, roads, houses etc. done (not enabled for now)
sodandk
Competition winner
Posts: 340
Joined: Wed Aug 10, 2011 11:58 am

Re: Build A World - new massive game, using Irrlicht

Post by sodandk »

New Version is out, and lots of stuff being worked on under the hood, soon to be released.
Also we are now working with some large companies for using Build A World as a visualization and simulation tool (more info about this later)
Currently in the works are rockets, trains and tracks, weapons and water detachment, animals and avatars with pathfinding ... among things :-)



Minimap

Image

Image

Image

Image



and with symbols of constructions
(industrial areas added)

Image

Image



minimap and ability to save the entire map as a jpg

Image

Image



and here are 20 of the 40 new animals to be added:

Image

Image
Post Reply