Josh, a question!

The S&M crowd is getting naughty with the game files.

Josh, a question!

Postby Silverware » Thu Sep 24, 2015 2:25 pm

Currently, we are awaiting Limit Theory 1.0 with all the patience of a toddler who can SEE their birthday presents!

So I am wondering how the game currently separates input and action and rendering at a code level.

Do you have a object/script/interface that passes information through to the game to simulate the display?
Or are things a little less flexible, with the commands from a user directly modifying the game?

This might not be the best way to ask, but it's so I can get an idea of how much work it will be to hack the user input away from the world simulation, so that we (the community) can start abusing your wonderful creation with the insertion of Multiplayer! Much like the world did to Just Cause 2.
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby Slymodi » Thu Sep 24, 2015 3:04 pm

MVVM :ghost:

~Sly
DARKNESS CANNOT DRIVE OUT DARKNESS
User avatar
Slymodi
Rear Admiral
 
Posts: 1348
Joined: Sun Feb 03, 2013 2:51 pm
Location: Third rock from Sol

Re: Josh, a question!

Postby JoshParnell » Thu Sep 24, 2015 3:09 pm

Silverware wrote:Currently, we are awaiting Limit Theory 1.0 with all the patience of a toddler who can SEE their birthday presents!

So I am wondering how the game currently separates input and action and rendering at a code level.

Do you have a object/script/interface that passes information through to the game to simulate the display?
Or are things a little less flexible, with the commands from a user directly modifying the game?

This might not be the best way to ask, but it's so I can get an idea of how much work it will be to hack the user input away from the world simulation, so that we (the community) can start abusing your wonderful creation with the insertion of Multiplayer! Much like the world did to Just Cause 2.


Not sure exactly what's being asked, but scripting in LT is about as flexible as it can get. (Some degree of) multiplayer mod should be feasible if and when I get the networking functions integrated into LTSL. It sounds like you're asking if input is directly injected into the game to change state? If so, then no. Any kind of mouse / keyboard / gamepad code that you see will be in script, the game engine is not concerned with that. The game engine provides support for creating objects with certain configurations of data, allowing access to that data, and providing an interface to a rendering engine capable of using that data to put things on screen.

If you're asking does user input currently directly modify game state (through LTSL) rather than having client / server separation? Then yes. To fix this someone will need to implement an LTSL-based LT "server-only" that holds only the game state, and sends/receives requests from clients to modify that state. This will mean changing the LTSL to look less like "if the thrust-forward key is down, send a message to the currently-piloting object to activate all backward-facing thrusters" to "send a message to the server requesting that all backward-facing thrusters on my currently-piloting object be activated." The server then modifies the state based on that request (and, if security is a concern, verifies that the request is valid). The server will also need to broadcast game state changes to all clients, so that everyone has a local game state that is kept in sync.

In theory it's not too hard. In practice it's extremely difficult to get it working really well. In terms of LT, it should be a "reasonable but not overwhelming" challenge to build a 'good-enough' multiplayer. If you want to build perfect multiplayer that includes state prediction, backtracking / interpolation, anti-cheat measures, good compensation for high latencies, support for loads of clients in the same verse, etc...best wishes :ghost:
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
User avatar
JoshParnell
Developer
 
Posts: 4237
Joined: Sun Oct 07, 2012 3:06 pm
Location: Baton Rouge, LA

Re: Josh, a question!

Postby Silverware » Thu Sep 24, 2015 3:15 pm

Awesome, perfect response!

Post release then I will require sockets in the LT engine. :D :squirrel:
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby Talvieno » Thu Sep 24, 2015 3:17 pm

Silverware wrote:Awesome, perfect response!

Post release then I will require sockets in the LT engine. :D :squirrel:

Already in. :squirrel: At least from what I remember.
User avatar
Talvieno
Community Manager
 
Posts: 8004
Joined: Fri Apr 11, 2014 6:50 pm
Location: North GA, USA

Re: Josh, a question!

Postby Silverware » Thu Sep 24, 2015 3:18 pm

Talvieno wrote:
Silverware wrote:Awesome, perfect response!

Post release then I will require sockets in the LT engine. :D :squirrel:

Already in. :squirrel:



Well then... I wish I had known to back this, so I could get into the beta level specific to build Multiplayer for us all. :D
GUISE!
Multiplayer is plausible and possible and we are going to build the shit out of it!
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby GoatChops » Thu Sep 24, 2015 6:32 pm

Silverware wrote:
Talvieno wrote:
Silverware wrote:Awesome, perfect response!

Post release then I will require sockets in the LT engine. :D :squirrel:

Already in. :squirrel:



Well then... I wish I had known to back this, so I could get into the beta level specific to build Multiplayer for us all. :D
GUISE!
Multiplayer is plausible and possible and we are going to build the shit out of it!


Who let you out of the Off topic section :?:

Also yes building the shit out of it is exactly what we will do :squirrel:
User avatar
GoatChops
Lieutenant Commander
 
Posts: 113
Joined: Sun May 31, 2015 9:35 pm

Re: Josh, a question!

Postby Grumblesaur » Thu Sep 24, 2015 9:50 pm

JoshParnell wrote: If you want to build perfect multiplayer that includes state prediction, backtracking / interpolation, anti-cheat measures, good compensation for high latencies, support for loads of clients in the same verse, etc...best wishes :ghost:


I should hope anti-cheat be unnecessary for a community server.
User avatar
Grumblesaur
Moderator
 
Posts: 1989
Joined: Sun Dec 02, 2012 8:57 pm
Location: Spotsylvania, VA, USA

Re: Josh, a question!

Postby Silverware » Thu Sep 24, 2015 10:24 pm

Grumblesaur wrote:
JoshParnell wrote: If you want to build perfect multiplayer that includes state prediction, backtracking / interpolation, anti-cheat measures, good compensation for high latencies, support for loads of clients in the same verse, etc...best wishes :ghost:


I should hope anti-cheat be unnecessary for a community server.


You should, I will take the pragmatic approach and make sure it is not required, but making sure the player doesnt get given anything (data) they can abuse. :V
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby Grumblesaur » Thu Sep 24, 2015 10:31 pm

Silverware wrote:You should, I will take the pragmatic approach and make sure it is not required, but making sure the player doesnt get given anything (data) they can abuse. :V


Nothing thrashes wishful thinking like a healthy dose of reality, I guess.
User avatar
Grumblesaur
Moderator
 
Posts: 1989
Joined: Sun Dec 02, 2012 8:57 pm
Location: Spotsylvania, VA, USA

Re: Josh, a question!

Postby Silverware » Thu Sep 24, 2015 11:01 pm

Grumblesaur wrote:
Silverware wrote:You should, I will take the pragmatic approach and make sure it is not required, but making sure the player doesnt get given anything (data) they can abuse. :V


Nothing thrashes wishful thinking like a healthy dose of reality, I guess.


And nothing makes one hate another more than people cheating, when you are trying to play fair.
Plus, why not do it right from the get go?
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby Grumblesaur » Thu Sep 24, 2015 11:19 pm

Silverware wrote:
Grumblesaur wrote:
Silverware wrote:You should, I will take the pragmatic approach and make sure it is not required, but making sure the player doesnt get given anything (data) they can abuse. :V


Nothing thrashes wishful thinking like a healthy dose of reality, I guess.


And nothing makes one hate another more than people cheating, when you are trying to play fair.
Plus, why not do it right from the get go?


I think it'd be neat to do an experiment, but describing what it would entail here might spoil the results.
User avatar
Grumblesaur
Moderator
 
Posts: 1989
Joined: Sun Dec 02, 2012 8:57 pm
Location: Spotsylvania, VA, USA

Re: Josh, a question!

Postby Silverware » Thu Sep 24, 2015 11:37 pm

Grumblesaur wrote:I think it'd be neat to do an experiment, but describing what it would entail here might spoil the results.


Indeed it would, although allowing the client to make gameplay decisions would go against my personal belief of "do it right first time" but any mod I do write would be opensource, so you could still run that experiment :D
ᕕ(ಠ‸ಠ)⊃━☆゚.*・。゚
Image
User avatar
Silverware
Vice Admiral
 
Posts: 2806
Joined: Sun Sep 07, 2014 3:23 pm
Location: Goattown-Three, Sigma Six, Goat Space

Re: Josh, a question!

Postby Graf » Sun Dec 06, 2015 1:56 pm

Sounds like we are going to need a git repository to handle this. :geek:

Unless everybody wants svn. :? :angel:

(Flame shield online.) :wave:
Libertas per Technica
Graf
Commander
 
Posts: 244
Joined: Sun Mar 09, 2014 8:14 pm
Location: Virginia, USA

Re: Josh, a question!

Postby FormalMoss » Sun Dec 06, 2015 2:52 pm

Graf wrote:Sounds like we are going to need a git repository to handle this. :geek:

Unless everybody wants svn. :? :angel:

(Flame shield online.) :wave:


Nah, let's just set up a mailing list and work it that way..
Let the code flow
(thanks Dune - the movie)
:wave:
YAY PYTHON \o/

In Josh We Trust
-=326.3827=-


User avatar
FormalMoss
Captain
 
Posts: 957
Joined: Fri Jun 06, 2014 8:06 am

Next

Return to Scripting & Modding



Who is online

Users browsing this forum: No registered users and 2 guests