replace with multiplayer-coop files
This commit is contained in:
159
src/TESTING.md
Normal file
159
src/TESTING.md
Normal 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]
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user