Template talk:LSL Constants/Custom Damage Types

From Second Life Wiki
Jump to navigation Jump to search

Impact types

I'm still thinking about what could be useful damage types and there's bunch of fairly similar ones and I'm wondering about the difference in their classifications is the duration, scale of it and/or intent.

There's DAMAGE_TYPE_BLUDGEONING, DAMAGE_TYPE_FORCE and my proposed DAMAGE_TYPE_EXPLOSIVE and DAMAGE_TYPE_CRUSHING.

Bludgeoning makes sense more for medium to small and/or handheld blunt objects. Like a club, hammer, sledgehammer, etc.

Whereas a DAMAGE_TYPE_FORCE, great force or impact, might be more akin to collisions with furniture, vehicles, large bodies of liquids/solids.

I added the crushing type because I felt that high pressure such as from a hydraulic press, deep water or geological depths wouldn't be momentary but constantly applied, and this damage type would only need to be applied on pressure and resistance changes. So if someone equips a diving suit and then dives into ocean via airlock at significant depths that would be a pressure change, pressure damage would be applied once due at that depth location and the diving suit would negate it appropriately. On the other hand a tank falling or driving over a person may also be potentially considered crushing, it would feel weird to describe it as bludgeoning or an impact.

Explosive is on the other side of the coin, an impact of great force. Something may have great resistance to pressure forces but be weak to explosive impacts, which therefore would not make sense for force resistance. Well, a submarine might be able to handle explosions very well in absence of ocean pressure and on the other hand suffer damage when an explosion is combined with ocean pressure to overcome the hull integrity, but since we don't have a damage-over-time / constant damage system to allow such layering/combinations it might be better to differentiate these types.

So I think force is perhaps not a good type as it's too broad.

A lot of damage types will probably come down to finding a good taxonomy.

My two pennies (explosive and crushing) for what it's worth.

-- Nexii Malthus 07:06, 21 July 2024 (PDT)

Subtypes

Some may have noticed the addition of the subtypes category.

So the deal is that the current damage types written by LL are pretty good, they cover a wide range of games, genres and themes.

There's different communities and individuals that would want to use Combat2, from roleplay to military, games, brand stores and other content creators.

The general damage types are often a bit too broad however, within piercing you have bullets, shells and other munitions. But these can also have specialised types, such as high explosive shells. Likewise it is hard to place some like explosives such as grenades, warheads and other munitions. What does it mean for a submarine which may be negating crushing depth pressure force damage vs a nearby torpedo explosive force? In a simplistic naive system where both are forces, the crushing depth negation may end up making explosive forces like torpedo be completely ignored instead of being treated as different layers (constant pressure vs spontaneous impact).

This is why I'd separate out explosive and crushing as being subtypes of force.

-- Nexii Malthus 07:26, 10 August 2024 (PDT)

Useful Types

There are two approaches to damage types:

  1. This damage type is useful for all scripters (SLMC and beyond)
  2. This damage type is useful only to my project (which is Vertical Sim)

I've been trying to focus on 1), like "what are the most useful types that should have been part of the linden damage constants?", "What is missing or could be amended due to technical reasons?"

A useful type is something that most could see a clear purpose to.

  1. Either because an existing linden damage constant is too broad or requires adaptation for technical / game design reasons
    • Due to the way that resistances, weaknesses, damage, healing and utility types may need to interact in terms of game mechanics -- things can get complex (e.g. force = pressure vs impact, damage-over-time)
  2. Or that the linden constants forgot to miss a particular common application, utility or intent
    • This could be because there is a good damage type that was missed such as expressing suffocation
    • Or because intent is not conveyed to adjacent or followup systems such as to PvP/PvE, kill feeds, damage feeds or other reporting HUDs and tools that need to convey that information to a observer or participant. Healing for example should be able to easily expressed in a HUD

So I'm using my 100-199 block range to explore that, as it's the first custom block that people are exposed to.

Below are justifications and reasons for damage types I've come up with so far.



One of the first ideas that people implemented were health pickups thanks to being able to use negative damage, but.. what type does healing fall under? Generic? Magic fantasy would probably use holy kind of magic. Non-magic uses knowledge, science/alchemy/medicine, to heal people through potions, first aid and/or surgeries feels like it would require its own type.

  • DAMAGE_TYPE_MEDICAL
    • One of the first ideas that people implemented were health pickups, but.. what damage type does healing fall under? What about all sorts of healing? Medkits, syringes, healing beams, nanobots, ... -- under this type any negative damage is a wide encompassing general intent to heal
  • DAMAGE_TYPE_REPAIR
    • Likewise, in the SLMC it has been common to use a custom health system where objects could be repaired from vehicles to doors or holes in walls. Currently this is a broad type of repair that covers all mechanical, electrical or software repairs -- you can use a subtype of this to further refine it

As per the other topic -- DAMAGE_TYPE_FORCE is broad in that it is unclear on (constant pressure forces) vs (spontaneous impacts), which are technically both forces although in the sense of game design would be usually treated as two different layers (where impacts are layered upon constant pressure, e.g. a torpedo explosion in crushing depths has the explosive impact in addition to the water depth pressures).

  • DAMAGE_TYPE_EXPLOSIVE
  • DAMAGE_TYPE_CRUSHING

Piercing is another broad one, some weapons pierce more than others. Bullets typically pierce that is their design and then they end up spalling within a target to cause significant damage. However armor-piercing bullets are specialised to pierce armor that may have prevented normal bullets from reaching their next stage of inflicting damage.

  • DAMAGE_TYPE_ANTI_ARMOR

Speaking of submarines, and there's also spaceships to consider, there may be moments when people can drown underwater or die when exposed to space. I managed to come up with a satisfying damage type that covers it taxonomically which is to suffocate from lack of an air breathable atmosphere.

  • DAMAGE_TYPE_SUFFOCATION


Let me know what else would fit here.

I think magic would be something to explore as well but I'd need to probably pop these off in a different block range due to how expansive magic systems can be or bit further ahead (150-199). A lot of research would be necessary on all the different magic systems.

-- Nexii Malthus 08:25, 10 August 2024 (PDT)