Inspiration

Inspired by jackbox games and the social aspects of "Spotify wrapped" and League + Valorant's own year in reviews, we realized that there is much potential in joining these genres with both fun, informative, and social merit.

What it does

Vel'Koz's Quiz

Enter Vel'Koz's void observatory where your match history becomes his latest experiment. He asks questions pulled from your actual stats: which champion did your friend play most? Who had the worst KDA? How many pentakills did the group get?

You have 15 seconds to answer. Get it wrong and Vel'Koz charges his laser to disintegrate you along with everyone else who failed. The AI generates questions from your real data, so every session is different. Vel'Koz mocks your failures with cold precision while you desperately try to remember if your friend played 47 or 52 games of Yasuo this season.

Azir's Courtroom

Face judgment in Azir's grand Shuriman court where your worst games go on trial. The AI finds everyone's most embarrassing match and assigns roles: one defendant, one prosecutor, and everyone else as jury. CEO Mundo serves as the defense attorney.

The prosecutor gets 60 seconds to lay out their accusations. The defendant gets 60 seconds to defend themselves. While deliberating, jury members can throw tomatoes or boo.

Then the jury votes guilty or not guilty, and a verdict is delivered. Every player takes a turn as the defendant. By the end, everyone's been roasted and the friend who went 2/18 on Garen has faced justice.

Death by Blitzcrank

Enter Blitzcrank's Hextech simulation chamber where he presents tactical scenarios based on your match history. "Your nexus is at 100 HP and Baron-buffed enemies are pushing mid. Who defends?" or "It's game 5 at Worlds. What champion do you give your friend?"

You pick an answer and write your justification. The AI reads your reasoning and checks it against actual stats. Did you pick the friend with a 30% win rate on engage champions? Did you put someone on Yasuo when they're a Malphite one-trick?

Blitzcrank runs the simulation. Good choice and solid reasoning? You get a success scenario where your pick clutches the fight. Terrible choice? You get a failure scenario where everything goes wrong. The lab is all steam and sparks while Blitzcrank's robotic voice coldly analyzes each decision.

The Rift Remembers Awards Ceremony

After all three games comes your League Wrapped moment. Group stats reveal first: total games played, gold earned, most-played champions. Each stat gets a dramatic reveal with animations.

Awards are also given! "One Trick Wonder" for the person who spammed one champion. "The Feeder" for highest average deaths. "Farm Simulator" for the CS king. "Clutch Player" for best comeback win rate.

Next is the power chart: a hexagonal radar showing your playstyle across aggression, survivability, farming, objectives, teamfighting, and clutch factor. The AI then compares you to pro players and tells you who you play like.

Finally, a shareable summary screen with your highlights, awards, power chart, and pro comparison. Download it and share wherever you want.

How we built it

We use lambdas to query the Riot API and store player match history and process their match history into a "snapshot". Our game backend is hosted on a container using the Colyseus SDK and the game itself frontend is written on the Kaplay framework.

Challenges we ran into

We wanted to use RAG to access player information but creating a vector store for every player on their entire match history was simply not performant enough for being able to start a game on demand; querying the entire match history, generating text embeddings, then querying against the LLM per player is just not viable. Players would sit in queue for a few minutes per player.

Accomplishments that we're proud of

A creative solution where the social and sharing aspect of year reviews is inherently baked into the project. It's both a fun and witty way to engage with the history while still letting players review their playstyle(s) reflectively.

What we learned

Working with lots of data and desiring on-demand data are conflicting goals since data processing is such a memory and compute intensive requirement. Since the nature of data can be preprocessed, doing so could meet up with the requirements to run the game itself. Of course that would require a big batch process that is quite understandable for folks to do as part of a data aggregation, year-end review.

What's next for The Rift Remembers

Polish up the games, visuals, audio, extending games more with some more stats and awards that players would have a great time sharing with their friends, either in game or on social media.

Built With

Share this project:

Updates