A Scorched Earth-inspired 2D artillery game built in Python with Pygame and a Tkinter-based setup menu. Customize your players, terrain, and settings — then blast your friends into pixel dust.
-
Procedural terrain generation with Perlin noise
-
Local multiplayer (2+ players)
-
Angle + power control cannon system
-
Explosions with terrain destruction and gravity-based collapse
-
Firework show on game over 🎆
-
Simple HUD with fuel, power, and health display
-
Menu system to customize tanks, terrain, and game balance
TerraNuka/
├── main.py # Game entry point
├── assets/ # Sounds
├── core/ # Game logic modules
│ ├── config.py # Constants, bounds
│ ├── drawing.py # HUD, explosion previews, health bars
│ ├── entities.py # Tanks, Projectiles, Fireworks
│ ├── enums.py # Game state enums
│ ├── globals.py # Shared runtime state & sounds
│ ├── physics.py # Collision, gravity, explosion logic
│ ├── terrain.py # Terrain generation
│ └── ui.py # Tkinter game setup menu
- Clone the repo
git clone https://github.com/yourusername/TerraNuka.git
cd TerraNuka
- Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate
- Install dependencies
pip install -r requirements.txt
cd TerraNuka
python3 main.py
A Tkinter menu will open. After selecting your options, the game window will start.
-
Python 3.8+
-
Pygame
-
noise (Perlin terrain generation)
-
Tkinter (usually comes with Python)
If tkinter is missing on Debian/Ubuntu:
sudo apt install python3-tk
All sounds are already royalty free, but feel free to replace assets/sounds/ with your own effects or other royalty-free audio.
-
Add wind effects 🌬️
-
Expand missile types
-
Add AI bots
-
Add high score tracking
-
Polish game over screen