Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Movement #1

Open
3 tasks
LEPA4 opened this issue Feb 14, 2024 · 7 comments
Open
3 tasks

Movement #1

LEPA4 opened this issue Feb 14, 2024 · 7 comments
Assignees
Labels
Client Client side code Important Do Now! Physical Objects in game/Interface/Nodes Server Server side code

Comments

@LEPA4
Copy link
Contributor

LEPA4 commented Feb 14, 2024

  • Client-Side Input
  • Server-Side Calculation
  • Packet-Player Updating
@LEPA4
Copy link
Contributor Author

LEPA4 commented Feb 14, 2024

How should movement be managed?

Maybe have the client manage if the player can move somewhere and then send it to the server to beam it out to the others. ->
Pros: The client runs smoothly, simple to implement
Cons: Hacking, less equal in updating

Some form of representation of the map (and items on it) on the server side and manage position there and the updating of it. ->
Pros: Everyone updates the exact same, less hackable, more functionality can be tied to it
Cons: Complex, slower for the clients to update (and more memory required on the server)

@darkninja1
Copy link
Contributor

Bro no ones gonna try hacking also who cares about their movement It's all about the shots those need to go through server

@darkninja1
Copy link
Contributor

on second thought if we want restricted areas we will need this

@darkninja1
Copy link
Contributor

server map works best

@LEPA4
Copy link
Contributor Author

LEPA4 commented Feb 14, 2024

It's a little more complicated than that... and it's not only about hacking, but also collisions in general... and also glitches as the server will be able to prevent people from glitching into an object.

@darkninja1 darkninja1 added Important Do Now! Server Server side code Client Client side code Physical Objects in game/Interface/Nodes labels Feb 15, 2024
@darkninja1 darkninja1 assigned darkninja1 and LEPA4 and unassigned darkninja1 and LEPA4 Feb 15, 2024
@LEPA4
Copy link
Contributor Author

LEPA4 commented Feb 15, 2024

Solution: We use another Godot project to be the server so that we can simulate where everything is (very basic visuals to save space)...

This is why server meshing is important for large-scale games because the processing power it would take to simulate a huge planet is fairly difficult.

@LEPA4
Copy link
Contributor Author

LEPA4 commented Feb 15, 2024

The server updates at a fixed rate (i.e runs a constant 30 frames per second) to avoid those with higher fps from gaining an advantage (it may increase process time)

@LEPA4 LEPA4 self-assigned this Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client Client side code Important Do Now! Physical Objects in game/Interface/Nodes Server Server side code
Projects
None yet
Development

No branches or pull requests

2 participants