Brettspiel

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi,

    ich bin gerade dabei ein Brettspiel zu basteln und bräuchte dabei etwas Hilfe!
    Das Spielfeld soll von einem Raspberry PI ausgewertet werden, welcher alle nötigen Informationen auf einem Webserver speichert und die einzelnen Spieler sollen später mit einer Handy-App zusätzliche Spielfunktionen wie Fragen beantwortet usw. ausführen können.

    Da ich eher aus der Softwareentwicklung komme und meine Kenntnisse aus dem Bereich Elektrotechnik und Mikrocontroller eher rudimentär sind, könnte ich bei Planung etwas Untersützung gebrauchen.

    Das erste Problem vor dem ich stehe ist folgendes:
    Angenommen mein Spielbrett verfügt über 20 Spielfelder auf dem sich Spielfiguren befinden können, wie schaffe ich es herauszufinden auf welchem Spielfeld sich gerade eine Spielfigur befindet und um welche Spielfigur es sich handelt?

    Mein erster Ansatz war folgender:
    Ich lege einen Stromkreis zu jedem Spielfeld und rüste jede Spielfigur mit einem bestimmten Widerstand aus (1kOhm, 2kOhm....), wird eine Spielfigur auf ein Feld gesetzt schließt sie den Stromkreis.
    Anhand des geschlossenen Stromkreises kann ich nun identifizieren auf welchem Spielfeld sich eine Figur befinden. Messe ich den Widerstand weiß ich auch um welche Spielfigur es sich handelt.

    Problem ist, dass sich mehrere Figuren auf einem Spielfeld befinden können, was sich lösen lässt in dem man Spielfiguren nur einchecken lässt und sich eben merkt wo eine Spielfigur eingecheckt hat.

    Wäre das so machbar?Ich bin schon dabei gescheitert herauszufinden, wie ich den widerstand an 20 verschiedenen Stromkreisen messen kann und dabei noch die einzelnen Stromkreise voneinander unterscheiden kann...
    Ich habe auch gelesen, dass sich bestimmte Bauteile wie Temperatursensoren über eine ID identifizieren lassen. Könnte ich einfach irgend ein Bauteil verwenden und es anhand der ID identifizieren um mir die Widerstandsmessungen zu ersparen?

    Fällt jemand vll noch eine viel bessere Lösung für mein Problem ein?


    Vielen dank schon mal fürs lesen :)

    Einmal editiert, zuletzt von poiz (28. Oktober 2015 um 19:07)

  • Mir fallen da ein paar LösungsLösungsansätze ein:

    Mehrere Portexpander z.B.[font="Roboto-Regular, HelveticaNeue, Arial, sans-serif"]MCP23017:[/font]

    [font="Roboto-Regular, HelveticaNeue, Arial, sans-serif"]http://www.elektronx.de/tutorials/port…p23017-und-i2c/[/font]

    [font="Roboto-Regular, HelveticaNeue, Arial, sans-serif"]Deine Idee mit den Widerständen und einen A/D Wandler etwas [/font]

  • Eine rein kontaktbasierte Spielererfassung könnte auf die Dauer recht problematisch werden, vielleicht wäre ja eine Kameraüberwachung des Spielfeldes in Verbindung mit einer Bilderkennungssoftware, eine Alternative.

  • Hallo poiz,

    herzlich Willkommen in unserem Forum!



    Na klar, z.b. der DS2502 ein reiner Addresschip.

    Den DS2502 hatten wir bei einem Medizintechnik-Hersteller eingesetzt, um diesen nach Programmierung zur elektronischen Kennzeichnung von Artikeln zu verwenden.
    Ein Nachteil, du müsstest jemanden mit einem Programmiergerät haben, der die ein-eindeutigen Kennzeichen auf die DS2502 programmiert.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (28. Oktober 2015 um 20:21)

  • Hi,
    die erste Frage, die sich mir stellt ist, inwieweit der RPi die Spielregeln beherrscht/umsetzt und über den Spielstand Kenntnis hat.
    Dann kommt hinzu, um wieviele Spielfelder es geht. Wenn es sich schon um z.B. 20 Mitspieler handelt, wird es wohl um eine gehörige Anzahl gehen. Hier wäre zu überlegen, inwieweit man das mit einer Matrix abdecken könnte.
    Die Felder der Matrix könnten dann z.B. mit Hallsensoren ausgestattet werden, um zu wissen, welcher Spielstein von wo nach wo gezogen wird.
    Und da wären wir wieder bei Punkt 1: wenn der RPi das Spielgeschehen managed und demzufolge imemr auf dem aktuellsten Stand ist und auch Vorgaben macht ("Spieler eins: ziehe um fünf Felder weiter" ... oder so), weiss er auch, welcher Spieler gerade dran ist und kann den Zug aufgrund des Spielzugs nachvollziehen.
    Eine Unterscheidung der einzelnen Figuren ist in diesem Fall nicht notwendig, weil der RPi das Spielfeld, die einzelnen Positionen und die zugeordneten Spieler im Speicher abgebildet hat.

    Verständlich dargestellt?

    Jedenfalls imho nicht ganz lapidar ...

    cu,
    -ds-

  • faloraspi
    Das mit dem Adresschip hört sich Interessant an, ich werde mal in Erfahrung bringen ob wir an der Uni so ein benötigtes Programmiergerät haben! Das wäre eine Kostengünstige Lösung die
    ich mir noch zutrauen würde :)

    Fliegenhals
    Bilderkennung wäre tatsächliche eine schöne Lösung, war auch das erste was mit in den Sinn gekommen ist! Mit OpenCV z.B. wäre das recht einfach umzusetzen, wenn die sich die Figuren in der Farbe unterscheiden. Problem ist nur, dass ich das als Projekt der Vorlesung "Embedded Systems" umsetze und ich das Problem entsprechend mit Elektronik bzw einem Mikrocontroller lösen soll... Hätte ich evtl. direkt schreiben sollen sorry!

    YoBnEb
    RFID und NFC wäre bei 20 Lesegeräten ziemlich teuer, wenn Geld keine rolle spielen würde wäre das natürlich eine richtig geile Lösung bei den ganzen Informationen die man auf so einen Chip schreiben kann.

    @__deets__
    Das Spielprinzip und aufbau des Spielfeldes soll recht ähnlich wie das Brettspiel King Arthur werden (King Arthur Spielfeld), ein Schachbrett wäre evtl etwas zu klein... Ich schau mir aber morgen mal an wie die ganze Sache funktioniert und was es kostet! Spricht ja nix dagegen 2 zu benutzen wenn es ne gute Lösung ist :)

    dreamshader
    Die Logik des Spiels läuft nicht auf dem RPi, dennoch werden dort in einer Datenbank alle
    Informationen gehalten, also auch der aktuelle Spielstatus. Der RPi weiß also welcher Spieler an der Reihe ist und Theoretisch wäre es nicht nötig, dass erkannt wird welche Figur gerade gezogen wurde (wenn eine Figur gezogen wird, ist dies natürlich die des Spielers der an der Reihe ist). So würden z.B. auch einfach nur Taster ausreichen die betätig werden wenn eine Spielfigur ein Feld betritt... Das war meinem Prof aber etwas zu simpel und er meinte ich solle doch bitte bestimmen welche Figuren sich wo befinden.
    Ich hätte ein paar mehr Radarinformationen geben sollen, hab ich leider vergessen sorry!
    Ach und das Spiel soll für ~2-5 Spieler sein, es gibt nur etwa 20 Felder auf denen sich diese Bewegen können etwa wie bei (King Arthur Spielfeld).


    Danke an alle für die guten Tipps und Ideen!!


    Update:
    Zur Bestimmung der Position hab ich mir überlegt jedes Spielfeld mit einem CD4021B (Parallel to Serial Shifting) zu verbinden und über den I2C Bus die Adresse, also das durchgeschaltene Spielfeld Auszulesen.
    Zum Identifizieren der Spielfigur habe ich mir überlegt einen (DS2401) zu nutzen, dieser ist bereits mit einer garantiert einzigartigen ID beschrieben die einfach ausgelesen werden kann.
    Falls das so hinhaut habt ihr mir wirklich sehr geholfen :)

    Einmal editiert, zuletzt von poiz (29. Oktober 2015 um 15:14)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!