About the Project

The Idea

Everyone who grew up in school has probably played Pen Fight on a classroom desk. It was simple, competitive, and every match felt different because the players created their own challenges.

I wanted to recreate that feeling—not as another physics game, but as a game where the community creates the content.

Instead of fighting predictable AI opponents, players create impossible trick shots, obstacle courses, and precision flick challenges for others to beat. Every completed challenge unlocks new ones created by real players, making the game constantly evolve without requiring handcrafted levels.

The goal is simple:

One physics system. Unlimited player creativity.


Inspiration

The project was inspired by childhood memories of playing Pen Fight during school breaks.

What made the game memorable wasn't just flicking a pen—it was inventing ridiculous setups using erasers, sharpeners, rulers, notebooks, and whatever happened to be on the desk. Every classroom became a new level.

I wanted to capture that same creativity in a digital experience.


How I Built It

The game is built using Phaser.js and integrated directly into Reddit via the Devvit platform, featuring a custom physics-based flick system.

Players choose where to hold the pen, drag to control power, and release to launch it. Applying force at different points changes both the linear motion and angular rotation, making each flick feel skill-based rather than random.

Players can then:

  • Create custom challenge levels
  • Place obstacles and define objectives
  • Publish challenges for the community
  • Attempt challenges made by other players
  • Improve their scores through better precision and strategy

Rather than designing hundreds of levels myself, I designed the tools that let players become the level designers.


Challenges

The biggest challenge wasn't building physics—it was making the physics feel natural.

Real pens don't behave like perfect rigid bodies. I spent a significant amount of time tuning:

  • Force application
  • Angular momentum
  • Rotation damping
  • Friction
  • Collision response

Small adjustments completely changed how satisfying the game felt.

Another challenge was designing a system where user-created levels remain fun, fair, and skill-based while still allowing creative freedom.


What I Learned

This project taught me that a compelling game isn't built from mechanics alone.

A simple mechanic becomes far more engaging when players can express creativity through it.

Instead of asking:

"How many levels can I build?"

I started asking:

"How can I let players build the next thousand levels?"

That shift transformed the project from a physics prototype into a community-driven challenge platform.


What's Next

Future plans include:

  • Global leaderboards for every challenge
  • Challenge sharing with unique codes
  • Daily featured community challenges
  • Seasonal events
  • Multiplayer challenge races

My vision is to create a game where every time a player opens it, there's a brand-new challenge waiting—created not by me, but by another player somewhere in the world.

Built With

Share this project:

Updates

Submission history