Gesucht: Framework für Kartenspiele



  • Ich hab mir folgendes gedacht: Im Grunde bestehen ja alle Kartenspiele aus den selben Grundelementen, nämlich einem Satz von Karten mit verschiedenen Motiven, die in bestimmten Konstellationen (Kartenstapel, offen ausliegende Einzelkarten, Handkarten usw.). Was lediglich unterschiedlich ist, sind die Interaktionen, die ein Spieler mit diesen Kartenkonstellationen ausführen kann, sowie die Logik/Regeln, die bestimmen, welche Interaktionen erlaubt sind und welche Folgen sie haben. Weiterhin zu erwähnen ist die Eigenschaft, dass N Spieler (Bei Kartenspielen am Computer meist an verschiedenen Rechnern) mit diesen Konstellationen interagieren und genau eine Logik/Regelwerk dazu gehört.

    Meiner Meinung schreit das nach einem Framework, das folgendes erfüllt:

    • Client-Server Architektur, mit N Clients für N Spieler, 1 Server für die Logik und die Karten-Konstellationen.
    • Das Framework bildet intern die Karten-Konstellationen ab und bietet übliche Funktionalitäten an (Karte von einem Stapel auf einen anderen legen, einen Stapel mischen usw.)
    • Es bietet eine vorgegebene Schnittstelle für die Spiellogik an, um diese Funktionalitäten zu nutzen.
    • Es bietet eine zweite Schnittstelle auf Clientseite an, um Interaktionen des Spielers mit den Kartenkonstellationen eingeben zu können und Informationen über die Konstellationen abfragen zu können.
    • Es übernimmt damit die Client-Server Kommunikation (Netzwerk, lokal,...)

    Der Spiele-Entwickler muss dann "nurnoch" die eigentlichen Spielregeln codieren und das Framework konfigurieren mit dem Kartensatz, der zur Anwendung kommt (z.B. die üblichen 32 Karten für Skat, die üblichen 52 für Poker oder einen frei definierten Satz Karten für selbst erfundene Spiele). Außerdem muss er den Teil des Clients schreiben, der die dortige Schnittstelle bedient. Das kann eine GUI für menschliche Spieler sein oder auch eine KI. Bei einer GUI entspräche das dem MVC-Muster, wobei das Modell vom Framework geleifert wird, währen View/Control selbst geschrieben werden müssten. Hier wäre auch eine zum Framework passende Standard-GUI denkbar, die die selbe Konfiguration wie das Framework selbst bekommt nebst der Information, wie die einzelnen Karten darzustellen sind (z.B. in Form von Kartenbildern und/oder Text).

    Soweit die grobe Idee.
    Meine Frage ist jetzt (bevor ich mich selbst dransetze) kennt jemand ein Framework, das sowas (oder einen Teil davon) bereits kann?



  • Ich glaube KDE hat so ein Framework (libkdegames oder so) für die KDE-Games.



  • Danke für die Antwort! soweit ich das mangels auffindbarer Doku beurteilen kann scheint das allerdings ein ganz allgemeines Spiele-Framework zu sein, ohne Spezialisierung auf Kartenspiele. Außerdem impliziert der Name, dass es nur KDE-basoert läuft oder irre ich mich?

    PS: ggf. ist der Thread im Spiele/GrafikForum besser aufgehoben. Mea culpa 😉



  • pumuckl schrieb:

    Danke für die Antwort! soweit ich das mangels auffindbarer Doku beurteilen kann scheint das allerdings ein ganz allgemeines Spiele-Framework zu sein, ohne Spezialisierung auf Kartenspiele.

    Ah vielleicht war es auch libkcardgame: http://websvn.kde.org/trunk/KDE/kdegames/kpat/libkcardgame/



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • rüdiger schrieb:

    Ah vielleicht war es auch libkcardgame

    Ah cool, das schau ich mir mal an.

    Weitere Hinweise/Libs etc. sind natürlich willkommen 🙂

    C++ Forumbot schrieb:

    Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.

    Danke 🙂





  • Danke für den Link, sieht vielversprechend aus 🙂


Log in to reply