Jump to content
CoffeeDujour

Please. Can we have more physics.

Recommended Posts

Simulator physics and the number of updates sent to the client is solely responsible for the way Second Life feels. Movement, running, vehicles, combat games, even simply walking are dependent on it, and wholly responsible for Second Life feeling like treacle at best. This feeling is responsible for a large part of the "Second Life Sucks" impression many people have, creating an instant negative impression from the very first session and causing pain every single day for the rest of an avatars life.

It's impossible to create anything avatar-movement-interactive that feels like an actual game, and while we're all busy declaring "SL ISN'T A GAME" .. we're covering up for the fact we wish it could at least feel like we're interacting with one. Gaming in SL could totally be a thing, it's easily possible to get the aesthetic and interactive elements right (even more so with Animesh approaching).. just so long as nobody moves.

Just a little more time for physics would make a huge difference to literally everything we do in SL that isn't standing still chatting .. imagine if we could actually do more than that!

How about some physics on the client with the havok libs we already have on everyone's desktop for navmesh visualization and mesh uploading.

 

At this point the only reason I can think this has persisted for so long is that no one at the Lab has ever played an actual game. Some one set up a minecraft server, get a few staff on and run around for 20 minutes punching each other and then log into SL.

 

Share this post


Link to post
Share on other sites

We had physics on classic avatars, adjustable HUD even. All doesn’t happen with mesh body, only the realistic hand/face/etc. 

timez seem to have changed!  ‘Magine dat, in SL!

Share this post


Link to post
Share on other sites
1 minute ago, AviNews said:

We had physics on classic avatars, adjustable HUD even. All doesn’t happen with mesh body, only the realistic hand/face/etc. 

timez seem to have changed!  ‘Magine dat, in SL!

I'm not talking about avatar physics, jiggy butts and boobs etc .. Those are still a thing and they work with mesh bodies. 

I'm talking about the physics engine that underpins the entire platform.

  • Haha 1

Share this post


Link to post
Share on other sites
6 hours ago, CoffeeDujour said:

How about some physics on the client with the havok libs we already have on everyone's desktop for navmesh visualization and mesh uploading.

Client side physics using Havok would shut out all TPVs apart from Firestorm & Catznip though.
As far as I'm aware only FS & Catznip meet the criteria for the Havok sublicense from LL.

  • Like 3

Share this post


Link to post
Share on other sites
37 minutes ago, Whirly Fizzle said:

Client side physics using Havok would shut out all TPVs apart from Firestorm & Catznip though.
As far as I'm aware only FS & Catznip meet the criteria for the Havok sublicense from LL.

And even then only on Windows and Mac.

Linux has no Havok enabled client for Second Life (that I am aware of).

Edited by Solar Legion
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

SL viewers could do a lot with viewer-side collision detection. Even without full physics (inertia, friction, etc.).  Viewer side, avatars should detect collisions during animations, and a collision should act like a higher priority animation that stops motion at the  joint that caused the collision. That wouldn't need full Havok, just the collision detection engine. The open source collision engine in Bullet is probably good enough. OpenSim uses Bullet, so there's already some code to look at.

It only needs to know about avatars. Maybe nearby big flat surfaces like walls, floors, and furniture. Probably locked objects only; then you don't have to worry about stationary objects moving.

That would prevent animations from putting limbs through other body parts. When you hugged someone with an big hug, the animation rotates the shoulders, elbows, then the wrists.  The arms would then close until they touched the avatar, then the shoulders would stop rotating. Then the elbows continue to close, until the forearms touch the back of the avatar being hugged. Then they stop. Finally the wrists move, and the hands come in contact with the back of the avatar being hugged, and stop. You'd get a nice hug, whatever the size of the avatar being hugged.

This would improve dancing, combat, and  sex animations. Even idle movement AOs would get better. It doesn't have to be in every viewer to work. With better viewers, you'd get better looking animations. This isn't full physics. It's not even close to modern game character animation technology. It's just applying collisions limits to animations. It's something that could be retrofitted to SL at modest cost.

There's so much that could be done to improve SL, if it had a user base greater than 1% of Minecraft.

(I used to write physics engines.)

Edited by animats
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
On 4/29/2018 at 7:56 PM, CoffeeDujour said:

At this point the only reason I can think this has persisted for so long is that no one at the Lab has ever played an actual game. Some one set up a minecraft server, get a few staff on and run around for 20 minutes punching each other and then log into SL.

3

Seriously!?! 

I've never been in Minecraft with 20 other players in the same place. Is that possible? I mean 20 in a single server? And what kind of lag develops with 20 players?

Doom was a way fun FPS that allowed up to 8 players in a local server based game and it worked really well. That the SL system adds in 40,000+ concurrent players and has some issues isn't surprising.

While Unity is the most popular Cry and Unreal have big advantages. Still, an article on Improbable's blog pointed out,

Quote

 

Multiplayer games aren’t very different. The game loop is split between client and server, with the client dealing with inputs and rendering, and the server performing the world simulation work.

But there is a limit to what can be achieved building games this way. You can only fit so much physics and AI on a single server, and this inevitably leads to compromises in terms of the size of the world, the number of players, or the complexity of the physics or the AI.

 

 

There are people pushing the Unreal engine and building machines designed to support it. But, the limits of custom hardware and network limit the max to 140+/- users per server. These people talk about 'stability' and do not mention lag.

There are things that can improve SL. However, the Havok physics engine is not cheap nor the bottom of the barrel. Replacing it would be a lot of work and the benefit, if any, likely wouldn't justify the effort. Havok is generally listed in every top 'physics engines' list. Its used in some awesome games.

SL's lag issues are legendary. But, there is no single fix as the state of gaming tech is what it is. 

Animats recent suggestions to the Lab for improving region crossing/tp have lead to the recent server updates to improve inter-region communication between servers rolling out as RC this week.

So, while it is easy to say, 'fix physics and all will be great'... it just isn't that easy.

  • Like 1

Share this post


Link to post
Share on other sites
31 minutes ago, Nalates Urriah said:

Seriously!?! 

I've never been in Minecraft with 20 other players in the same place. Is that possible? I mean 20 in a single server? And what kind of lag develops with 20 players?

Yes, it totally is. Public mini game servers.

31 minutes ago, Nalates Urriah said:

Doom was a way fun FPS that allowed up to 8 players in a local server based game and it worked really well. That the SL system adds in 40,000+ concurrent players and has some issues isn't surprising.

Doom isn't really a 3D game .. and SL doesn't have 40K users on the same server. Most servers have less than 5 at any given time. 

 

31 minutes ago, Nalates Urriah said:

While Unity is the most popular Cry and Unreal have big advantages. Still, an article on Improbable's blog pointed out,

There are people pushing the Unreal engine and building machines designed to support it. But, the limits of custom hardware and network limit the max to 140+/- users per server. These people talk about 'stability' and do not mention lag.

Planetside 2 manages 2000 per continent. If you haven't played, go give it a go (it's F2P) .. the mayhem really needs to be witnessed. 

31 minutes ago, Nalates Urriah said:

There are things that can improve SL. However, the Havok physics engine is not cheap nor the bottom of the barrel. Replacing it would be a lot of work and the benefit, if any, likely wouldn't justify the effort. Havok is generally listed in every top 'physics engines' list. Its used in some awesome games.

I'm not asking for it to be replaced, I'm asking that it be given it's legs back. There is nothing wrong with the physics engine we have, just how we get to interact with it.

  • Like 2
  • Haha 1

Share this post


Link to post
Share on other sites
5 hours ago, CoffeeDujour said:

Planetside 2 manages 2000 per continent. If you haven't played, go give it a go (it's F2P) .. the mayhem really needs to be witnessed. 

Look into Sansar. It's designed for high frame rates (to somewhat reduce the upchuck rate of goggle wearers) and has no region crossings. Once LL gets more of the features implemented, people should be able to create games in it.

Comparing SL to running around in Minecraft? Isn't there a wee bit of difference in the graphics? It's comparing apples to kumquats.

Share this post


Link to post
Share on other sites
2 minutes ago, Parhelion Palou said:

Comparing SL to running around in Minecraft? Isn't there a wee bit of difference in the graphics? It's comparing apples to kumquats.

Do not mistake simple texturing and blocky appearance for a simple to render world. Minecraft with a few mods can bring a high end PC to it's knees - It's a genuine feat of software engineering.

Edited by CoffeeDujour
  • Like 1

Share this post


Link to post
Share on other sites

Even CAMERA ONLY client side collision would be awesome. It wont affect anyone else and there will be no more clipping into walls for a split second while the viewer waits for the region to tell it to move.

The SL client really is just a 3D dumb terminal.

e2167037bbc727a80a90761cece85b4b.jpg

 

  • Like 2

Share this post


Link to post
Share on other sites
On 1.5.2018 at 8:37 PM, Nalates Urriah said:

I've never been in Minecraft with 20 other players in the same place.

I've been in SL with 20 other players in the same place and that is not something I want to try again in a hurry. Is it just as bad in Minecraft?

Share this post


Link to post
Share on other sites
On 30.4.2018 at 7:35 PM, animats said:

There's so much that could be done to improve SL, if it had a user base greater than 1% of Minecraft.

But it has! More than 1.5% of Minecraft's user base if we count the alts and bots. ;)

 

Edited by ChinRey

Share this post


Link to post
Share on other sites
4 hours ago, ChinRey said:

I've been in SL with 20 other players in the same place and that is not something I want to try again in a hurry. Is it just as bad in Minecraft?

No. It's the exact opposite of what your Second Life experience will lead you to expect. At this point, not having played Minecraft is a bit like not having seen StarWars.

Seriously though people .. Youtube - Planetside2 Zerg - This game has no NPCs. Every combatant is a human player. Vehicles can contain multiple players. The continents are VAST and HUNDREDS of people can be in the same place at the same time. Sure graphics optimization and game limitations have a whole lot to say, but the real star here is the netcode and physics engine.

4 hours ago, ChinRey said:

But it has! More than 1.5% of Minecraft's user base if we count the alts and bots. ;)

But unlike Mincraft, we're not children. We have money and we spend it month after month. A sizable portion of the SL economy ends up paying for server time.

Share this post


Link to post
Share on other sites

Thing is, PS2 was made specifically with the goal of hosting so many players on one session - I'm no programmer but I believe SL is a 15 year old jenga tower of code at this point.

  • Like 1

Share this post


Link to post
Share on other sites

It's a well loved project, that doesn't mean it's a tangled web of lucky gibberish that happens to keep working by pixie dust alone. As anyone who has submitted code to them will tell you, LL do have some fairly robust coding standards.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

I have to agree, it'd be great to utilize physics to its fullest thats achievable with havok. There's talk of client improvements, so I would imagine that is in the mix somewhere, with more dynamic fast loading lightweight LOD, and seamless region crossings lol.  :)  Also, if more optimized, the server side could use that extra room to detect more things for collision, and more efficiently moving things, obstacles, elevators, etcetera, which I really want to build lol.

Why not also have more modern SL water?  OpenGL can do some really neat (and even better performing) things with water these days.  Have the diffuse, Normal, and Specular fade out on the water edges for a smooth transition , also add underwater caustics light effect lol, and ability for creators to use the water shader on a prim, so pools & skyboxes water is actually water.

 

 

 

Edited by Macrocosm Draegonne

Share this post


Link to post
Share on other sites
On 9/17/2018 at 2:23 AM, Macrocosm Draegonne said:

Why not also have more modern SL water?

Water 2.0 is certainly possible .. it would however fall foul of LL's shared experience rules.

Share this post


Link to post
Share on other sites
21 hours ago, CoffeeDujour said:

Water 2.0 is certainly possible .. it would however fall foul of LL's shared experience rules.

How so?  I was just thinking having the water shaders in the viewer be updated, not necessarily a huge overhaul.  Or do you mean if they made a proprietary water no other grid could use?

Share this post


Link to post
Share on other sites
On 9/16/2018 at 11:23 PM, Macrocosm Draegonne said:

I have to agree, it'd be great to utilize physics to its fullest that's achievable with Havok. 

Havok may be dead as a product. Microsoft bought them in 2015, and since then, not much has been heard from them. They pulled all the documentation from their web site and hid it behind a Microsoft support portal. Their last press release was three years ago.

  • Haha 1

Share this post


Link to post
Share on other sites
11 hours ago, animats said:

Havok may be dead as a product. Microsoft bought them in 2015, and since then, not much has been heard from them. They pulled all the documentation from their web site and hid it behind a Microsoft support portal. Their last press release was three years ago.

Basically nobody wants to pay the license fees either right?  Maybe MS will do something cool to enhance it, and make it cheaper.  Is there some alternative that wouldn't break everything in SL to implement it? 

Edit:
Bullet Physics is slightly similar and a lot more capable, in Skyrim SSE 64bit theres no havok 64bit without a crazy license fee, so the author of the most popular physics mod used bullet physics library to make a similar but better implementation of avatar physics.  I believe bulletphysics is opensource and on github, not sure its of any use for SL in particular, but it is interesting and works really well.

Edited by Macrocosm Draegonne

Share this post


Link to post
Share on other sites
21 minutes ago, Macrocosm Draegonne said:

Basically nobody wants to pay the license fees either right?  Maybe MS will do something cool to enhance it, and make it cheaper.  Is there some alternative that wouldn't break everything in SL to implement it? 

Edit:
Bullet Physics is slightly similar and a lot more capable, in Skyrim SSE 64bit theres no havok 64bit without a crazy license fee, so the author of the most popular physics mod used bullet physics library to make a similar but better implementation of avatar physics.  I believe bulletphysics is opensource and on github, not sure its of any use for SL in particular, but it is interesting and works really well.

OpenSim uses Bullet physics. They used to use the Open Dynamics Engine, but seem to have switched. OpenSim has some sims running ODE and some running Bullet, and they more or less interoperate.

There are objects in world which depend on quirks of Havok code. Convex hull decomposition has to be done Havok's way, quirks and all, to keep existing objects working. When the SL viewer's mesh uploader shows you the convex hull view, it's not showing you what the simulator has done. It's showing you what the simulator is going to do when it does it exactly the same way. Which is why the Firestorm viewer doesn't even try to show that.

  • Thanks 1

Share this post


Link to post
Share on other sites
39 minutes ago, animats said:

OpenSim uses Bullet physics. They used to use the Open Dynamics Engine, but seem to have switched. OpenSim has some sims running ODE and some running Bullet, and they more or less interoperate.

There are objects in world which depend on quirks of Havok code. Convex hull decomposition has to be done Havok's way, quirks and all, to keep existing objects working. When the SL viewer's mesh uploader shows you the convex hull view, it's not showing you what the simulator has done. It's showing you what the simulator is going to do when it does it exactly the same way. Which is why the Firestorm viewer doesn't even try to show that.

Damn, seems like heart surgery to replace the physics engine lol, I suppose that will have to happen eventually if Havok goes away?  Bonus is physics stuff being updated would be epic.  We'd have more responsiveness and appeal while also decreasing server load?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...