Second Life Combat User Group: April 11th, 2024 summary

Credit: Rider Linden

The following notes were taken from the Thursday, April 11th, 2024 Combat User Group meeting (also referred to as the Combat Committee User Group or CCUG, an abbreviation also used by the Content Creation User Group, and which I’ll not be using in these summaries to reduce the risk of confusion between the two). They form a summary of the items discussed, and are not intended to be a full transcript.

Meeting Overview

  • The Combat User Group exists as a forum to discuss improvements to the Linden Lab Combat System or LLCS to better support combat in Second Life.
    • The core idea is to provide additional events and capabilities which sit on top of LLCS to provide combat creators with better tools with which to create better combat systems for their specific scenarios.
  • The meetings are the result of a proposal document on improving the native damage system in SL, written by Rider Linden, and which is the focus for both the meeting and any work arising from them.
  • These meetings are conducted (as a rule):
    • By Rider Linden, with the support of Kyle Linden.
    • On alternating Thursdays (rotating with the Content Creation User Group) at 13:00 SLT. Meeting dates are recorded in the Second Life Public Calendar.
    • Initially in text, although voice might be included in the future depending on feedback from those attending.
    • At this location.
  • Additional details are available via the SL wiki.

Work In Progress

  • Rider has updated the simulator running on the Aditi combat test regions (Thermopylae and Gallipoli). In particular:
    • The combat log events so that it will provide up to 1020 bytes of data at a time.
    • The single JSON object becomes an array, which will hopefully address the issues of overflowing the listen event.
    • A fix a possible exploit wherein rezzing a prim with damage in a non damage area then shooting it into a damage area would cause damage. To prevent this, the object becomes TEMP and DIE_ON_COLLIDE with no damage. This will be extended to regular damage to prevent situations such as people sniping at opponents from “safe” zones.
    • The issue of physical objects with damage (via llSetDamage or REZ_DAMAGE) not causing damage to objects with no sitters should now be fixed.
    • Setting up a well known sender for those so llListen can filter them is coming soon.
  • Rider is currently working on region settings for what happens when someone “dies” in combat.
  • Rider proposes setting up two combat-specific region on Aditi (the Beta grid), specifically for testing output from this work / project.
    • Names are TBC, but will likely be something along the lines of “Waterloo”.
    • These will hopefully be up and running in about a week.
  • In terms of initial work, Rider is looking to “knock off” the low-hanging fruit:
    • First will be llGetHealth.
    • Second will be damage transfer across regions (e.g. damage transfer is not going to 100% when you cross a region boundary).
  • The above will be followed by work on the on_damage() event, key to much of the rest of the work.
  • New documentation accompanying the events and capabilities will be posted the to LSL Wiki.

Comments and Requests

  • To new requests under consideration:
  • This led to a discussion on damage distribution when a vehicle carrying sitters is hit (Rider’s approach being if a vehicle carrying four avatars is hit, then each would receive 25% damage), and how llDamage should be handled (e.g. if called from within a vehicle  – one avatar shooting another – damage goes to the avatar; if llDamage called from outside the vehicle, it goes to the vehicle and the vehicle determines how the damage is applied to those sitting on it).
  • As a result of the discussion, a new function – llDetectedTarget – was seen to be increasingly desirable. This would allow specific avatars riding a vehicle to be targeted (e.g. the driver).
  • The meeting time may be changing to allow more US attendees. 3:30 SLT is being considered – although this could then exclude those from Europe.