Jump to content
Sign in to follow this  
bravo 6

Terrain Deformation

Recommended Posts

There are some new Generation Games that have this new feature implemented, and they are using DirectX 10 to also make this happen among other features.

Will Terrain Deformation be possible in ArmA2 engine?

Will we be able to cover in a bomb crate?

Can we use a shovel and dig a trench for cover?

If this feature could be possible would it make ArmA2 more realistic?

What problems could Terrain Deformation represent? (in every aspects)

Terrain Deformation Demo Video

PS- Is it too soon to talk about this feature?

Share this post


Link to post
Share on other sites

simply no. I think that whatever benefits that this thing brings (to realism that is) is overwhelmed by the difficulties of implementing it at this stage in development. Maybe for arma 3.

LoL bravo 6 , only yesterday we got that developer blog about how beautiful the terrain and the foliage will be and you are already thinking of destroying it biggrin_o.gif

Share this post


Link to post
Share on other sites

Destroying it?!

... Au contraire, mon ami.

I wish to give the proper aspect of war to it biggrin_o.gif

Like the man with a cool hair once said: ""War is not nice, and war is definitelly not funny. We really want to portray this well in ArmA"

I can't imagine how this can be hard/difficult and maybe impossible to implement in ArmA2. Like i said before, i have no idea. But maybe with some extra smoke and dust it can be done properly..

I know BIS Has Huge Potential on this Game, just don't know it's limitations.

Share this post


Link to post
Share on other sites

Deformable terrain has been done before in games... so its not an un-seen feature, and isn't unrealistic to ask for. In fact, this is probly one of the top three features thats been requested for ArmA2 and ArmA.

First off, of course this would make ArmA2 alot more realistic. Its not very real looking when a huge bomb goes off and leaves a flat crater on the ground is it?

Useing a shuvle to dig trenches would be awsome, but that would really depend on how sensative the system was and how detailed the deformation could be. If it could be made to deform in small enough amounts, then it should be possible. And if you have terrain deformation in a game, it goes without saying you can use the deformation as cover. What would be the point if you couldn't?

Only BIS can say how difficult it really would be to add to the ArmA2 engine... but seeing as BIS appears to have trouble modernizing anything but the graphics part of the engine, its unlikely. Tho if it could be added into the egine, performance probly wouldn't be too big an issue. Only small amounts of terrain would be effected at any given time... tho the obvious questions are there for MP useability.

Share this post


Link to post
Share on other sites
There are some new Generation Games that have this new feature implemented, and they are using DirectX 10 to also make this happen among other features.

Will Terrain Deformation be possible in ArmA2 engine?

Will we be able to cover in a bomb crate?

Can we use a shovel and dig a trench for cover?

If this feature could be possible would it make ArmA2 more realistic?

What problems could Terrain Deformation represent? (in every aspects)

Terrain Deformation Demo  Video

PS- Is it too soon to talk about this feature?

Thats really nothing new. There was a game called Starfighter that came out in 1996 that had that. Starfighter I used to just keep shooting the sides of mountains to make canyons to all my objectives to avoid SAM launchers.

Share this post


Link to post
Share on other sites

I think it would be awesome, as long as the holes aren't buggy or unrealisticly big/deep. One problem that I would imagine is building that float in midair because the ground was deformed, but they weren't.

Share this post


Link to post
Share on other sites

What do you need deformable terrain for if AI doesn't know how to handle it? I don't know whether harder to implement than DD of buildings, but AI lacks the knowledge/sense of the terrain (I mean the surface), and one of the reasons they abandoned DD for ArmA 2 was the AI.

Well, of course it could be implemented without AI knowing how to handle it, but that wouldn't be the same fun, would it?

On the other hand though, if it's similar to DD of buildings there should be a way to implement some kind of a workaround just like the destruction system in ArmA 2. I don't work for them, so I don't know.

It's quite low on my wishlist to be honest, as you usually don't blow the ground up, rather the buildings and enemy's hardware. Which means it would serve mailny as an eye candy.

Share this post


Link to post
Share on other sites
What do you need deformable terrain for if AI doesn't know how to handle it?

I don't know whether harder to implement than DD of buildings, but AI lacks the knowledge/sense of the terrain (I mean the surface), and one of the reasons they abandoned DD for ArmA 2 was the AI.

Well, of course it could be implemented without AI knowing how to handle it, but that wouldn't be the same fun, would it?

AI is still work in progress. And the Terrain Deformation could be used more often then we think in CQB.

On the other hand though, if it's similar to DD of buildings there should be a way to implement some kind of a workaround just like the destruction system in ArmA 2. I don't work for them, so I don't know.

Yup, i don't know either. I wish Suma or other BIS dev could comment about these subjects. Some suggestions depend on the information they share.

It's quite low on my wishlist to be honest, as you usually don't blow the ground up, rather the buildings and enemy's hardware. Which means it would serve mailny as an eye candy.

we blow the ground more often then we think.. when we place satchels in a radio tower.. bridge.. while ambushing a convoy, etc.

They will end up deforming the terrain as well, but this specific simulation is just not there.

The damage on the ground should depend on how many power you put, ie, if you place 1 satchel the ground should behave differently from when you put 4 or 6 satchels in the same place.

Share this post


Link to post
Share on other sites
AI is still work in progress. And the Terrain Deformation could be used more often then we think in CQB.

...and they've already said that it's one of the main reasons why they've given up the DD. Besides, deforming the surface in built up areas would be much more complex than in the open, and I think you're confusing terrain deformation with DD when it comes to CQB.

Share this post


Link to post
Share on other sites

Terrain deformation is even possible with the current engine (to a certain extent) it will be included in the next version of the product which shall not named here.

If it makes its way in ArmA2... who knows.

Share this post


Link to post
Share on other sites
AI is still work in progress. And the Terrain Deformation could be used more often then we think in CQB.

...and they've already said that it's one of the main reasons why they've given up the DD. Besides, deforming the surface in built up areas would be much more complex than in the open, and I think you're confusing terrain deformation with DD when it comes to CQB.

Personally I still don't buy that the AI was one of the main reasons to giving up on DD. I think the only really valid excuse they gave was that inablitly to addapt their system to a massive environment, and the MP angle.

Either way tho, terrain deformation would likely be a totally diffrent situation all together. It should be a whole lot simpler for the AI to recognize. Lets face it, the AI in ArmA dosn't take cover anyway.... so if thats not fixed in ArmA2, it really won't matter if AI use the deformed terrain, becuase they wouldn't use it anyway. (I do believe they have said AI will take and search for cover cover, but Im not expecting great things in that area)

If BIS are the tallented development team everyone thinks they are... I would think that getting AI to see the deformed terrain should be one of the easy parts of such a system.

Share this post


Link to post
Share on other sites
Terrain deformation is even possible with the current engine (to a certain extent) it will be included in the next version of the product which shall not named here.

If it makes its way in ArmA2... who knows.

With caveat's of course. If your terrainGrid is a very low resolution, you'll end up with ugly blocky holes. High-resolution terrainGrid gives you prettier holes, but at lots of other costs. Furthermore, you have a lot of map changes to push to all the network clients to keep maintained as well. BTW, in the prior version of the product which shall not be named here, it was tested and worked nicely in theory, though with the issues described above.

Share this post


Link to post
Share on other sites
Furthermore, you have a lot of map changes to push to all the network clients to keep maintained as well.

Well this is a feature that could very easily be turned off for MP, or be optional to use depending on the size of the game.

Even still, not that much deformation will be happening at any given time (aside from a carpet bombing or something). So for most normal games I couldn't imagine it killing an online game.

Share this post


Link to post
Share on other sites

Well the terrainGrid isn't "too bad", only several dozen megabytes, and changes can be pushed around on demand, and you would only giet significant delays when you JIP in and need the updates. Objects on the other hand is a different matter. My understanding is that the terrain grid is all loaded, but objects are not. Whether that means the indexes are loaded or no, I don't know. Regardless, you can have a ton of objects out there that need correlated updates, and thus can't effectively be streamed from disk.

Share this post


Link to post
Share on other sites

The method shown in the first video seems to be similiar to the method Söldner used. Shot a ray (raytrace/raypicking, what i believe is faster than to perform some collision detection the usual way) to the grid, find the nearest vertex by running over the buffers and lower its postition opposite to the ray's vector. To hide the ugly popping, put some neat billboards to the coords where the impact takes place (works like a magician who needs distraction as well). This is somehow a very messy method and also halfhearted. If you would put such a method into a game, most people would start complaining on how unrealistic it is. You also have to deal with events like hitting one deformed space twice or more. Like others said, you are depending on the grid resolution. The wider the spatial segmentation, the uglier the result.

There is imho only one way to make it shine. Refine the grid, or better, tesselate it where a force hits the ground. Try to find a centering vertex, refine the grid around that vertex and sink all participating vertices, by following some real looking (not physically correct) patterns. You can also add some noise to the values which describe the sinking factor to vary a little in look and feel. But as BIS uses streaming, the overall impact on the streaming buffers is hard enough, even without dynamic tesselation, as i would say. Geometry shader could improve the overall performance but i think they are introduced first with shadermodel 4.0/DirectX 10 - afaik. Because they are the only shaders than actually can create new geometry and not only modify it.

I would say it is considerably easier to implement it in a corridor shooter as it relies on pre-modelled data, being held in a different datastructure that allows landscapes to have overhangs and caves (BSPs or whatever). Whereas most real outdoor shooters depend on heightmaps stored in a texture (reduces the ammount of data seriously), where every pixel represents a vertex on the mesh. Oldschool heightmapping works with black & white pictures where the brightness of a pixel defines its corresponding vertex height. So saving deformed landscapes in a texture is most likely impossible and impractical as well, regarding the vast ammount of vertex data.

Landscape rendering varies in techniques and every technique requires and enables different advantages and disadvantages. Corridor shooters with nice but small landscapes can offer caves and overhangs and outdoor shooters that misses caves and overhangs (i mean of course you can put a model of a cave onto the landscape like the bunker addons do) can visualise damn vast terrain. So everything depends on how BIS have implemented their terrain rendering, i mean even the real outdoor rendering knows 4 to 5 (or more, im not on track) different rendering algorithms.

Hower, as told by others as well, i don't wanna know the overall impact on network traffic, once someone starts considering it as an shiny MP feature as well. Of course it would be neat, maybe not today, but perhaps in about 4 to 5 years with broadband in every household, and at least 10mbit up- and downstream wink_o.gif

Share this post


Link to post
Share on other sites

I don't think this can be realistically done with ArmA's map sizes, not without completely rehauling the engine in order to get deformable terrain in.

Bomb craters are a bit of something that I'd pass. Then an artillery bombardment would take too much computing power, and the effects would be hard to see (ordinary 105mm-155mm artillery doesn't produce motherbig craters unless the ground was softy-soft, certainly not when using air bursts). And if I fired a howitzer shell to other side of the island, would I care if it produced a crater or not? Probably not as much as I'd care for the effect on performance.

Giving the possibility to do trenches, tunnels, underground basements & bunkers, and such would be worth more, but I doubt that the engine can be easily transformed to that direction either without map sizes and/or performance suffering. Given enough money and time no programming feat is impossible, but usually there isn't enough of either.

Share this post


Link to post
Share on other sites
I don't think this can be realistically done with ArmA's map sizes, not without completely rehauling the engine in order to get deformable terrain in.

Bomb craters are a bit of something that I'd pass. Then an artillery bombardment would take too much computing power, and the effects would be hard to see (ordinary 105mm-155mm artillery doesn't produce motherbig craters unless the ground was softy-soft, certainly not when using air bursts). And if I fired a howitzer shell to other side of the island, would I care if it produced a crater or not? Probably not as much as I'd care for the effect on performance.

Giving the possibility to do trenches, tunnels, underground basements & bunkers, and such would be worth more, but I doubt that the engine can be easily transformed to that direction either without map sizes and/or performance suffering. Given enough money and time no programming feat is impossible, but usually there isn't enough of either.

I really think people are stuck on the "too much computer power" argument. Do not forget, dual core processors are going to be a min requierment... so a pretty powerfull PC is going to be needed for ArmA2.

It seems with major feature that get suggested everyone runs to the "too much PC useage" awnser... without actually thinking about it. Dynamic Destruction probly would use too much PC power right now, becuase every building would have had hundreds if not thousands of individual physics objects. But DT would requier a fraction of the resourse a good DD system would need, especially since its not really useing any sort of constant physics calculations.

And if such features are not possible becuase of PC useage (which I highly, highly doubt, especially becuase of what W0lle said), then its time to think about either smaller maps or a new game engine after ArmA2 thats built from the ground up with "next gen" features in mind.

Share this post


Link to post
Share on other sites

Implementing rudimentary deformation/destruction is not hard, sending it to other clients and getting in sync with them is one of the problems you'll face when it comes to realtime deformations or destructions in MP.

In both cases (deformation/destruction), the origin of the mesh structure gets lost resp. changes. And both are computational expensive methods.

With destruction you have a system that splits a mesh, or rather breaks it into its parts. Watch the destruction in Crysis. The shacks are build of simple geometry patches that are just assembled to pretend a solid building. Once hit, the building collapses, but what collapses is not the building itself, but its foursquare parts. I don't know how the trees are cutted, but it seems that the tube that reflects the trunk breaks on pre-defined points if you hit it.

One could also try to destruct a building in a real dynamic way, with use of computational expensive CSG (constructed solid geometry). But that's math from hell:

You could have a complex mesh of a building and a tank. The tank fires a round at the house, and the projectile collides on its path with elements from that building. Here, CSG comes into play. You can substract the mesh of the projectile (with some noise in its datamodel's -not the one that is shown on screen- vertex position to increase the effect and to vary it) from the meshes that it is colliding with. Result: you create more meshes out of one.

But now, you need to find a solution for the physics problem. You may get the destruction calculated, but the walls are still standing upright, and now they need to fall partly correct. There are for sure other approaches. With CSG it is somehow like: detect collision->do some math->create new mesh(s)/or modifiy those affected and perform some physics on it.

So you can either 'fake' it, or compute it really dynamic at high costs. And of course you can do a lot with multicores, but just think for it in MP and you'll find some other bottlenecks, that have nothing to do with the calculations itself. Also, a game is not only made up of destruction or deformation effects, there is way more to do. And as a producer who wants to sell his products successfully, i surely would not aim my product to octocores only :P and for the mainstream goes: better not at all than slapstick.

With deformation it's a little different. You don't remove data and you dont create new meshes, you just refine already existing ones. Let's say you have a grid with a 10m resolution. Now, you want to deform it:

When it comes to arty and big fat holes, most people would say, hey lets get that freaking vertex that was hit and remove it from the buffers to get a gap. You may wonder yourself how that would look. Also, with a 10m resolution, it's very unlikely to hit the vertex well and truly. What you get is maybe the triangle you've hit and you could probably calculate the weighting factor via correspondig texcoords, to identify the exact position of the impact. Now you have to refine the 10m resolved grid locally for refining only there where something happens, to save cpu/gpu cycles. Once you have approximated the point of impact, you could move the new-build vertices to deform it. With such an approach you can save cycles and you can also 'dig' with different tools in size and look (noise is always your friend). But here, the terrain rendering algorithm plays an important role. Different approaches handle the faces/triangles in different ways. Some 'understand' multiresolution grids, others don't. And so it can happen, that your deformation algorithms are useless because the whole LOD would not work anymore or ends up in cracking and popping. Also another question remains, what if you want to dig diagonal in a hole on a quasi two-dimensional terrain (what heighmapping actually is), or a tunnel below another tunnel?

You have so many variables to include in your deliberations, that i fear, simply saying : 't seems with major feature that get suggested everyone runs to the "too much PC useage" awnser... without actually thinking about it.' wont work here.

Deformation and destruction are very expensive concerning load of GPU and CPU and their communication with each other, and with streaming they already are. And thats just an abstract of their complexity.

I'm curious about BIS will include deformation, because as W0lle said: 'to a certain extent'. I hope that BIS again will shock the competitors wink_o.gif

Share this post


Link to post
Share on other sites

I think Terrain Deformation is not so important as other improvements as destruction buildings, collisions, AI, etc.

battlefield bad company is bad example, maybe is it as other FPS.

Share this post


Link to post
Share on other sites

The building demolition used in battlefield:BC is the same type of demolition which is preparing to Arma 2. And terain deformation is there also missing. And look at this video and tell me something about AI in battlefield biggrin_o.gif

Share this post


Link to post
Share on other sites
I think Terrain Deformation is not so important as other improvements as destruction buildings, collisions, AI, etc.

battlefield bad company is bad example, maybe is it as other FPS.

I disagree, i think dropping a LGB should be able to put a hole in the ground etc to hide in and so on.

Thats more important than being able to shoot individual holes in walls of buildings etc

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×