Framework für Karten-/Brettspielumsetzungen für Borland C++ Builder entwickelt



  • Ich habe jetzt mal aus dem Framework eine statische Bibliothek (für den BCB5) erzeugt und inklusive Beispiel-Programm auf meiner Homepage zum Download veröffentlicht.
    www.bitel.net/dghm1164/downloads.html
    Ich habe das Framework einfach "GameBase" genannt.
    Für das Framework wird noch die Freeware-Komponente MxXPButton benötigt, welche ebenfalls runtergeladen werden kann.
    Als Beispiel-Programm habe ich eines der einfacheren gewählt: (Bauern-) Skat.
    Dieses ist sowohl als ausführbares Programm (incl. Kartenbilder) als auch als Quellcode verfügbar.
    Skat kann man entweder alleine gegen eine KI spielen (drei Schwierigkeitsgrade) oder aber auf zwei Rechnern gegeneinander.
    Auch ein Laden und Speichern einer Partie ist möglich (macht aber eigentlich nur bei größeren Projekten bzw. zum Testen Sinn).

    Beim Kompilieren des Skat-Projekts muß dann nur noch der Pfad auf die Komponente 'MxXPButton' angepasst werden (bei mir heißt das Verzeichnis '..\KompLib').

    Es wäre schön, wenn jemand mal die GameBase-Lib ausprobieren könnte (evtl. auch für den BCB 6 - oder muß dazu die Lib neu erzeugt werden?).

    Falls irgendwelche Dateien fehlen oder sonstige Anregungen, entweder hier im Thread oder aber per Mail an mich schreiben.

    Viel Spaß...



  • Ich habe die letzten beiden Wochen wieder eine Spielumsetzung implementiert.
    Hier ein Screenshot davon:
    www.bitel.net/dghm1164/screenshots/Brilliant.jpg

    Na, wer kennt das Original-Brettspiel?

    Wer Lust hat, ähnliche Spiele mit dem BCB 5 oder höher (auch Turbo C++ Explorer) zu entwickeln, darf sich gerne bei mir melden: TBentrup (at) bitel.net



  • Malst du deine Grafiken eigentlich alle selber?



  • Kommt darauf an, welche Grafiken du meinst?
    Einige Grafiken sind abgescannte Karten (aus den Original-Brett/Kartenspielen), aber der Rest ist selbsterstellt (entweder mit einem Zeichenprogramm als BMP bzw. JPEG) oder aber per Programm gezeichnet.
    Warum fragst du danach?

    P.S. Habe gerade noch einen weiteren Screenshot (SpaceBeans) hochgeladen...



  • Also ich wollte auch nochmal Respekt dazu sagen. Das sieht echt super aus und was du geschrieben hast auch Top. Leider hatte ich noch keine Zeit das ganze mal zu Testen 😉 werde ich aber mal machen wenn ich Zeit habe.
    Mach weiter so 👍



  • Th schrieb:

    Na, wer kennt das Original-Brettspiel?

    einfach genial!



  • Kommt darauf an, welche Grafiken du meinst?

    Zum Beispiel die von Anno.



  • Brutus schrieb:

    Th schrieb:

    Na, wer kennt das Original-Brettspiel?

    einfach genial!

    Super, stimmt. Es scheint ja doch noch Leute hier zu geben, die nicht nur am Computer spielen 😉

    Tyrdal schrieb:

    Kommt darauf an, welche Grafiken du meinst?

    Zum Beispiel die von Anno.

    Ja, die Grafiken sind alle abgescannt und dann ein bißchen nachbearbeitet und werden als JPEG bzw. BMP eingeladen.

    Daher kann ich diese Spiele auch nicht einfach veröffentlichen...

    Aber jeder, der mit dem BCB und der VCL programmieren kann, darf sich mein Framework nehmen und damit dann eigene Spiele entwickeln (dies sollte man so in 1 - 2 Wochen mit meiner Unterstützung hinkriegen).



  • Es sind seitdem zwei weitere Spiele hinzugekommen:
    Durch die Wüste: http://www.bitel.net/dghm1164/screenshots/Desert.jpg
    Schwimmen (auch unter "31" bekannt) http://www.bitel.net/dghm1164/screenshots/Swim.jpg

    Auch wenn sich bisher keiner bei mir gemeldet hat -(

    P.S: Th war mein alter Account...



  • ich brauche bitte das spiel "schwimmen".
    danke voresrt.



  • Ich habe die Sourcen für Swim nun unter http://www.bitel.net/dghm1164/downloads/Swim-Sources.zip veröffentlicht.



  • danki



  • es fehlen noch paar klassen, kann sein dass du die noch hast. es wäre sehr nett wenn ich die noch haben könnte.
    danke



  • Welche denn?
    Wenn du die GameBase und MxXPButton meinst, diese sind (wie schon vorher geschrieben) auf meiner Download-Seite zu finden: http://www.bitel.net/dghm1164/downloads.html

    Verwendest du denn auch den BCB5?



  • Gute Arbeit.



  • Danke 😉



  • Gibts inzwischen ne Doku und/oder Auflistung der Features des Frameworks?



  • Hallo pumuckl,

    nein, gibt es nicht. Da ich bisher auch noch keine konkreten Rückmeldungen erhalten habe, war es mir den Aufwand nicht wert 😉

    In der Zwischenzeit bin ich aber auch auf C# umgestiegen und habe die Lib unter WinForms-Framework für (2-Personen) Karten-/Brettspiele veröffentlicht (aber auch hier gibt es keine Doku, sondern nur die Beispielprogramme Skat und Swim).

    Dominion habe ich bisher auch noch nicht weiterentwickelt (gibt es bisher auch nur in der C++-Version). Aber du hast doch auch versucht, dieses Spiel umzusetzen - wie weit bist du denn gekommen? Oder suchst du deshalb ein entsprechendes Framework (wobei m.E. es ja immer auf das passende GUI-Framework ankommt).

    Mit C# hatte ich dann vor Weihnachten noch Wizard umgesetzt (Screenshot: http://www.bitel.net/dghm1164/screenshots/Wizard.jpg ). Einzig eine gute KI fehlt noch...

    P.S. Es gibt aber selbstverständlich ein Projekt "GameTemplate" als Vorlage sowie eine Kurzanweisung:
    Hier für das C#-Projekt (als "#Neues Projekt.txt" im GameBase.zip enthalten):

    Neues GameBase-Projekt:
    
    - Neue Window-Anwendung erstellen
    - Alle CS-Dateien aus dem GameTemplate-Verzeichnis kopieren
    - Game.ini übernehmen (und evtl. umbenennen)
      - Copy To Output Directory: Copy, if newer
    - Th.ico (oder ein eigenes) kopieren
    - Alle diese Dateien in das Projekt einfügen
    
    - Application-Icon setzen
    - GameBaseLib als Referenz hinzufügen
    - evtl. auch XCtrls, falls BitmapButton benutzt werden
    - "namespace GameTemplate" umbenennen
    
    - kompilieren (sollte jetzt fehlerfrei sein!)
    
    - Spiel programmieren:
    
    Cards:
    - Definition einer Spielkarte
    
    Game:
    - Load und Save implementieren
    - Spiel-Logik
    
    Player:
    - Spielerdaten
    
    GameForm:
    - im Konstruktor:
      "m_gameinit.ReadIniFile("./Game.ini");" evtl. anpassen
    - Form-Text ändern
    
    GameTexts:
    - je nach Format der externen Texte
    
    ActionTypes:
    - neue ActionTypes hinzufügen
    - SGameData ergänzen
    
    GameActions:
    - DoGameAction: alle ActionTypes auswerten
    - SendXXX-Methoden implementieren
    - Send-Methode evtl. noch mit Parametern ergänzen
    
    BaseGame:
    - Die Methode 'X' als Vorlage für alle Aktionen verwenden
    - evtl. noch Parameter übergeben
    


  • Th69 schrieb:

    Dominion habe ich bisher auch noch nicht weiterentwickelt (gibt es bisher auch nur in der C++-Version). Aber du hast doch auch versucht, dieses Spiel umzusetzen - wie weit bist du denn gekommen? Oder suchst du deshalb ein entsprechendes Framework (wobei m.E. es ja immer auf das passende GUI-Framework ankommt).

    Weiter gekommen bin ich wegen diverser privater und beruflicher Veränderungen nicht wirklich, es war einfach zu wenig Zeit. Es gab nur immer Gedankenspielereien, vor allem bezüglich der Architektur. Dabei ist quasi die Idee zu einem eigenen Framework für Kartenspiele mit N Spielern nebenbei rausgefallen, mit dem beliebige Kartenspiele schnell und unkompliziert zu verwirklichen sein sollten.
    Jetzt bin ich auf der Suche nach etwas, auf dessen Basis sich das entwickeln lässt bzw. was die von mir angedachte Funktionalität bereits hat. Die Rahmendaten für die Idee hab ich hier knapp zusammengefasst: http://www.c-plusplus.net/forum/283415
    Aktuell bin ich dabei (wenn ich zwischendurch mal Zeit habe), meine Ideen zu der Sache zu Papier zu bringen. Mal gucken wie weit ich komme - und ich hoffe, diesmal etwas mehr als nur Ideen zu produzieren 😉


Anmelden zum Antworten