Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Playtesting Scheduler

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.

Features

  • 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

How It Works

The scheduler uses a smart algorithm to:

  1. Prioritize Game Creators: Ensures each game creator is assigned to their own game
  2. Handle Long Games: Games over 60 minutes are automatically scheduled across both time slots
  3. Balance Load: Distributes games evenly across available time slots
  4. Optimize Player Assignment: Randomly assigns available students while respecting player count requirements
  5. Track Unassigned Games: Identifies games that couldn't be scheduled due to insufficient players

Getting Started

Prerequisites

  • Node.js (version 14 or higher)
  • npm or yarn package manager

Installation

  1. Clone the repository:
git clone [repository-url]
cd playtesting-scheduler
  1. Install dependencies:
npm install
  1. Start the development server:
npm start
  1. Open your browser to http://localhost:3000

Usage

  1. Add Students: Enter student names separated by commas in the text area
  2. 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
  3. Generate Schedule: Click "Generate Schedule" to create optimized time slots
  4. Review Results: Check the generated schedule and any unassigned games

Example Workflow

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

Technical Details

  • 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

File Structure

src/
├── App.js          # Main application component
├── App.css         # Application styles
└── index.js        # Entry point

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages