Skip to content

Arjun123x/Matchmaking-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Emotionally-Aware Matchmaking System

This project simulates a competitive PvP matchmaking system that models and responds to Player Emotional Variables (PEVs) such as Satisfaction, Tilt, Burnout, and Churn Risk. Built with Python and Django, it tracks per-match, session-level, and all-time performance to evaluate how player psychology evolves over time.

The system uses synthetic player data, psychologically-informed metrics, and dynamic trait-based match simulations. Itโ€™s designed to explore how emotionally-aware matchmaking can improve fairness, retention, and long-term engagement.


๐Ÿง  Key Features

  • ๐ŸŽฏ PEVs like Satisfaction, Tilt, Novelty Need, Percieved Fairness, Competence Satisfaction, Resilience, Burnout Risk, and Churn Risk
  • ๐ŸŽฏ These PEVs are used to have a wholistic understanding of each player's mental state after every game and session
  • ๐Ÿงช Match-level, session-level, and long-term stat tracking
  • ๐Ÿ—๏ธ Modular PEV calculation engine (pev.py) using synthetic data
  • ๐Ÿง  Trait-based player simulation (aggression, social play, preference matching)
  • ๐Ÿ“Œ Match and Session simulations to influence PEVS
  • ๐Ÿ” Django models for full player-match-session architecture

๐Ÿ“Œ Why This Matters

Matchmaking systems typically optimize for Skill Based Matchmaking(SBMM) or Engagement Optimized Matchmaking(EOMM). SBMM allows for closer games and higher variability but can often lead to serious burnout. Players are forced to either perform their best or let their winrate suffer. EOMM on the other hand has one goal: to keep the player on the game for as long as possible. This system has been known to lose players' percieved fairness, since many matches have a clear expected winner and loser team.

This project goes further by simulating player emotions over time. It explores how psychological signals can help shape healthier, more engaging matchmaking logic. This is part of a larger effort to rethink how engagement, fairness, and retention are modeled in competitive multiplayer environments. I hope to create a system that prioritizes competence, satisfaction and retention: a system that benefits developers and gamers.


๐Ÿ“‚ Key Files

  • models.py โ€” Player, Match, PlayerMatch, and Session structure
  • pev.py โ€” PEV formulas for each emotional variable
  • utils.py โ€” Synthetic data generation and helper logic

๐Ÿ”ฎ Roadmap

  • Front-end dashboard for player/PEV insights
  • Session archetypes (rage quitters, grinders, casuals)
  • Deep dive into retention prediction using PEV trajectories

๐Ÿ›  Setup (Python 3.10+)

git clone https://github.com/Arjun123x/Matchmaking-Project.git
cd Matchmaking-Project
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

Create a .env file with:

OPENAI_API_KEY=sk-...your-key...

Then run:

python manage.py runserver

About

A simulation-based matchmaking system using emotional modeling to optimize player satisfaction.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published