Visit our sponsors! (or click here and disable ads)
Underworld Ascendant Kickstarter Update #43: Doing Damage
Game News - posted by Infinitron on Fri 8 May 2015, 22:50:44Tags: Jeff Kesselman; OtherSide Entertainment; Underworld Ascendant
In this week's Underworld Ascendant Kickstarter update (they're gotten very punctual with these now), Lead Engineer Jeff Kesselman describes the game's object damage model, which was mentioned in brief in last week's update.
Damage is an analogous problem. Some things in life count as “dangerous”—fire, swinging axes, big rocks, etc. In some cases such as the rock, and to a lesser extent the axe, damage is a direct result of its mass, shape and speed. In other cases, such as fire, the damage is just an innate part of “what it does”. Just like the game has a physics system to decide how much force is applied to whom and what the result is, the game will have a damage system to decide how much damage is applied and what the results are. I did some work on that this week and have a little demo movie to share and discuss.
[...] We realized early on that not all damage is the same. If I crush something, it has one kind of effect on an object, but if I burn it that can have a very different effect. To allow for this, a damage message has two parts. One is a number indicating the amount of damage, and the other is a damage type. Currently we have Fire, Electrical, and Kinetic (physical) damage types in the system but that list is designed to grow as we build out the game.
The swinging axe in the video has a component called DoesCollisionDamage. This component figures out damage based on the weight of the axe, its relative speed at the time of collision, and a hand tweaked multiplier that models the effect of a blade versus a blunt surface. It sends a kinetic damage message to the crate it is hitting every time it collides.
The crate actually has child game objects each with their own component to receive damage messages. This component can have a list of “resistances” that reduce the damage taken. Each resistance applies to one of the damage types and has a number to be subtracted from the damage and/or a percentage to reduce it by. Resistances might represent an object’s innate toughness, armor or magical resistance. Every child object also has its own pool of hit points to which to apply the damage.
[...] The truly important thing to realize throughout the demo is that none of the inter-object interactions were hard coded. Each object only knows its part of how to react to the situation. The results come from their proximities and interactions. All we need to do, for instance, to make objects burn in the final game is give them the combustible component. You can expect that a great many things will be burnable in the Underworld, not always where and when you want. You will be able to pile up burnable things and make bonfires, burning defensive lines or ad hoc torches. You will be able to jam things in traps, but they had better be strong enough to survive the trap damage or they won’t last long. You will be able to drop heavy movable things on creatures or other objects and damage them.
Like everywhere else in UA, we provide you with the parts that make up a sensible world. What you do with them will be up to your own imaginations. We are looking forward to seeing what you come up with!