Jump to content

Leadwerks Physics Only


gothboiclique
 Share

Go to solution Solved by Josh,

Recommended Posts

Hello again,

Would it be possible to run Leadwerks without a GPU in a server environment to simulate physics?

 

Edit: Just for some more information, I've been working on a multiplayer game in Leadwerks for the past few months, it's very basic right now. I've written a client and a server using the engine. The clients simulate all information with interpolation and the server validates movement to prevent teleporting, etc. The server needs to be able to determine if a weapon was fired without obstruction, etc.

 

Edit #2: Removing context->sync and world->render brings my GPU down to 0% for the application and still allows physics (at least I believe) to operate functionally. My clients were still receiving the velocity and position updates that are done through physics. My fear, however, is that OpenGL will still be required to run the app even if it doesn't open any window.

 

Thanks!

Link to comment
Share on other sites

All dlls are loaded at start up but I don't think OpenGL is initialized until the context is created. You sadly need a context class to create a world class with Leadwerks.

If you have the C++ dlc, you can look into calculating physics with the newton api directly. 

Not a network guy or a physics guy but that's what I got. 

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

That's what I feared. I haven't really looked at the Newton API but frankly, I don't feel like converting every object in the map to Newton. I hope that Josh perhaps has an answer.

 

I have found this: https://github.com/jamesbrink/docker-opengl and https://github.com/thewtex/docker-opengl. Both projects appear to allow OpenGL from inside Docker which would be perfect for a server environment with no GPU. I will try to test it tomorrow and see if it will work for me.

 

The main goal of my project would be to simulate hitboxes, collisions, ray casting, etc. I have some pretty high goals including snapshot interpolation for clients and server side lag compensation. After messing around with Leadwerks built in networking for just some basic stuff, I decided I wanted to go for the heavy stuff.

Link to comment
Share on other sites

  • Solution

OpenGL 4.0 is required for Leadwerks to initialize.

in Ultra Engine all rendering code lives on the rendering thread, so if you never call World::Render Vulcan will never get used.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

54 minutes ago, gothboiclique said:

Okay, sounds good. I haven’t seen anything about it yet but will Ultra Engine have any more advanced built in networking? Like replication? Or will this still be up to developers to implement.

thanks!

The networking will be mostly the same. For most uses, Steam P2P networking is the best choice. If you are making a relay server then you can use Enet. You can try to implement NAT punch-through, but you will still need a relay server because that will fail 10% of the time.

Regarding replication, we actually do have a general state serialization feature that works right now with C++ and Lua (and I don't think C# will be hard to implement). This can be used for both game state saves and probably can be useful for sharing data over a network. The video below shows me saving the game state and reloading it as I play.

 

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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.

 Share

×
×
  • Create New...