• 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.
MAINTENANCE ANNOUNCEMENT - JIRA will undergo maintenance starting 1:00am PDT through 3:00am on Saturday 2010.03.20. Please do not enter issues during this time as the system maybe restarted.
Issue Details (XML | Word | Printable)

Key: SVC-4435
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: TigroSpottystripes Katsu
Votes: 2
Watchers: 0
Operations

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

Unhardcode all avatar physics and expose all forces and cosntraints to both clients and scripts

Created: 21/Jun/09 06:35 AM   Updated: 28/Dec/09 09:16 PM
Component/s: Physics, Scripts, Simulation
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Relates
 


 Description  « Hide
for backwards compatibility, with any client that doesn't mention it knows about the system and wants control, the server applies the constraints and forces and control responses that match the current system

but for clients that does confirm to the server it knows about it and wanna do it, and for scripts (perhaps only with permission from the user, perhaps auto-granted for attachments), every type of constraint and forces, as well as separated sets of those properties for varied conditions (including control inputs, collisions, position etc) would be handed and opened for re-writing

this should allow for different handling of jumps, client-controlled flight assists, turning avatars by script! Changing the "up" direction of avatars, buoyancy on water and much more. And recreating the default behaviors under the new system will likely fix things like those jammings that happen when somthings at different stages of jumping go wrong and keep the avatar locked with some unwelcome constraints

The conditional changing of constraints and forces might require some sort of programming/scripting language of it's own to allow flexible customization, the ability of making things analogous to that the ceiling for flight, locking controls on hard landings for a few moments, allow time for animation before actually lifting off jumping, that stickyness to moving phys platforms I saw some Linden talking about elsewhere etc. Clients have the issue of network lag, and scripts can't perform fast enough for these things without overloading the sim, clients and scripts would simply instruct the server how to act on each situation in place of the current default behavior.

If there is concern about leaving the avatar in an unwelcome state when an attachment is detached, or an object gets out of range, give a button like Release controls for restoring default settings, and an option like Stop All Animations that also restores the default behaviors for cases where there isn't anything to be released anymore, and also make it so that changes caused by an attachment are reverted when detaching (except perhaps if a permission is given by the user, this one can't be auto-granted for attachments, and this permission for persistent changes should also be requested by non-attached objects (regardless of owner), some multisim environments might want to have everyone moving under different rules seamlessly)

Actually, it would be interesting to have sims have their own defaults, that can be overridden by parcel options, as well as client/script direct manipulation, perhaps have a preference in the client about automaticly accepting, always asking, or never accepting the defaults of the land.

Perhaps even make the individual sets of constraints and forces for each condition be a new inventory type, with all the permission stuff, but kinda like animations, allow inventory items that are restricted to the current owner be "played" on anyone, a no-mod, no-copy behavior set could be put by the sim owner into the sim settings, for a single sim since it is no copy, and without the sim owner nor any users seeing the code behind it, it would work for everyone in the whole sim. People could "wear" new motion behavior sets directly from inventory. This could be the origin of a whole new industry while at the same time easing the load on sims caused by flight assists, jump enhancers, "dashers" and many other lsl attempts of modifying the motion behavior of the avatar



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
robertltux McCallen added a comment - 28/Dec/09 12:57 PM
could be a massive hairball of code on both the server and client but this would be a very nice thing.

Non biped avatars would use this a lot


TigroSpottystripes Katsu added a comment - 28/Dec/09 09:01 PM
would be great for bipeds as well, leaning on corners, precision jumps, ability to run on loops like Sonic without having to sit on a vehicle, bullet-time jumps, wall jumps, iceskating, sliding down rails, more realistic walking, running and jumping momentum, running then laying down to slide under stuff etc, the possibilities are endless

TigroSpottystripes Katsu added a comment - 28/Dec/09 09:16 PM
OF course this wouldn't be limited to ground dwellers, acrobatic flying, wall crawling, swimming, swinging from prim to prim like Spidey, bouncing around in zero-G , gracefully gliding to the intended destination like a lfying squirrel, going Mario Galaxy on megaprims and so on

Things like becoming immobile like the Blob or unstoppable like Juggernaut, doing a wire-fu backflip right before being hit with by a speeding car and landing right where you were, grabbing someone and being dragged as they walk away, making sim ground and prims feel like one of those inflatable trampolines, wearing powerbochs, breaking your fall just a couple of meters before you splat like on old cartoons, hell, even being capable of walking past ledges until you look down might be achievable.

All of this without having to try to recreate a physics engine using LSL, the server already does similar calculations all the time when doing the physics of avatars, so there wouldn't be much change on the load of the physics engine, but much less load on the server from LSL physics being phased out and people using the already present physics engine instead of fighting it.