This is a submission for Weekend Challenge: Passion Edition
For this weekend's challenge, we were prompted to "build something inspired by passion". The prompt highlighted that passion can be seen in "the rivalry that pushes competitors to greatness" and the "devotion fans pour into their teams, their fandoms, their crafts". To capture this intense spirit of rivalry and fandom, I built Spinweb-a fast-paced, 2D physics-based spinning top battler inspired by the passionate clashes of Beyblade.
In Spinweb, players choose their arena and their battle style (Attack, Defense, or Stamina), slingshot their top into a high-stakes basin, and actively battle a dynamically adapting AI opponent. To truly capture the anime-style rivalry, the game uses AI to dynamically generate aggressive trash-talk before the match and hype esports-style commentary after the clash!
.
Spinweb is a 2D side-view, physics-based spinning top battler with a retro pixel-art aesthetic. Built using Phaser 3 and Matter.js, the game integrates the Google Gemini API to generate real-time, context-aware pre-match rivalry trash-talk and post-match esports commentaries.
Developed for the DEV.to Weekend Challenge: Passion Edition.
In Spinweb, players choose their arena and select a signature Beyblade-style behavior (Attack, Defense, or Stamina). Once selected, players release their slingshot launch vectors to shoot their tops into a high-speed clashing stadium, jockeying for center control and avoiding Ring Outs and Sleep Outs using real-time keyboard inputs.
Spinweb captures the Passion…
I built Spinweb over the weekend using Phaser 3, Matter.js, and Vite. Building a high-impact spinning battler required some deep physics hacking:
angularVelocity
(spin speed) to a stamina bar. Collisions dynamically calculate tangential velocity and transfer kinetic energy into linear knockback force (clash drain). This means faster-spinning tops hit harder and resist being knocked out of the ring!Integrating the Partner Technologies:
The official challenge rules note that participants may use multiple technologies in a single submission to qualify for multiple prize categories. I utilized two of them to elevate the game's presentation:
I am submitting this project for the following prize categories: