A tactical artillery game featuring authentic fire control mechanics, ammunition management, and grid-based targeting.
Control a field artillery piece from a top-down view looking down range. Use a combination of direction, elevation angle, and powder charge to hit targets scattered across the battlefield. Use smoke rounds to "walk in" your fire before committing high explosive rounds.
pip install -r requirements.txtRun the game:
python main.py- Left/Right Arrow Keys: Rotate cannon direction (azimuth) left and right
- Up/Down Arrow Keys: Adjust elevation angle
- Number Keys 1, 2, 3, 4: Select powder charge level
- Tab or X: Toggle between HE and Smoke rounds
- M: Toggle map view (grid overlay with target coordinates)
- Spacebar: Fire the cannon
- R: Restart game (when game over)
- ESC: Quit to menu
Charge System:
- Charge 1: Close range targets (0-250m)
- Charge 2: Medium-close range (200-400m)
- Charge 3: Medium-far range (350-550m)
- Charge 4: Long range targets (500-700m)
Ammunition Types:
- HE (High Explosive): Destroys targets and scores points
- Smoke Rounds: Marks impact locations without destroying targets. Use for ranging and spotting.
Tactical Gameplay:
- Press "M" to view the map and identify target coordinates (e.g., "Target 1: A1")
- Estimate range and select appropriate charge
- Fire a smoke round to mark the area
- Observe where the smoke lands relative to the target
- Adjust direction and angle based on smoke marker
- Fire HE round to destroy the target
- Top Center: Score and target information
- Bottom-Right: Fire control panel (Direction, Angle, Charge)
- Bottom-Left: Ammunition panel (Shells remaining, Ammo type)
Destroy all targets using limited ammunition. Use smoke rounds wisely to conserve HE rounds!
- Authentic artillery fire control mechanics
- Grid coordinate system for tactical targeting
- Two ammunition types (HE and Smoke)
- Realistic ballistic physics
- Map view with target coordinates
- Strategic gameplay emphasizing planning and precision
Enjoy the methodical challenge of artillery warfare!