From 63e383744171d061a0512547e68e299a17f181fb Mon Sep 17 00:00:00 2001 From: bdnugget Date: Sun, 12 Jan 2025 23:57:18 +0100 Subject: [PATCH] Fix movement on other player --- constants.go | 2 +- goonserver | 1 + network.go | 14 +++++++------- 3 files changed, 9 insertions(+), 8 deletions(-) create mode 160000 goonserver diff --git a/constants.go b/constants.go index a31f2c9..0061079 100644 --- a/constants.go +++ b/constants.go @@ -7,6 +7,6 @@ const ( MapHeight = 50 TileSize = 32 TileHeight = 2.0 - TickRate = 2600 * time.Millisecond // Server tick rate (600ms) + TickRate = 600 * time.Millisecond // Server tick rate (600ms) serverAddr = "localhost:6969" ) diff --git a/goonserver b/goonserver new file mode 160000 index 0000000..1d6d3ab --- /dev/null +++ b/goonserver @@ -0,0 +1 @@ +Subproject commit 1d6d3ab2eadf488d6ec0e5ba85005b3e57e372ea diff --git a/network.go b/network.go index 75959e8..46eb367 100644 --- a/network.go +++ b/network.go @@ -97,14 +97,13 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot for _, state := range serverMessage.Players { if state.PlayerId != playerID { if otherPlayer, exists := otherPlayers[state.PlayerId]; exists { - otherPlayer.PosTile = Tile{X: int(state.X), Y: int(state.Y)} - otherPlayer.PosActual = rl.Vector3{ - X: float32(state.X * TileSize), - Y: float32(state.Y * TileHeight), - Z: float32(state.Y * TileSize), + // Instead of directly setting position, set up path for smooth movement + targetTile := Tile{X: int(state.X), Y: int(state.Y)} + if otherPlayer.PosTile != targetTile { + otherPlayer.TargetPath = []Tile{targetTile} } - otherPlayer.MoveTowards(Tile{X: int(state.X), Y: int(state.Y)}, 0) } else { + // Initialize new player otherPlayers[state.PlayerId] = &Player{ PosTile: Tile{X: int(state.X), Y: int(state.Y)}, PosActual: rl.Vector3{ @@ -112,7 +111,8 @@ func HandleServerCommunication(conn net.Conn, playerID int32, player *Player, ot Y: float32(state.Y * TileHeight), Z: float32(state.Y * TileSize), }, - ID: state.PlayerId, + ID: state.PlayerId, + Speed: 50.0, // Make sure to set the speed for smooth movement } } }