Here’s a clear, concise draft you can paste directly into your hackathon submission:
Inspiration
We wanted to explore the theme of “unintended behaviour” by merging two completely different genres — chess and platformers — to see what happens when precise logic controls unpredictable movement. The result is a chaotic but strategic experiment in how small, deliberate actions can have large physical consequences.
What it does
Every white move made on the chessboard translates into a motion for the player in a vertical platformer world. The direction and distance of each move affect the character’s jump and horizontal shift, while Stockfish plays as black to create dynamic gameplay tension. The goal is to climb as high as possible through the platforms while balancing chess tactics and timing.
How we built it
We used Phaser for the platformer physics and rendering, and chess.js to handle move validation and FEN positions. A custom TypeScript event system links the chess logic to real-time movement, while Stockfish.js provides the AI opponent. The interface and scenes (menu, leaderboard, game over) were all implemented in Phaser for a cohesive experience.
Challenges we ran into
Integrating chess logic with physics-based movement required constant synchronization between asynchronous systems. Getting one-way collision detection for jump-through platforms to behave correctly was also complex. Finally, tuning Stockfish’s difficulty and random-move behaviour to make the game fun rather than unbeatable took significant iteration.
Accomplishments that we're proud of
We successfully combined two unrelated mechanics — chess and a physics platformer — into a fully playable and surprisingly fun prototype. The visuals, menus, and event-driven architecture make it feel like a complete game experience. Seeing a pawn move trigger an actual jump on screen was a satisfying milestone.
What we learned
We learned how to bridge turn-based and real-time systems within a single engine, manage custom event buses in Phaser, and use Stockfish asynchronously in a browser. We also deepened our understanding of game physics, collision filtering, and how design choices affect player experience.
What’s next for ChessPlatformer
We plan to add online multiplayer support, dynamic levels, and a scoring system linked to move efficiency. A future version could feature puzzles or time-based challenges tied to chess tactics. Ultimately, we’d like to polish it into a web-playable indie mini-game that blends strategy and chaos even further.
Built With
- javascript
- phaser.js
- sveltekit
- typescript
Log in or sign up for Devpost to join the conversation.