Files
tekton/_daily_basis/report_2026-01-01.md
T
2026-01-01 05:21:25 +08:00

42 lines
2.7 KiB
Markdown

[ ADT's Report ]
Updated the `tekton-enet` ( Armageddon Multiplayer ) on branch `launcher`
**Network Animation Synchronization**
**Animation RPC Functions** - Added `sync_walk_animation()`, `sync_pickup_animation()`, `sync_put_animation()`, and `sync_special_animation()` RPC functions to `player.gd` for network-synced animations.
**Manager Updates** - Updated `player_movement_manager.gd`, `playerboard_manager.gd`, and `powerup_manager.gd` to call RPC animation sync functions instead of local-only animation methods. Now all players see each other's walking, grab, put, and power-up animations.
**Username Synchronization**
**Display Name Variable** - Added `display_name` variable to `player.gd` that stores the player's actual username from their profile.
**Lobby Name Sync** - Updated `lobby_manager.gd` to send the client's username and character to the host when requesting room info via `request_room_info()`. Host now correctly displays client usernames instead of "Player 12345".
**Auto-Use Profile Name** - Updated `lobby.gd` to hide the name input field for logged-in users and automatically use `UserProfileManager.get_display_name()`. Only guest users see and can edit the name input.
**In-Game Name Display** - Updated `player.gd` `_ready()` to look up display name from `LobbyManager.get_players()` and sync via `sync_display_name()` RPC. Player name labels and message bar now show actual usernames.
**Leaderboard Name Fix**
**Display Name Usage** - Updated `main.gd` to use `player.display_name` instead of `player.name` (peer ID) in 6 locations: `_on_leaderboard_updated()`, `_show_game_over_panel()`, `request_leaderboard_sync()`, `sync_leaderboard_data()`, and `_update_leaderboard_display()`.
**Player Rotation Sync**
**Rotation RPC** - Updated `player_movement_manager.gd` to call `rpc("sync_rotation", target_rotation)` when player rotates toward a target. Other clients now see correct facing direction.
**Smooth Interpolation** - Updated `sync_rotation()` RPC in `player.gd` to also set `movement_manager.target_rotation` for smooth rotation interpolation on remote clients.
---
**Nakama Local Development Checklist** (Next Steps)
**Docker Compose Setup** - Create `server/docker-compose.yaml` with Nakama + PostgreSQL services for local development on Docker Desktop (Windows/Mac).
**Run Locally** - Start Nakama on localhost:7350 via `docker-compose up -d`.
**Tunnel with localhost.run** - Use `ssh -R 80:localhost:7350 nokey@localhost.run` to expose port 7350 for remote device testing.
**PostgreSQL Learning** - Study the Nakama PostgreSQL schema and flow for managing user data, storage, and leaderboards. Goal: Make the online dedicated server more flexible with PostgreSQL.