A game discovery tool that helps users find video games based on fuzzy memories and partial details.
Powered by the IGDB API.
The system calculates a Total Score for each game to determine its ranking. Instead of filtering games out, it adds or subtracts points based on how well they match the input.
The calculation happens in 4 steps:
Checks if the search query appears in the game's text fields.
| Variable | Definition | Points |
|---|---|---|
| Query found in Title | +1.5 | |
| Exact Title Match | x2.0 multiplier | |
| Query found in Keywords | +0.8 | |
| Query found in Alt Names | +0.5 | |
| Query found in Summary | +0.3 |
Adds points if the game matches the selected filters (Genre, Theme, Mode, Perspective).
Example: If 2 genres are selected and the game has both, it gets +1.0 point.
Boosts or reduces the score based on critical constraints.
| Filter | Logic | Multiplier | Result |
|---|---|---|---|
| Platform | Match | x1.0 | Score stays same |
| No Match | x0.3 | Score drops 70% | |
| Category | Main Game | x1.0 | Score stays same |
| DLC (Unwanted) | x0.5 | Score drops 50% | |
| Company | Developer | x2.2 | Score doubles |
| Publisher | x1.8 | High boost | |
| Porting | x1.3 | Medium boost | |
| Supporting | x1.2 | Small boost | |
| No Match | x1.0 | Score stays same |
Combines the base score with multipliers and applies final bonuses/penalties.
Where
-
Date:
$-0.1$ points for every year outside the range. -
Age Rating:
$+0.2$ points if it matches. -
Tie Breaker: Adds
rating / 1000to sort games with equal scores.
- Node.js 18+
- A Twitch Developer application (for IGDB API access)
-
Clone the repository
git clone https://github.com/your-username/FindThaGame.git cd FindThaGame
-
Install dependencies
npm install
-
Configure Environment
Create a
.env.localfile with your Twitch credentials:TWITCH_CLIENT_ID=your_client_id
TWITCH_CLIENT_SECRET=your_client_secret
-
Run Development Server
npm run dev
MIT