Im Rahmen dieser Bachelorarbeit soll eine Plattform entwickelt werden, auf der Nutzer autonome Strategien (Bots) für ausgewählte Echtzeitstrategiespiele (RTS) erstellen, hochladen und gegeneinander antreten lassen können. Die Plattform soll exemplarisch an mindestens drei verschiedenen Open Source RTS-Spielen demonstriert und evaluiert werden.
Beispiele für zu berücksichtigende Spiele
- Robocode Tank Royale
- OpenRA
- Zero-K oder Beyond All Reason (BAR)
- Mindustry
-
…
- Analyse von bestehenden Open Source RTS Spielen: Recherche von existierenden RTS Spielen und deren Spiel- und Automatisierungs-Konzepten für programmierbare Spiel-Strategien.
- Konzeption und Architektur Entwicklung eines Plattform-Modells. Entwurf der Systemarchitektur unter Berücksichtigung eines sicheren Ausführungskontextes und sinnvoller Erweiterungspunkte zur Anbindung von RTS-Spielstrategien.
- Nachweis an mindestens drei Spielen: Auswahl und technische Analyse geeigneter RTS-Spiele hinsichtlich Automatisierbarkeit, Sicherheit und API-Zugänglichkeit. Implementierung generischer Adapter, die eine Integration in die Plattform ermöglichen.
- Sandbox-Modellierung: Definition einer standardisierten Schnittstelle für Bot-Implementierungen (z.B. über TCP/IP). Sicherstellung der Isolation und Begrenzung der Systemressourcen pro Strategie.
- Plattform-Entwicklung Implementierung eines Web-Frontends zur Anmeldung, Verwaltung und Beobachtung von Wettbewerben.
- Demonstration und Evaluation: Durchführung von Simulationen mit mehreren Bot-Implementierungen pro Spiel. Messung der Performance, Skalierbarkeit und Sicherheit. Reflexion über mögliche Schwachstellen und Verbesserungspotentiale.
Erwartete Ergebnisse:
- Ein lauffähiger, prototypischer Plattform-Stack
- Mindestens drei angeschlossene RTS-Spiele mit funktionierenden Strategiebeispielen.
- Sicherheits- und Lasttestberichte (Nachweis des Sandboxings)
- Dokumentierte Bewertungskriterien
Im Sinne des Open-Source-Gedankens sollte die Autor:in anstreben, die Lösung im Anschluss an die Arbeit als Open-Source-Projekt der Allgemeinheit zur Verfügung zu stellen und über die Abschlussarbeit hinaus als Open-Source-Produkt fortzuführen.