replace with multiplayer-coop files

This commit is contained in:
2026-01-08 16:47:52 +01:00
parent 1725c615ce
commit 22c7025ac4
1230 changed files with 20555 additions and 17232 deletions

159
src/TESTING.md Normal file
View File

@@ -0,0 +1,159 @@
# Testing Guide
## Manual Testing Checklist
### Basic Functionality
#### Single Player Local
- [ ] Start game, host with 1 local player
- [ ] Player spawns correctly
- [ ] Movement with WASD/Arrow keys works
- [ ] Can grab objects with E
- [ ] Can throw objects with Q
- [ ] Camera follows player
#### Multiple Local Players
- [ ] Host with 2 local players
- [ ] Both players spawn
- [ ] Player 1 (keyboard) controls work
- [ ] Player 2 (gamepad) controls work
- [ ] Camera follows both players
- [ ] Camera zooms out when players spread apart
#### Networking - Host
- [ ] Host game successfully
- [ ] Host player spawns
- [ ] Can move and interact
- [ ] Client can connect
- [ ] Client players appear on host screen
#### Networking - Client
- [ ] Can join game at 127.0.0.1
- [ ] Client player spawns
- [ ] Can move and interact
- [ ] Host player visible on client screen
- [ ] Movement is synchronized
### Interaction System
#### Grab Objects
- [ ] Can grab nearby objects
- [ ] Object follows player when grabbed
- [ ] Can release object with E
- [ ] Object stays where released
#### Throw Objects
- [ ] Can throw held object with Q
- [ ] Object flies in direction of movement
- [ ] Object has physics (bounces, slides)
- [ ] Throw force is appropriate
#### Push Objects
- [ ] Walking into objects pushes them
- [ ] Heavy objects move slower
- [ ] Light objects move faster
- [ ] Push works from all directions
#### Grab Players
- [ ] Can grab other players
- [ ] Grabbed player follows grabber
- [ ] Grabbed player can't move
- [ ] Can release player
- [ ] Can throw player
### Multiplayer Scenarios
#### Host + 1 Remote Client
- [ ] Host with 1 local player
- [ ] Client joins with 1 local player
- [ ] Both can see each other
- [ ] Movement syncs correctly
- [ ] Can grab each other
- [ ] Can grab same objects
- [ ] Objects sync between players
#### Host + Multiple Local + Remote
- [ ] Host with 2 local players
- [ ] Client joins with 1 local player
- [ ] All 3 players visible
- [ ] All players can interact
- [ ] Camera works for local players
- [ ] Network sync is smooth
#### Multiple Clients
- [ ] Host with 1 local player
- [ ] Client 1 joins with 1 local player
- [ ] Client 2 joins with 1 local player
- [ ] All players visible to each other
- [ ] All interactions work
- [ ] No desync issues
#### Drop-in Gameplay
- [ ] Host starts game
- [ ] Play for 30 seconds
- [ ] Client joins mid-game
- [ ] Client spawns correctly
- [ ] Game state syncs to client
- [ ] No crashes or errors
### Edge Cases
#### Disconnection
- [ ] Client disconnects gracefully
- [ ] Client's players despawn on host
- [ ] Host can continue playing
- [ ] Other clients unaffected
#### Rapid Actions
- [ ] Grab and throw rapidly
- [ ] Spam movement keys
- [ ] Multiple players grab same object
- [ ] No crashes or glitches
#### Boundary Testing
- [ ] Players can't leave arena
- [ ] Objects bounce off walls
- [ ] Thrown objects don't escape
- [ ] Camera stays in bounds
## Automated Testing Notes
### Performance Metrics
- Target FPS: 60
- Network latency: < 100ms for LAN
- Player spawn time: < 1 second
- Object sync delay: < 50ms
### Known Limitations
1. Maximum 8 concurrent connections
2. Maximum 4 local players per machine
3. Objects may desync under extreme lag
4. No reconnection support yet
## Bug Reporting Template
```
**Bug Description:**
[Clear description of the issue]
**Steps to Reproduce:**
1. [First step]
2. [Second step]
3. [etc.]
**Expected Behavior:**
[What should happen]
**Actual Behavior:**
[What actually happens]
**Environment:**
- Godot Version: 4.6
- OS: [Windows/Linux/Mac]
- Network: [Local/LAN/Internet]
- Players: [Number and configuration]
**Console Output:**
[Any error messages]
```