🚀 Inspiration
Fortress Frontlines drew inspiration from the childhood game Tank Trouble, and it managed to capture our hearts with its straightforward and tactical gameplay. We targeted this remake by adding many unique aspects, such as dynamic maps, power-ups, and additional multiplayer options. Hopefully, it would again make us feel like kids experiencing the magic and wonders of games for the first time. This would make it a game full of energy and action, where rapid movements and the placement of good strategy count for everything.
🎯 What it does
Fortress Frontlines is a 2D top-down shooter where players control tanks in maze-like arenas with obstacles. The core modes of this game include:
- Practice Mode: Play solo and sharpen your skills against an immobile tank.
- 2 Player Mode: Engage in intense, head-to-head battles with a friend in local multiplayer.
Players will move the tanks, shoot bullets, and use covers at strategically in order to win over their adversaries. The game features procedural generated obstacles, highly responsive controls, and exciting power-ups that bring intensity and even some unpredictability in every single match.
🛠️ How we built it
Frontend Framework: Built entirely using p5.js for rendering graphics, handling input, and game loop management. Core Game Logic: Written in JavaScript, handling mechanics for movement, shooting, collision detection, and scoring. Physics & Collision: Integrated p5.collide2d.js for precise collision detection between bullets, tanks, and walls. Modular Architecture: Separated key game components into distinct files: - tank.js for tank mechanics - bullet.js for projectile behavior - wall.js for obstacle generation - grid.js for map layout logic
⚡ Challenges we ran into
- Collision Detection: Handling accurate bullet bounces and tank-wall collisions was tricky, especially with fast-moving projectiles and tight spaces.
- Balancing Gameplay: Ensuring both players had equal advantages required constant tweaking of tank speed, bullet velocity, and map layouts.
- Bug Fixes: Unexpected issues like tanks getting stuck in walls or bullets clipping through edges required careful debugging.
🏆 Accomplishments that we're proud of
- Successfully implemented real-time multiplayer mechanics for local 2-player battles.
- Created a randomized map generator that ensures every match feels fresh and unpredictable.
- Developed smooth, responsive controls that make the gameplay feel fast and satisfying.
- Added an intuitive pause menu with options to resume or exit without breaking the game flow.
📚 What we learned
- Mastered p5.js for game development beyond simple sketches, applying it to complex mechanics like collision detection.
- Improved our understanding of game physics, especially around vector math for movement, shooting angles, and bounce calculations.
- Gained experience in modular coding practices, making the codebase more organized and maintainable.
🔮 What's next for Fortress Frontlines
- Online Multiplayer: Expand from local play to online battles with matchmaking and competitive leaderboards.
- Advanced Power-Ups: Introduce new abilities like speed boosts, shield barriers, and multi-shot weapons.
- Map Editor: Allow players to create and share their custom maps.
- AI Difficulty Levels: Add an AI model for Practice Mode with adjustable difficulty settings.
- Mobile Optimization: Adapt controls and UI for mobile devices to reach a wider audience.
Thank you for checking out Fortress Frontlines! 💥🚀
Log in or sign up for Devpost to join the conversation.