GAME SPECIFICATION: Python/Pygame Bomberman Clone

1. Game Overview

2. Core Game Mechanics

The World

Characters (Humans & Bots)

Bombs & Explosions

Story Mode Monsters

Power-Ups (Hidden in blocks)

3. Menu System & Game States

A State Machine architecture will manage the flow of the application.

  1. Main Menu: Title graphic and selectable text options (“Start Story Mode”, “Start Multiplayer Mode”, “Quit”).
  2. Story Mode State: The standard Single-Player Bomberman experience (finding the exit, defeating enemies).
  3. Multiplayer League/Tournament State: A separate mode pitting 4 characters (Human or AI) against each other without standard wandering enemies or an exit door.
  4. Pause Menu: Triggered by hitting ESC during gameplay. Pauses action; shows “Resume” and “Quit to Menu”.
  5. Level Transition/Round Over:
    • Story Mode: Shows “Level Cleared - Going to Level X”.
    • Multiplayer Mode: Displays the scoreboard showing wins/kills between rounds.
  6. Game Over: Triggered when the player loses lives (Story Mode) or when the tournament ends (Multiplayer Mode goal reached).

4. Technical Architecture

Using Object-Oriented Programming (OOP) to handle game entities.

Project Structure (File Separation):

To keep the codebase maintainable, avoid bloated single scripts. Separate classes into distinct modules:

Core Classes:

Scalability & Future-Proofing Requirements:

To ensure the game can seamlessly transition to multiplayer and tournament features later on, adhere to the following architectural patterns from the start:

Unit Testing Requirements:

To ensure the game logic is robust and independent of the rendering cycle, decouple core logic from Pygame specifics (such as screen rendering) wherever possible. Recommended test coverage (using unittest or pytest):

Core/Story Mode Tests:

Multiplayer/Tournament Mode Tests:

5. Implementation Milestones (Prompts for Future AI Dialogues)

When you start building, you can feed this spec to the AI and ask it to complete these phases one by one: