Skip to content

TheEnderHacker/ArenaRoguelike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arena Roguelike

Ein dynamisches 2D-Roguelike-Spiel mit Slime-Feinden, Boss-Kämpfen und progressiven Upgrades - inspiriert von The Binding of Isaac.

🎮 Features

🎯 7 einzigartige Gegnertypen

  • 🟢 DASHER - Aggressive Nahkampf-Slimes mit Dash-Angriff (grüne Textur)
  • 🔴 SHOOTER - Schießende Slimes mit Dash (rote Textur)
  • 🟣 TANK - Tanky Gegner mit viel HP, langsam (lila Textur)
  • 🔵 SPRINTER - Sehr schnelle Gegner ohne Schießen (blaue Textur)
  • 🟠 SNIPER - Gefährliche, schnellschießende Gegner (orange Textur)
  • ASSASSIN - Teleportierende Feinde mit Dash (schwarze Textur)
  • 🟡 SUPPORTER - Gegner die andere heilen (gelbe Textur)

👑 5 verschiedene Boss-Varianten

  • Spread Shot - Triple-Schuss-Attacke
  • Spiral Burst - 8-Wege rotierendes Muster
  • Barrage - Schnelles Sperrfeuer
  • Laser Burst - Laser-Attacke
  • Mine Field - Minen-Platzierung

🎁 Boss-Fähigkeiten übernehmen

Nach jedem Boss-Kampf kannst du wählen:

  • ⚡ Eine einzigartige Boss-Fähigkeit übernehmen, ODER
  • 2× normale Upgrades (doppelter Effekt)

⚙️ Upgrade-System (Isaac-Style)

Mit Pro- und Kontra-Optionen:

  • +Damage - Direkter Schadensbonus
  • +Speed/-HP - Geschwindigkeit vs. Leben
  • +Multishot - Mehrere Projektile
  • Pierce - Projektile durchdringen Gegner
  • Lifesteal - Heilung beim Treffer
  • Magnet - Automatisches Aufsammeln von Drops
  • Und viele mehr...

🎚️ Schwierigkeitsstufen

  • LEICHT: 75% Enemy HP, 90% Speed, 85% Spawn-Rate
  • NORMAL: Standard-Balancing
  • SCHWER: 150% Enemy HP, 125% Speed, 150% Spawn-Rate

🎮 Steuerung (vollständig konfigurierbar)

  • WASD (oder konfiguriert) - Bewegung
  • Maus - Schießrichtung
  • Space (oder konfiguriert) - Dash / Ausweichen
  • H (oder konfiguriert) - Heilen mit Tränken
  • R (oder konfiguriert) - Boss-Fähigkeit aktivieren
  • ESC - Pause-Menü

🎵 Vollständiges Audio-System

  • 🎶 Verschiedene Musik je Bereich (Titel, Spiel, Boss, Upgrade, Gameover)
  • 🔊 Individuelle Lautstärke-Einstellung für:
    • Master-Lautstärke
    • SFX (Effekte)
    • Titel-Musik
    • Spiel-Musik
    • Boss-Musik
    • Upgrade-Musik
    • Gameover-Musik

⚙️ Settings mit 4 Reitern

  1. AUDIO - Alle Musik- und SFX-Einstellungen
  2. GRAFIK - Grafik-Optionen (1280x720)
  3. STEUERUNG - Alle 7 Keybinds individuell änderbar
  4. SPIELVORBEREITUNG - Schwierigkeit wählen (nur im Hauptmenü)

💾 Persistente Speicherung

  • ✅ Alle Settings werden in settings.json gespeichert
  • ✅ Funktioniert mit der .exe-Version
  • ✅ Portable Speicherung (neben der EXE)
  • ✅ Keybinds, Lautstärke, Schwierigkeit bleiben erhalten

📊 Gegner-Progression nach Level

Level Gegner-Pool
1-3 Dasher, Shooter
4-5 + Tank
6-8 + Sprinter
9-10 + Sniper
11+ + Assassin, Supporter

🎯 Gameplay-Mechaniken

Level-System

  • 3 Wellen pro Level mit zunehmender Gegner-Anzahl
  • Boss-Kämpfe alle 5 Level (Level 5, 10, 15, etc.)
  • Upgrade-Screen nach jedem Level mit 3 Optionen
  • 3 Sekunden Verzögerung nach Level-Clear zum Durchatmen

Drops & Collectibles

  • 🔴 Hearts (8% Chance) - Heilt 20 HP
  • 🟦 Shield Drops (5% Chance) - Füllt Schild
  • 🟨 Stamina Drops (6% Chance) - Füllt Stamina
  • 🟩 Potions (3% Chance) - Sammeln für H-Taste Heilen

Spieler-Stats

  • HP-System - Startet mit 100 HP
  • Shield-System - Optional wählbar, regeneriert NICHT automatisch
  • Stamina - Für Dash-Bewegung, regeneriert sich
  • Damage-Scaling - Wächst mit Upgrades
  • Fire-Rate - Schussgeschwindigkeit
  • Und mehr...

🛠️ Installation

Voraussetzungen

  • Python 3.8+ (für Source-Code)
  • ODER: Windows 10/11 (für .exe)

Setup aus Source

  1. Repository klonen:
git clone https://github.com/TheEnderHacker/ArenaRoguelike.git
cd ArenaRoguelike
  1. Virtual Environment erstellen:
python -m venv venv
venv\Scripts\activate  # Windows
source venv/bin/activate  # macOS/Linux
  1. Dependencies installieren:
pip install -r requirements.txt
  1. Spiel starten:
python main.py

EXE verwenden

  1. Download: ArenaRoguelike.exe aus dem dist-Ordner
  2. Doppelklick zum Starten
  3. Keine Installation nötig!

📁 Projektstruktur

ArenaRoguelike/
├── core/
│   ├── app.py              # Hauptspiel-Loop
│   ├── audio.py            # Audio-Management
│   ├── settings_manager.py # Settings & JSON-Speicherung
│   └── state.py            # Game-States
├── gameplay/
│   ├── player.py           # Spieler mit Slime-Textur
│   ├── enemies.py          # 7 Gegner-Typen mit Sprites
│   ├── boss_abilities.py   # Boss-Fähigkeiten (Isaac-Style)
│   ├── bullets.py          # Projektile & Drops
│   └── upgrades.py         # Upgrade-System
├── ui/
│   ├── screens.py          # Title, Settings, Upgrade, Gameover
│   ├── buttons.py          # UI-Button-System
│   ├── hud.py              # In-Game HUD (HP, Stamina, etc.)
│   └── settings.py         # Settings-UI (deprecated)
├── utils/
│   ├── collision.py        # Collision-Detection
│   └── math_utils.py       # Math-Utilities
├── assets/
│   ├── textures/           # Alle Slime-Sprites (9 Farben + Boss)
│   ├── music/              # BGM (5 Tracks)
│   └── sfx/                # Sound-Effects (10+ Sounds)
├── main.py                 # Entry Point
├── requirements.txt        # Python Dependencies
└── README.md              # Diese Datei

🎨 Texturen & Visuals

Slime-Charaktere

Alle Gegner haben animierte Slime-Texturen mit 8 Richtungen:

  • slime_up.png (155x155 px, 155x134 Textur)
  • slime_down.png
  • slime_left.png
  • slime_right.png
  • slime_up_left.png
  • slime_up_right.png
  • slime_down_left.png
  • slime_down_right.png

Größen

  • Spieler: 21px Radius (grüne Slime-Textur)
  • Dasher (grün): 21px (1.0x)
  • Andere Gegner: ~15-22px (1.4x Textur-Skalierung)
  • Boss: 110px (1.8x Boss-Textur)
  • Fallback: Farbige Quadrate wenn Texturen nicht laden

🎓 Schwierigkeits-Multiplikatoren

EASY:   HP×0.75, Speed×0.90, Spawn×0.85, FireRate×1.25
NORMAL: HP×1.00, Speed×1.00, Spawn×1.00, FireRate×1.00
HARD:   HP×1.50, Speed×1.25, Spawn×1.50, FireRate×0.65

🔧 Keybind-Anpassung

Im Settings-Menü unter "STEUERUNG" können alle 7 Tasten individuell geändert werden:

  1. Klicke auf "ÄNDERN" bei der gewünschten Aktion
  2. Der Dialog fokussiert automatisch (kein Klick nötig)
  3. Drücke die neue Taste
  4. Wird sofort gespeichert in settings.json
  5. "AUF STANDARD ZURÜCKSETZEN" Button setzt alles zurück

📦 Build zu .exe

Mit PyInstaller (bereits fertig in dist/ArenaRoguelike.exe):

pyinstaller --onefile --windowed --name "ArenaRoguelike" --add-data "assets;assets" main.py

🐛 Bekannte Features

  • ✅ Vollständig funktionales Roguelike-Spiel
  • ✅ 7 Gegner-Typen mit einzigartigen Fähigkeiten
  • ✅ 5 Boss-Varianten mit speziellen Attacken
  • ✅ Boss-Fähigkeiten-System (Isaac-inspiriert)
  • ✅ Konfigurierbare Steuerung mit Auto-Focus Dialog
  • ✅ Persistente Speicherung (auch in EXE - portable!)
  • ✅ 3 Schwierigkeitsstufen
  • ✅ Upgrade-System mit Pro/Kontra
  • ✅ Vollständiges Audio-System
  • ✅ Animierte Slime-Texturen für alle Entitäten

🎬 Credits

  • Inspiration: The Binding of Isaac
  • Framework: Python Tkinter
  • Audio: Pygame
  • Asset-Erstellung: Eigene Ressourcen
  • Development: TheEnderHacker

📄 Lizenz

MIT License - Siehe LICENSE für Details

🤝 Support & Feedback

Bei Fragen, Bugs oder Feature-Anfragen, erstelle ein Issue im Repository!


Version: 1.5.0
Status: Release-Ready 🚀
Last Updated: 2026-02-10

Changelog v1.5.0

  • ✨ Boss-Fähigkeiten-System hinzugefügt
  • ✨ Konfigurierbare Keybinds mit Auto-Focus Dialog
  • ✨ Tab-basierte Settings (Audio, Grafik, Steuerung, Spielvorbereitung)
  • ✨ Portable Settings-Speicherung für EXE (funktioniert bei Freunden!)
  • ✨ "Auf Standard zurücksetzen" Button für Keybinds
  • 🐛 Verschiedene Bugfixes
  • 🎨 Verbesserte UI

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors