I know I said this week but will likely be over the weekend, there were some LUA issues I needed to get my head around. As for LUA, I think I'm going to pull out some of the model features I've been putting into the model LUA scripts as it's starting to get in the way when I need to control them in game logic. Reading values and objects back seems to be a dark art, these things may have been fixed, or not bugs at all, but caught between moving engine versions and not much documentation I'm left with having to "land at an alternate airport" just to keep things moving.
Also I want to fix up the cockpit ambient lighting before recording a sight-seeing tour around our version of Herat city. Here's a tasty screen-shot of the Citadel to keep you going.
I was thinking about one thing. When You watch Afghanistan war footages or any war footages, the smoke from destroyed vehicles or buildings is much much biger and spreading much further than in any sim game. Will You do it more real or is it because of some technical restrictions, ordinary people like me dont know? :-) I remember that Ive seen this kind of real smoke from destroyed vehicles in some EECH mod. Does it really have such a big impact on framerate, that many developers decide to limit the smoke so much? Thank You.
ReplyDeleteTypically, smoke is done using what's called a particle system. This is lots (typically hundreds) of flat transparent sprites that grow in size and blended with their background, each particle (sprite) following some path.
ReplyDeleteWith such a system you're only limit is the number of sprites you to devote to the scene budget. Some games might have a particle density setting or something similar sounding. "Effects level" etc.
The two main parameters in a particle system that determine their on-screen 'presence' is quantity and lifetime. How many there are, and how long each particle lives. The longer it lives, the further it can travel before it fades and is reset back to the point of origin (recycled).
Transparent graphics impact fillrates of cards as each pixel written is blended with the existing colour. In some games, moving through smoke will cause a slowdown due to the size of and number of these sprites.
There are different ways of rendering smoke, there are some technically brilliant methods of producing volumetric smoke. One method I like is "Megaparticles" which you'll find a paper on if you search for it.
I've experimented with particles for downwash, brownouts and dust-storms in Combat-Helo, I made a video showing one early experiment.
http://www.youtube.com/watch?v=2LglhdOBJbU
The shaders are better now, enabling a softening of intersecting edges.
During deveopment we've seen a lot of photographs and video of Chinooks landing and I'm always impressed, in awe in fact, of the amount of crud that's kicked up into the air. A reaction more to do with how many particles it would take to pull off something similar.
But as with these games, technology is always moving on. Since I started development my current graphics card is twice as powerful and not even top-end. So I'm going to just leave the particle density as something the user can dial up.
The current version of Leadwerks engine can even render particles with shadows which is just insane when you think about it. But one of the things that comes easily with a deferred renderer. We're not using that version of the engine just yet.
I don't tend to run or take screen shots from Combat-Helo with all the effects we currently have turned on. It's something you'll be able to do when you get it home and feel like overheating your PC. It really does give your GPU a good workout.
Sorry I didn't mean to write so much.
Thank You very much for detailed explanation. Im glad You have written that much. :-) Thanks again. I think, that scalable level of so many details is very important. More options will give more people a chance to enjoy smooth gameplay. Thanks again.
ReplyDelete