A web application designed to streamline game playtesting sessions for the LMU Game Design course. This tool automatically generates optimal schedules for student game testing sessions based on game requirements and student availability.
- Student Management: Add students to the playtesting pool via comma-separated input
- Game Registration: Register games with detailed specifications including:
- Game name and creator
- Duration (in minutes)
- Minimum and maximum player requirements
- Smart Scheduling: Automatically generates schedules across two time slots with intelligent player assignment
- Conflict Resolution: Handles scheduling conflicts and player availability constraints
- Visual Schedule Display: Clear, organized view of scheduled games and player assignments
The scheduler uses a smart algorithm to:
- Prioritize Game Creators: Ensures each game creator is assigned to their own game
- Handle Long Games: Games over 60 minutes are automatically scheduled across both time slots
- Balance Load: Distributes games evenly across available time slots
- Optimize Player Assignment: Randomly assigns available students while respecting player count requirements
- Track Unassigned Games: Identifies games that couldn't be scheduled due to insufficient players
- Node.js (version 14 or higher)
- npm or yarn package manager
- Clone the repository:
git clone [repository-url]
cd playtesting-scheduler- Install dependencies:
npm install- Start the development server:
npm start- Open your browser to
http://localhost:3000
- Add Students: Enter student names separated by commas in the text area
- Add Games: Fill out the game form with:
- Game name
- Creator name (must match a student name)
- Duration in minutes
- Minimum player count
- Maximum player count
- Generate Schedule: Click "Generate Schedule" to create optimized time slots
- Review Results: Check the generated schedule and any unassigned games
Students: Alice, Bob, Charlie, Diana, Eve, Frank
Games:
- "Space Adventure" by Alice (30 min, 3-4 players)
- "Card Battle" by Bob (45 min, 2-6 players)
- "Epic Quest" by Charlie (90 min, 4-5 players)
The scheduler will automatically:
- Assign Alice to test "Space Adventure" with 2-3 other students
- Schedule "Epic Quest" across both time slots due to its 90-minute duration
- Balance remaining games across available slots
- Frontend: React with functional components and hooks
- State Management: React useState for local state management
- Styling: CSS modules for component styling
- Algorithm: Custom scheduling algorithm with conflict resolution
src/
├── App.js # Main application component
├── App.css # Application styles
└── index.js # Entry point