🌟 Inspiration
We all remember the nostalgic Pen Fight game played on school desks during free periods. The idea was to bring that same joy into a digital space, with a mix of physics, fun, and simplicity — accessible to anyone with a browser.
🎮 What it does
Pen Fight lets players place their pens in an arena and take turns flicking them. The pens slide, bounce, and collide with realistic(ish) physics. If you manage to knock your opponent’s pen out of the arena, you win!
🛠️ How we built it
- HTML5 Canvas for rendering the arena and pens.
- Vanilla JavaScript (ES6) for handling physics, collisions, turns, and win conditions.
- CSS3 for a clean and minimal interface.
- No libraries, no frameworks — just raw, simple, lightweight code.
🚧 Challenges we ran into
- Implementing realistic sliding and bouncing physics from scratch.
- Handling turn-based gameplay smoothly without external libraries.
- Making drag-and-release controls feel natural with both mouse and touch.
- Keeping the game logic simple but still fun and engaging.
🏆 Accomplishments that we're proud of
- Recreating a nostalgic game experience entirely with vanilla code.
- Achieving a smooth physics system without any external engines.
- Designing a minimal but polished UI that works right out of the browser.
- Building a project as a team and reviving childhood memories in code.
📚 What we learned
- Deeper understanding of canvas-based rendering and custom physics.
- Better collaboration and workflow in a team setting.
- The challenges of balancing simplicity vs. realism in game mechanics.
- Importance of testing across devices for input consistency.
🚀 What's next for Pen Fight
- ✅ Make the game fully responsive for mobile screens.
- 🌐 Add online multiplayer support.
- 🎨 Add custom pen skins and power-ups.
- 📊 Improve physics realism while keeping the gameplay fast and fun.
- 🔊 Add sound effects for collisions and victories.
Log in or sign up for Devpost to join the conversation.