Files
DungeonsOfKharadum/src/TESTING.md

3.7 KiB

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]