Media Stupor
A competitive multiplayer online game that turns any movie or tv watch party into a competetive party game.
The Game
Media Stupor endeavors to craft captivating competitive online
multiplayer party games, creating new ways to and enjoy and
engage with your favorite movies and TV shows.
Employing a custom relational datatypes and machine learning
startegies, this project transforms the prevalent clichés and
tropes within the chosen media into interactive tiles featured
on dynamic 3D bingo boards, collectively shared among all
participating players.
As the narrative clichés and tropes unfold during the media
presentation, an exhilarating race to locate the corresponding
titles ensues. The first player to successfully spot and claim
the tile gains control of it, simultaneously extending the
opponents' drink timers in a playful twist.
Subsequently, the player who secures control of a tile is tasked
with defending it should the same trope or cliché resurface. A
strategic tug-of-war ensues as rival participants vie to be the
first to click the tile. Success in this endeavor amplifies the
tile's value in points and augments the drink penalties imposed
on competitors.
The Tech
Media Stupor is a dynamic website that necessitated full-stack
development.
The project is segmented into three distinct development realms:
FRONT-END, BACK-END, and DATA.
THE FRONT-END:
The visual presentation heavily relies on SVGs, allowing for the
creation of lightweight, easily stylized, dynamically generated,
and animatable assets made interactive through JavaScript (JS).
A entirety of a game on Media Stupor fits within 4kb,
encompassing the game board, tiles, player information, and the
JS that makes the game interactive and powers the multiplayer
experience.
To maintain a lightweight profile, vanilla JS is chosen over a
framework, while the GreenSock JS library handles SVG
animations.
THE BACK-END:
The server, built entirely with the Go programming language,
handles database interactions, HTML templating, and networking.
This unified application can be seamlessly deployed on a web
server, such as an AWS EC2 instance.
A custom database interface library streamlines complex data
handling, generating game boards tailored to consumed media and
progressively enhancing intelligence with each played game.
Leading to the most exciting aspect:
THE DATA:
The data architecture accommodates game creation, achievement
unlocking, game item acquisition and trading, and stat tracking.
The system evolves over time as connections between data points
strengthen.
Relationships between clichés, movies, genres, and more are
learned as players engage, enhancing game quality over time.
User-media relationships drive recommendations that improve on
conventional systems, introducing users to new favorite content
which might not have been discovered by other means.
For optimal speed and cost-efficiency, a custom-designed Go
database interface library stores complex relational data in a
simple PostgreSQL database.