• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-3377
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Siobhan McCallen
Votes: 5
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

Estate/Region/Parcel-Selectable "Death" option for Linden Damage System

Created: 07/Nov/08 08:16 AM   Updated: 28/Apr/09 11:13 AM
Return to search
Component/s: None
Affects Version/s: 1.25 Server
Fix Version/s: None

Issue Links:
Relates


 Description  « Hide
To enhance both the options of Linden Damage parcels and the options afforded to those using safe-area combat systems, I suggest that a land option be added in a future server release:
  • The choice of whether to keep the existing default behavior of teleporting a "killed" avatar to their home location,
  • Or to take some other action, such as to play an animation for the avatar.

This animation could be drawn from a list of acceptable animations to prevent offensive misuse, or allow custom selection, if the risk seems minimal, or it may involve the adding of a standard "dead" anim as a default animation state for the avatar that is simply called by the server.

The justification for this suggestion is:

  • The Linden Damage system is useful in the areas in which it is currently being used, but is frequently unused because of the inconvenience of being sent home when one is killed. It is more convenient, and in role-playing circumstances, more "realistic", to fall over "dead" when killed, than to simply disappear. This would allow for a "death", or period of incapacitation, then a gradual recovery, as health improved from zero.
  • The use of combat systems also provide additional benefits, such as magical abilities, etc. Combined with a more controllable damage system, such devices could be enhanced, since the avatar would not be automatically ejected from the land upon death. Large segments of code could be eliminated, reducing complexity and lag, and freeing up processing for other critical functions. The damage system could be incorporated into these systems, used with it for good effect, providing a hybrid system requiring fewer less-complex scripts. This may prove especially valuable in script-restricted regions in the future.

The issue of healing would still need to be addressed, as Linden Damage is not repaired by scripted action, and many existing RP combat systems rely heavily upon the quick healing of damage. But allowing Linden damage to be healed artificially has been rejected as an open door for cheating before. If this could be mitigated, perhaps it could be used to enhance such a hybrid system in the future, to the benefit of all.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Siobhan McCallen made changes - 07/Nov/08 08:19 AM
Field Original Value New Value
Link This issue Relates to SVC-2140 [ SVC-2140 ]
Siobhan McCallen added a comment - 07/Nov/08 08:19 AM
I've linked this issue to these other issues related to the enhancement or retirement of the Damage system. Some of them showed interesting comments, regarding combat systems and some of the problems that might crop up. I don't believe the damage system is totally moribund, but it does need some enhancement. And with a looming need for script-thrifty methods of combat, this would be a useful way to achieve that end.

Siobhan McCallen made changes - 07/Nov/08 08:19 AM
Link This issue Relates to SVC-2300 [ SVC-2300 ]
Siobhan McCallen made changes - 07/Nov/08 08:19 AM
Link This issue Relates to SVC-1100 [ SVC-1100 ]
Sue Linden made changes - 13/Nov/08 12:06 PM
Workflow jira-2007-12-22a [ 61429 ] jira-2008-11-14 [ 81495 ]
Sue Linden made changes - 13/Nov/08 04:34 PM
Workflow jira-2008-11-14 [ 81495 ] jira-2008-11-14a [ 88366 ]
Maggie Darwin made changes - 01/Jan/09 09:04 AM
Link This issue is related to by SVC-3601 [ SVC-3601 ]
Siobhan McCallen made changes - 14/Jan/09 04:06 AM
Link This issue is related to by SVC-3655 [ SVC-3655 ]
Iexo Bethune added a comment - 18/Mar/09 09:24 AM - edited
I think this particular idea has merit. LL's takeover of SLEX, at least as far as they will say, is demonstration of their commitment to merging SL function with user creations. Such a policy would seem to be consistant with implimentation of this suggestion, thereby making a merger of scripted combat systems with the SL damage system viable.

Perhaps the SL damage system could be made so that it will function only with a scripted system intigrated into it, not on it's own, either all the time, or when such an option is selected in land options. Furthermore, combat system creators would need to get in contact with LL to intigrate their systems. The combat system would provide the healthbar, healing, damage taking methodology, and other features, and when death is to come, would communicate with the SL damage system to trigger a death simulation.

Having the actual death handled by the game itself rather than scripts opens up possibilities such as disabling object rezzing when dead, not allowing the user to "fix" death by just detaching their combat system, as they would just stay dead once it's removed, but now have no way to reset it, as that would be a function of the scripted system. Ontop of all that, having death handled by the game would also make it possible, and actually not difficult, to impliment the "ragdoll" system that Havok 4 is capable of, and that everyone has been raving about, thereby allowing combat systems to trigger this ragdoll via intigration with SL damage. This, of course, would allow for more realistic death sequences, and physically pushable bodies that would soar through the air like ragdolls when killed, or thrown after death, by explosions or large calibur weapons.

In short, I think this idea here, though rough, has some merit. Moreso, actually, than the other posts that this one has been linked to. You have my vote, and I'll spread the word.


Jahar Aabye added a comment - 27/Apr/09 02:51 PM
Here's the thing: Most of the things requested in this ticket are already supported by resident-designed combat systems. Sure, it would be great if LL updated their default combat system to bring it up to the level of resident-designed systems. However, that requires a good bit of work on the part of LL, not to mention the danger of introducing new bugs and unexpected behavior, with the only gain being that it generally enables features that are already available through resident-designed systems.

I'm not sure that I see any major gain from this. Currently, the sole advantage of the default SL Damage system is that it is simple and easy to set up, and has universal rules that apply across all sims. This makes it useful for things such as military roleplay combat, where having a simple and universal system independent of any of the various competing factions is desired. By implementing this request, you would wind up removing the one useful advantage of the default SL Damage system, and replacing it with new features that basically clone what is already available in SL today.


Maggie Darwin added a comment - 27/Apr/09 05:20 PM
Such function may already be available as scripted objects, but script time (and soon, memory) and the resultant lag are already hotbeds of conflict on combat sims today. This small enhancement would make Linden damage useful again....and you wouldn't have to wear anything, or worry about some forms of cheating.

Of course, if you're in the business of sellling a particular combat system, or weapons tuned for one, you wouldn't like this idea.


Jahar Aabye added a comment - 28/Apr/09 06:11 AM
Lemme rephrase what I said to make it a bit easier to understand:

As the improvements asked for in this request are already available via scripted, resident-designed systems, this feature strikes me as falling under the category of "would be nice to have," but I wouldn't rate it as a top priority. More importantly, I'm not certain that the risks would necessarily be worth the gains.

Now, one major advantage to this that I can see is that the current Damage system does cause quite a bit of network and database lag when it involves large numbers of residents being teleported around. By eliminating the death teleport, this could relieve some of the lag involved. And of course, since land tools already offer options such as "Freeze" I suppose that some version of that functionality could be used here. So I don't think that this ticket is infeasible. However, I would be worried about the effect that autokillers and other various devices already in existence would have in such a situation. One would be killed, and then upon being revived, killed again, etc etc.

Also, the reporter of this ticket might wish to know that there is already a default "dead" animation. No need to add that, although I suppose I can see little harm to adding "dead2" and "dead3" or something so as to give more options. It's ok, I honestly hadn't realized that there was a default "dead" animation either until recently, when I was going through a new resident-designed combat system and saw a call for llStartAnimation("dead"); I searched through the object inventory for an animation called "dead" and was initially rather confused when I didn't find it. For a moment, I couldn't understand why it wasn't giving me a script error telling me that the animation wasn't found, until it hit me: AHA! A default animation it must be!

For more information on the available default animations (and there are surprisingly very many of these animations), please see:

http://wiki.secondlife.com/wiki/Internal_Animations


Maggie Darwin added a comment - 28/Apr/09 07:50 AM
Most "new feature" requests do fall into the "nice to have" category.

And as we've said before, we think more people would use the native damage system if it was just a little more flexible than "you died, TP home".

Anything that reduces script load, especially in a combat sim where we already rely on scripting for the operation of weapons and vehicles, has got to be beneficial.

If you think there's a lot of ruckus about script time now (and even more so now that that estate managers can see how much time each avatar's attachments are burning), just you wait until the planned per-avatar and per-parcel limitations on script memory are in place.


Jahar Aabye added a comment - 28/Apr/09 10:59 AM - edited
Oh trust me Maggie, I cannot wait until there are per-parcel and especially per-avatar script limitations in place, although I'd prefer to see them based on script time or EPS rather than simple memory usage. Poorly-written, inefficient scripts are a blight upon SL, and I am in favor of anything that encourages scripters to write more efficient code.

My experience with combat in SL is that weapons (and vehicles, if applicable) tend to contribute far more script load on a simulator than the combat system itself in many cases. Of course, this depends upon the combat system used. However, I have seen poorly scripted weapons create situations in which there was far greater script time, EPS, and overall lag in Damage-based combat sims than in some places with scripted health-meters.

Certainly anything that lowers the script load on a simulator is a good thing. And actually, where I see the greater savings in this proposal is in eliminating the teleport home feature, since that seems to add a significant database load. Having avatars constantly teleporting into and out of a sim, or even teleporting within a sim (when a sim has a public homepoint within it) is not a good thing.

Scripting a basic meter that would accomplish the changes requested here would be unlikely to add a significant amount of script load. I understand that you are rightly concerned about script load when looking at combat meters such as DCS or CCS, which have a large amount of functions and communicate frequently with off-world databases, but scripting a basic combat system to do what you are asking here is rather trivial.

Here's a basic starter concept:

integer health = 100;
integer percentage = 10;
key owner;
float deathtime = 15.0;
integer dead = FALSE;
string ownername;

settext()
{

if(!dead)

{ llSetText(ownername + "\n" + (string)health + "%",<1.0,1.0,1.0>,1.0); }

else

{ llSetText(ownername + "\n DEAD",<1.0,0.0,0.0,1.0); }

}

default
{

state_entry()
{

owner = llGetOwner();
ownername = llKey2Name(owner);
if(llGetAttached() != -1)

{ llRequestPermissions(owner,PERMISSION_TRIGGER_ANIMATION); settext(); }

}

collision_start(integer hit)
{

if(llVecMag(llDetectedVel(0) >= 25)
{

if(!dead)
{

health = health - percentage;
if(health <= 0)

{ dead = TRUE; llStartAnimation("dead"); vector pos = llGetPos(); llMoveToTarget(pos); llSetTimerEvent(deathtime); }

settext();

}

}

}

timer()

{ llSetTimerEvent(0.0); llStopMoveToTarget(); llStopAnimation("dead"); dead = FALSE; health = 100; settext(); }

on_rez(integer param)
{

if(owner != llGetOwner())

{ llStopMoveToTarget(); llResetScript(); }

}

I mean, that's fairly basic, obviously there's plenty else that can be added. But my point is that it's not overly difficult to do, nor should it necessarily cause a serious script load to implement.

However, I do see the point of giving the option to eliminate death teleports, given the amount of strain that they can place on a region and on the database, as well as the problems that occur in Damage-enabled regions when teleports get screwy due to overload.

EDITED: minor mistake in the code


Maggie Darwin added a comment - 28/Apr/09 11:13 AM
Well, we are told both script time and memory limitations are coming. Hooray.

But the idea here was not to devise yet another scripted combat system (which always seems to result in stupid power games, marketing lock-ins, profiteering and political machinations on the part of the systems and weapons sellers) but to make a currently mostly un-useful feature already in the simulator code more useful.

Given the priorities currently driving the Linden devs, I don't think you need to worry about it being implemented anytime soon.