Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Author Topic: Damage system  (Read 20759 times)

McArcher

  • Jr. Member
  • *
  • Posts: 14
Damage system
« on: August 24, 2010, 10:49:00 am »

Will objects in Outerra's world be able to be damaged? I mean such objects as vehicles and buildings. Not just 1-to-0 damage like im many games, where object change the texture and draw a fire and smoke, but realistic physics instead.

Will they be able to break into parts with some physics simulation (maybe inverse kinematics or someting else)?
It would be great to have a simulation of different material types and "connections" between parts of object or particles to simulate destruction or damaging.

It may be useful for unreally realistic MilitarySim game to simulate differently armored zones of armored vehicles.

For example, for modern tanks we need a lot of types of objects:

1. Simple armor (which will be used to calculate, whether the projectile penetrates the armor or not) of different types (may have a "strength" parameter in "mm of steel xxx equivalent" which will combine thickness of the armor plate and its penetration capabilities);

2. ERA (explosive reactive armour), it is a plate or a box, which is "one-time-used" to defend from cumulative projectiles. After being hit, its box must be drawn damaged or may be thrown away or just deleted from the tank model, making this zone vulnurable to next hit into it.

And about tanks, BMPs, APCs and so on...
Many of them do not need many braking parts, they are not cars. They need, for example:

1. Two detachable tracks (which will make them not able to move) [cars need wheels with ability to be leaking the gas]
2. Hull (it can only change the texture, for example),
3. Optional ERA boxes and plates on hull which will dissappear or change model to damaged after explosion,
4. Turret, which will be able to fly away when there is explosion of ammo in tank (ammo is placed for example either in turret in american Abrams, or in tanks bottom and other places in other tanks),
5. Optional external optical and other systems damage (which will disable some features of tank crew).
6. Zone which when damaged modofy behaviour of a vehicle (engine zone, ammo, fuel tanks, ... )

External systems of a tank is another big question, and it can be discussed in separate threads, because modern tanks have gun, rockets, machineguns, smokes, Laser-detecting systems, IR-noise systems, thermal view, nightvision, counter-projectile systems ans so on  :)

Concerning buildings, parts maybe:

1. main walls, which hold a building,
2. secondary walls, ladders, roofs, which may be damaged without building falling,
3. windows
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Damage system
« Reply #1 on: August 24, 2010, 03:13:03 pm »

Clearly this goes beyond engine functionality, this is all specific for a war game.
Outerra mainly provides the space and detail for various planetary scale games, but we cannot possibly cover the functionality of those games. We could perhaps talk about the engine functions required for support of the features mentioned above, but that would be more technical discussion.
Logged

McArcher

  • Jr. Member
  • *
  • Posts: 14
Damage system
« Reply #2 on: August 24, 2010, 04:06:09 pm »

I think for enabling damage, the engine needs to have special object models for vehicles and buildings.

All objects of Building_class or Vehicle_class will contain sub-objects. Type of connection between sub-objects will depend on their types. For example there can be 2 base subclasses: Dynamic_Parts and Static_Parts. This needs many examples to make it clear.

(Just an example)

1. Buildings will have 3 sub-types of those 2 types of objects, mentioned above (main walls, secondary objects and windows). Most sub-objects of a Building will be static, they won't move in ordinary life. They can be moved only after an explosion or collision with a heavy vehicle. Dynamic parts for buildings are very optional. For example, doors or windows that will move, slide and so on when they should (by a script or a code). One wall, for example can contain several sub-objects that will fall when "something bad" happens with this wall. The more sub-objects, the more realistic damage will be.

Building_class-> Static_Part_of_Building_class -> Main_Wall_class;
Building_class-> Static_Part_of_Building_class -> Secondary_Wall_class;
Building_class-> Dynamic_Part_of_Building_class -> Window_class;
Building_class-> Dynamic_Part_of_Building_class -> Door_class;

All the connections between sub-objects are made by a physics engine. I don't know, whether it will be in "clear" Outerra.

2. For vehicles, also 2 types: Dynamic and Static. Dynamic will be wheel, track, door, turrets, guns, special armored plates on windows and so on... Static are main body or hull, special armor types (ERA box) and so on. Here we can go much further, but it's not our task now.

For sub-objects of a static class, their position will be fixed in object's settings. For dynamic objects must be given "special points" for different objects. For example, door needs an axis to rotate, tank's track needs "wheels" to rotate around them and so on...

The Outerra engine must give a possibility to add own classes to dynamic and static classes and change their behaviour.
The damage process will be calculated by both objects collided, using their class actions. For example, a tank will have no damage if collided with a small auto, but an auto will be damaged.

Maybe, to simulate automobile damages, their body won't be static class as a tank's hull, or will contain several sub-parts, that will change connections between them after collision.

All I'm talking about is a phycics engine that will support sub-parts of an object of different types. All other things may be calculated by plugins/addons. For example, in fishing simulator the car will be able only to puncture tires, whereas in military simulator car can be made a tin can by a tank...

Will the physics engine (or its basics like sub-parts of objects) be in Outerra?
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Damage system
« Reply #3 on: August 24, 2010, 04:26:49 pm »

Yes the physics engine is integrated, because we need to provide effective collision checking with terrain. It can be used for the purpose you have described.
Logged

McArcher

  • Jr. Member
  • *
  • Posts: 14
Damage system
« Reply #4 on: August 24, 2010, 05:48:06 pm »

I have one more question concerning behaviour of vehicles and buildings.
Will there be a possibility to simulate detached parts?

For example, I'm driving a car at high speed, then I open the door and it hits a street lamp or a tree at high speed. The physics engine calculates that the collision with the door was with the force, which is more than critical parameters for such door (stored is door object) and door object will be removed from vehicle's object (changing neccesary parameters). Door now becomes a part of environment, like stones, birds and rabbits :D and falls to the ground. So, vehicle looses an object and environment gains one, but with simplified parameters, because it is no longer part of a vehicle.

Is that possible?
Logged

RaikoRaufoss

  • Blood may move the wheels of history, but only our cunning keeps the wheels oiled.
  • Sr. Member
  • ****
  • Posts: 374
    • http://www.sabaton.net/
Damage system
« Reply #5 on: August 24, 2010, 05:53:02 pm »

Say that a meteorite or other heavy object falls to the ground and makes a crater.  Will Outerra simulate that as well?
Logged
Far from the fame
Far away from the fame
But we still remember your name
Karel JanouĊĦek
We mourn the day that you died
So be our guide
CZECHOSLOVAKIA'S PRIDE!!!!!!

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Damage system
« Reply #6 on: August 25, 2010, 01:49:13 am »

Quote from: McArcher
Will there be a possibility to simulate detached parts?
...
Of course it's possible, but the engine won't be universally managing these objects - the game has to decide which parts it keeps in the environment, as the object numbers may grow out of proportions, and memory and CPU cycles aren't free.
The engine just integrates the physics because for managing collisions within such large environment it's essential, but managing how the collisions are handled beyond standard rigid body physics is on the game code.

@RaikoRaufoss You mean simulation crater creation from impact vectors? No, unless there's a possessed crater guy giving us a chunk of money to just have it there :)
Others will have to settle for random parametrized crater creation.
Logged