"Lets change the game" - RLG2.0

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • "Lets change the game" - RLG2.0

      Hallo zusammen,

      beim TEAM-Event haben @ConsOne und ich uns über das neue Real Life Gaming (RLG) System unterhalten. Gemäß seines YouTube Mottos: "Lets change the game" möchte ich Euch hier von meinen derzeitigen Aktivitäten berichten.

      Motivation

      Ich beschäftige mich seit einigen Jahren mit dem Bau von elektronischen Boxen für Paintball und Airsoft. Einige von Euch haben vielleicht schonmal die MissionBox oder die OCF2.0 Flagge auf dem Feld gesehen. Der ActionCase dürfte wohl niemandem bekannt sein, weil er nur beim Airsoft eingesetzt wurde und auch da nur sehr selten.

      Vor ziemlich genau 2 Jahren hatte ich schonmal einen Thread (Ideen für elektronisches Spielsystem) hier gestartet, der sehr konstruktiv verlief. Aber durch Corona... Ihr wisst schon.

      Das sind alles keine neuen Ideen. Die Anzahl der selbstgebauten "Bomben" beim Airsoft ist riesig. Gebt zum Spass mal bei Google den Begriff "airsoft bomb simulator" ein(airsoft bomb simulator - Google Suche). Ihr werdet staunen.

      Viele von uns wünschen sich schon länger einen komplexeren Spielaufbau als das übliche Geprügel um den einen Punkt, bei dem es nicht sehr viele strategische Möglichkeiten gibt. Das übliche "Suppresive Fire, Smoke" und dann drücken. Irgendwie endet es immer als eine Art "Centerflag".

      Häufig kommen Spieler auf dem Feld zu mir und haben Ideen, die ich aber nicht "mal eben" umsetzen kann ohne die gesamte Software zu ändern und den Lötkolben auszupacken.

      Ziele

      All diese Überlegungen haben dazu geführt, dass ich einen anderen Ansatz versuchen möchte.

      Folgende Ziele sollen erreicht werden
      • Leichte Umsetzung von neuen Spiel-Varianten
      • Einfache Möglichkeit zum Test der neuen Ideen auf dem Desktop, bevor es aufs Feld rausgeht
      • Mehrere Spielpunkte auf dem Feld und nicht nur einer
      • Freies System (Software und Hardware) für die Community, so dass jedes Team oder Feld etwas eigenes bauen könnte.

      Aufbau

      Das neue System (RLG20 genannt) besteht aus einem Commander und einen oder mehreren Agenten.

      Die Agenten sind Geräte, die auf dem Feld gesehen, gehört und gedrückt werden können. Vom aktuellen Spielgeschehen "wissen" sie nichts.

      [Blockierte Grafik: https://flashheart.de/forum/wlf/agent2.png]Der Commander ist eine Software/Computer im Hintergrund, der/die über WLAN mit den Agenten verbunden ist. Er schickt Befehle an die Agenten und sagt ihnen was sie anzeigen, welche LEDs wie blinken und welche Sirenen ertönen sollen.

      Die Agenten schicken eine Nachricht an den Commander, falls jemand eine Taste drückt.

      Nur der Commander "weiß" über die aktuelle Spielsituation bescheid. Er zählt Punkte, Respawns oder achtet auf die Restspielzeit usw.

      Agenten können für verschiedene Aufgaben spezialisiert aufgebaut werden:
      • nur für Sirenen
      • Zur Anzeige eines Displays
      • Als eine Art zu erorbernde Flagge
      • Man könnte sie auch in eine Weste einbauen, die ein Spiele trägt.
      Hängt davon ab, was uns noch einfällt. Agenten sind Elemente, mit denen wir unsere Ideen umsetzen können.

      Hardware


      Ein Agent besteht aus:
      • einem Kleincomputer "Raspberry Pi"
      • einer Steuerplatine (frei verfügbar)
      • einem Taster (Button1) für die Spieler:innen
      • Buzzer für akustisches Feedback
      • 12V Batterie mit ca. 2 - 7aH. Je nach Aufgabe.
      • optional
        • 5 LED-Signalgeber (Weiss, Rot, Gelb, Grün, Blau). An, Aus, blinken
        • bis zu 3 Sirenen
        • einen weiteren Taster (Button2), der aber im Moment noch nicht gebraucht wird.
        • ein LCD Display (4 Zeilen, 20 Zeichen)
      Der Commander selbst läuft auf einem beliebigen Computer. Er ist eine Steuersoftware.

      Software


      Die Software (Agent und Commander) ist in Java geschrieben und läuft daher auf dem Raspi, auf Windows, Mac oder Linux. Also auf fast allem, was Strom verbraucht.

      Wenn die Agenten-Software "merkt", dass sie auf einem Raspi läuft, dann steuert sie die Hardware an (siehe Platine). Bemerkt sie ein Desktop System (z.B. Windows) wird der Hardwareteil durch eine grafische Oberfläche simuliert, so dass wir alles in Ruhe am Schreibtisch ausprobieren können. Ein Fenster pro Agent.
      [Blockierte Grafik: https://flashheart.de/forum/wlf/agent1.png]

      Zur Zeit beherrscht der Commander zwei Spielarten. Farcry Assault (auch bekannt als Battlefield Rush) und Conquest (ich glaub das heisst auch Vorherrschaft oder Domination).

      Wie gehts weiter...


      Nach der Corona Lähmung hab ich nun weiter gearbeitet und bin so weit gekommen, dass wir in den Praxistest gehen können. Eine probeweise Funk-Vernetzung in Montabaur (getestet in der Mittagspause beim TEAM Event) war möglich. Wir konnten eine stabile Leitung von Mitte Jungle bis zum äußersten Rand von Space herstellen. Also fast bis zu der Anmeldung. Damit wäre wohl auch Village abzudecken.

      Mit dem neuen Konzept könnte man den Modus, den @Chronoxon vorgeschlagen hatte (Ideen für elektronisches Spielsystem) leicht umsetzen.

      Es wären auch richtige Magfed Turniere möglich (eine Idee von @ConsOne).

      Ich plane (sofern Wetter is) am 07.11.21 in den ersten Praxistest mit dem neuen System zu gehen. Wie üblich bei mir in M. Ich halte Euch dann auf dem laufenden.

      Bis dahin, habt Farbe im Haar und Sonne im Herzen.

      Torsten...

      Quellen

      Agent-Software: GitHub - tloehr/rlgagent: software to control Raspberry PI based game items on the paintball field
      Commander-Software: GitHub - tloehr/rlgcommander: spring framework based software to control rlgagents on the field
      Platine: rlgagent - EasyEDA open source hardware lab
      Real Life Gaming System flashheart.de
    • Da hast du ziemlich genau meine Projektidee geklaut :grinser: . Ich wollte das ganze per Esp32 Mesh umsetzen in Kombination mit mehreren Stationen (von dir Agenten genannt) und meinen bisherigen Bastelleinen für den Paintballpark Westfalen (Bombe &Dominationboxen). Dazu ein Zentraler Raspberry für den Feldbetreiber.

      Ich wollte unterschiedliche Agenten bauen:
      • Zielscheiben, die sich auch selbst wieder aufstellen können
      • Rfid Scanner
      • Bluetooth-Bombenplätze, wo die Bombe hingebracht werden muss und nur dort aktiviert werden kann
      • Dominationboxen als Eroberungspunkt
      • Respawnpunkte mit Zähler per Puzzer
      Fashionball! Style for Function :gun:
    • Große Geister sind sich einig ;)

      Ja, das deckt sich ziemlich mit meinen Ideen bzw. was schon läuft. Der Commander spricht über MQTT, dass heisst, du könntest eigene Stationen bauen und über meine Software ansteuern. Es war auch so gedacht, dass alles bewusst offen gehalten wird, damit es mit anderen Lösungen kombiniert werden kann.

      Irgendwelche Erfahrungen mit der Lora Geschichte ? Hatte ich in 2019 glaub ich schonmal angesprochen.

      Durch MQTT ist es egal welches Netz zugrunde liegt.
      Real Life Gaming System flashheart.de
    • nope beim Lora, hab das dev kit hier immer noch rumliegen, bin nie zum probieren gekommen. Und ein esp32 Netz ist halt Konkurrenzlos günstig solange die Reichweite für das Spielfeld reicht. Hab selber nicht so den Draht zu Raspberry, bin lieber mit Arduino unterwegs ;)
      Fashionball! Style for Function :gun:
    • Arduino ist für sowas auch viel effizienter und mit simplen AA Batterien oder 2S Lipos über Stunden betriebsfähig. Mqtt als Protokoll ist Welt. Sollte mit nem 8266 oder esp32 lauffähig sein. + Touch Display zum auswählen.

      In meiner „bombe“ läuft ein simpler arduino nano.

      einen raspberry find ich für die Zwecke viel zu mächtig.

      Grüße

      Matze
    • Einen ESP32 hab ich noch rumliegen. Bin aber noch nicht weiter damit gekommen. Durch meinen Hang zu Java verbieten sich die Microcontroller noch. Allerdings hatte ich schon überlegt die Agenten auf etwas simpleres als ein volles Linux zu migrieren.

      Es hängt irgendwie immer am Netz. Womit (ausser C) kann man den esp32 programmieren ?
      Real Life Gaming System flashheart.de
    • flashheart schrieb:

      Einen ESP32 hab ich noch rumliegen. Bin aber noch nicht weiter damit gekommen. Durch meinen Hang zu Java verbieten sich die Microcontroller noch. Allerdings hatte ich schon überlegt die Agenten auf etwas simpleres als ein volles Linux zu migrieren.

      Es hängt irgendwie immer am Netz. Womit (ausser C) kann man den esp32 programmieren ?
      ESPs kannst du mit MicroPython (MP) programmieren. Damit kannst du sogar direkt auf dem ESP eine interaktive Python Umgebung nutzen. Mqtt hat hier anscheinend auch schon jemand drauf laufen lasse (Mqtt ESP).
      Alternativ auch mit der Arduino IDE, aber mit Python gehts schneller und dreckiger.

      P.S.: Java ist eine Insel und keine Programmiersprache!
    • Viele nutzen mqtt als einfache Datenübertragung von sensorwerten im Smart Home. Ein Protokoll geräteübergreifend. Schont Ressourcen. Funktioniert tadellos auf den esp. Ich nutze die esp überwiegend für Smart Home Lösungen über http. Auf den kleinen Teilen läuft problemlos ein Webserver. Manche laufen bei mir schon 2 Jahre ohne Ausfall durch.
      Wichtig: die Teile brauchen saubere und stabile eingangsspannungen. Levelshifter sind von Vorteil!
    • DrRush schrieb:

      Ich hatte mal den wahnwitzigen Plan Geräte über einen IRC Server kommunizieren zu lassen
      setzt natürlich trozdem WLan/Internet vorraus
      Das mit dem IRC hatten wir auch überlegt. Aber dann war der Mosquitto MQTT besser für uns geeignet. Die Idee ist aber dieselbe.

      Spooner schrieb:

      Ich verstehe zwar nur die hälfte von dem was ihr hier schreibt, aber es klingt ziemlich geil!


      Ich kann mir gut vorstellen, dass viele Spielfelder und auch Eventbetreiber Interesse an so einem System hätten.
      Die Möglichkeiten damit wären einfach genial.

      Antiporter schrieb:

      Klingt sehr interessant. Wenn es auf Arduino-Basis erstellt werden sollte, könnte ich Unterstützung anbieten. Habe schon einige Projekte damit gemacht und baue gerade auch damit eine Box zum spielen.
      Ich merke jetzt immer mehr, wieviele ähnliche Lösungen bauen, gebaut haben. Mein Wunsch wäre es, dass wir die Bestrebungen zusammenfassen und etwas einheitliches FÜR ALLE machen.

      huluman schrieb:

      ESPs kannst du mit MicroPython (MP) programmieren. Damit kannst du sogar direkt auf dem ESP eine interaktive Python Umgebung nutzen. Mqtt hat hier anscheinend auch schon jemand drauf laufen lasse (Mqtt ESP).Alternativ auch mit der Arduino IDE, aber mit Python gehts schneller und dreckiger.

      P.S.: Java ist eine Insel und keine Programmiersprache!
      Python würde mir auch besser gefallen. Hab ich schon öfter mal benutzt, immer nur für kleinere Sachen. Der ESP32 ist wirklich ein geiles Gerät und sicher gut geeignet die PI-0 zu ersetzen, die ich verwendet habe. Java wäre auf den Agenten auch gar nicht so wichtig. Nur der Commander braucht es wirklich wegen der Komplexität.

      :poke: Den Knochen mit "Java" nehme ich nicht auf. NEIN NEIN NEIN
      Als nächsten diskutieren wir noch über Amiga und Atari ST oder XBOX und die Playstation. :grinser: :rofl:
      Real Life Gaming System flashheart.de
    • Bei meiner Bastellei ging es Vorwärts. Hab einen Flaggenpunkt in der Hardware überarbeitet.20211112_210013.jpg
      Ein Arduino Nano übernimmt die Steuerung der Station, der war schon fertig verdrahtet. Neu dazugekommen ist der ESP32 zur Meshanbindung. Der Kommuniziert als I2C Master mit der Arduino und holt sich die relevanten Daten. Über die painlessMesh Bibliothek wird so ein 2.4er Netz aufgebaut, indem alle Knoten Automatisch Nachrichten weiterleiten. Zentral wird dann ein weiterer ESP32 als MQTT Bridge zu einem Raspberry Pi genutzt. Der Raspberry stellt ein Wlan als Access Point zur Verfügung und stellt per Node Red die Zustände der Teilnehmer des Mesh da.
      An der Darstellung muss ich allerdings noch weiterarbeiten. Auch ein konfigurierbares Spielprogramm mit automatischer Punkteberechnung wäre leicht machbar, indem auf den MQTT Broker Zugegriffen wird.

      Aktuell gebe ich mich aber erstmal mit der Zustandsdarstellung zufrieden und kümmere mich um die Hardware der Meshknoten.

      Nächste Baustelle ist ein extra Bombspot, der per Bluetooth BLE mit einer Bombe kommuniziert.
      Fashionball! Style for Function :gun:
    • V+Krombacher schrieb:

      Bei meiner Bastellei ging es Vorwärts. Hab einen Flaggenpunkt in der Hardware überarbeitet.20211112_210013.jpg
      Ein Arduino Nano übernimmt die Steuerung der Station, der war schon fertig verdrahtet. Neu dazugekommen ist der ESP32 zur Meshanbindung. Der Kommuniziert als I2C Master mit der Arduino und holt sich die relevanten Daten. Über die painlessMesh Bibliothek wird so ein 2.4er Netz aufgebaut, indem alle Knoten Automatisch Nachrichten weiterleiten. Zentral wird dann ein weiterer ESP32 als MQTT Bridge zu einem Raspberry Pi genutzt. Der Raspberry stellt ein Wlan als Access Point zur Verfügung und stellt per Node Red die Zustände der Teilnehmer des Mesh da.
      An der Darstellung muss ich allerdings noch weiterarbeiten. Auch ein konfigurierbares Spielprogramm mit automatischer Punkteberechnung wäre leicht machbar, indem auf den MQTT Broker Zugegriffen wird.

      Aktuell gebe ich mich aber erstmal mit der Zustandsdarstellung zufrieden und kümmere mich um die Hardware der Meshknoten.

      Nächste Baustelle ist ein extra Bombspot, der per Bluetooth BLE mit einer Bombe kommuniziert.
      Wow, das sieht super aus.

      Die Sache mit dem Nodered hab ich auch überlegt. Kann man sehr schnell einfache Webinterfaces mit basteln, die dann MQTT messages abschicken. Wollte eigentlich ein Angular Frontend basteln, mal sehen was nachher leichter für mich wird. Was die zentrale, zählende Steuerung angeht, hab ich da schon was fertig, was eben die Kommandos per MQTT rausschickt und die der Stationen auswertet. Wenn wir uns auf einen Befehlssatz einigen können, dann kannst Du meine Arbeit übernehmen. Ich kann aber auch eine Art Plugin in meinen Commander bauen, dass er direkt deine "Sprache" spricht.

      Was die Installation des Commanders angeht, kann ich direkt *.deb Dateien erzeugen, die dann mit dpkg auf den Raspi installiert werden können.

      Genau diese Dynamik unter uns Woodies hab ich mir gewünscht. Sehr schön...

      Wir bleiben dran. Du verwendest auch das 2,4er WIFI ?
      Ich hab auch noch mal ein Video vom Schweizer Experten geguckt. Das mit dem Lora können wir vielleicht wegen der benötigten Datenmenge und den Latenzen nicht machen. Dann müssen wir eben WIFI Repeater basteln. Geht auch mit den Raspis.
      Real Life Gaming System flashheart.de