• HearthClone - die Gegner-KI 16.04.2018 - 10:47 3
    Folgenden Nutzern gefällt das Design: damios, DNKpp, krazun

    Nun ist es soweit - die KI wird eingebaut!

    Hier möchte ich den Verlauf für die Interessierten von euch ausführen.

    Und es soll eine Einladung zur Diskussion sein...

     

    Wie an anderer Stelle bereits erwähnt, verwende ich ein Neuronales Netzwerk mit finiten Kombinationen (es existieren also nur jene Verbindungen, die auch spielbar sind [Münze auf Münze ist z.B: nicht spielbar])

    Zudem ergeben sich vorbestimmte Reihenfolgen oder parallele Spielzüge:

    - eine Handkarte muss erst ausgespielt werden (und führt dann ggfls. eine Heldenfunktion aus)
    - die Reihenfolge von zusätzlichen Waffen/Rüstungen/Münzen vor der Verwendung einer Karte/Basis spielen eine Rolle (Kostenermittlung) können aber beliebig kombiniert werden

     

    Hier ist mal der Entwurf für das Netzwerk:  KIbaum.svg

    Er ist bzgl. der (Multinomialkoeffizienten) Permutation aller relevanten Objekte (Karten/Zusätze) reduziert.
    Man stelle sich diesen Baum also an den entsprechenden Verzweigungen ver-N-facht vor, abhängig von der im Spiel (oder dem Inventar) befindlichen Objekte.

    Hier werde ich Rekursionen über alle relevanten Objekte verwenden.

    Am Ende jedes Zweiges befindet sich dann die entsprechende Bewertungsfunktion (für die GUV*1 der beiden 'kämpfenden' Objekte

    Das Neuronale Netzt ist also RIESIG.

    Die Gefahr besteht, dass bei maximalen Ausprägung ein Laufzeitproblem entsteht.
    Um das zu verhindern, werde ich eine Abbruchtiefe hinzufügen, um ggfls nicht alle Verbindungen zu bewerten.

    Jeder Zweig wird mit einer GUV beendet und daraus eine Gewichtung für die Backpropagation (rückgerichtete Knotengewichtung) ermittelt, welcher jeden Zweig für die Angriffs- oder Verteidigungsstrategie priorisiert oder dämpft.

    Im Gegensatz zur Ansatz mit einem Minmax-Algorithmus muss ich mir so nicht für jeden Spielzug die Endwerte zu jeder Karte merken, denn....

    Wenn alle Zugfolgen bewertet sind, findet das NN dann die optimale Karte selbständig, über die Gewichtungen - für EINE OPTIMALE AKTION (Karte oder Basis).

    Dies wird dann solange wiederholt, bis keine sinnvolle Aktion mehr verbleibt und der Spielzug beendet wird.

    Damit jeder Stamm eine individuelle Prägung bekommt (und somit in den Kämpfen unterschiedliche Strategien entstehen) werde ich die Gewichtungsfunktionen je Stamm individuell gewichten (manch ein Stamm wird agressiver sein als andere und/oder z.B: auch Basisangriffe vor Kartenangriffen bevorzugen, ...)

     

    *1) GUV = Gewinn- und Verlustrechnung - was kostet ein Angriff und welchen Erfolg(Schaden) bringt er?

     

     


    Kommentare: 4
  • HearthClone - update gameplay I 23.02.2018 - 23:41 5
    Folgenden Nutzern gefällt das Design: damios, Ikarus, Byte, ParaDigma, krazun

    HearthClone wächst und wächst...

    Zwischenzeitlich ist viel passiert, so dass ich mal einen Zwischenstand posten möchte.

    Neben kleineren Veränderungen an der GUI und dem Sound habe ich angefangen, die Effekte zu den jeweiligen Angriffen und Aktionen zu implementieren.
    Auch sind inzwischen Heldenkarten mit speziellen Sonderfunktionen (Angriffen/Hilfeaktionen) hinzugekommen und es werden jeden Tag mehr.

    Das Punktesystem der Kartendecks habe ich für einen ausgewogeneren Spielverlauf angepasst (dies wird sich aber sicher beim balancing noch ändern).
    Das Stämme-System (es sind jetzt nur noch 6 wählbare Stämme [aufgrund der sammelbaren Karten und der Deckgestaltung] ist eingebaut, wenn auch noch nicht auswählbar.

    Da das Kartendesign permanent im Fluss ist, liste ich hier kurz die aktuellen Spezialfunktionen nur als Text (ohne Bilder) auf, da sich auch das bis zum Ende noch stark ändern wird (dann kommen alle Karten in den Kartenalmanach).

    Die Sonderfunktionen sind als kleines Pergament auf der Karte angezeigt und einmalig, zusätzlich zu den normalen Kartenwerten einsetzbar.
    (rechts oben steht der Preis, wenn man die Karte vom Deck auf die Hand kaufen möchte [Wirtschaftssystem] und ggfls. der Preis um diese dann auch zu spielen - eine genaue Beschreibung des inzwischen runden Wirtschafssystems reiche ich in einem eigenen blog nach)

    Beispiel:

    Sonderkarte Beispiel (die Karten bekomme natürlich alle noch Namen statt "Stamm#X")

    • Schneller Tod (nach Spielen der Karte, kann eine beliebige gegnerische Karte zerstört werden)
    • Extra-Karte (nach Spielen der Karte, bekommt man kostenlos eine weiter Karte vom Deck auf die Hand)
    • Sanitator (nach Spielen der Karte, kann man eine beliebige Karte aufwerten (+1 Kraft, +1 Leben)
    • Verletzter Stolz (wenn diese Karte angegriffen wird - und das übesteht - hat diese +5 Kraft)
    • Frontalangriff (wird die Karte gespielt, verursacht sie zusätzlich 3 Treffer an der Gegnerbasis)
    • Schrottflinte (ja - nicht Schrotflinte - gespielt verursacht sie bei jeder gespielten Gegnerkarte 1 Schaden)
    • Sendsenmann (wenn die Karte 'stirbt', bekommt der Spieler eine neuen vom Deck)
    • Samuritter (alle ausgespielten Karten des Spielers bekomme +1 Leben)
    • Wachen!! (+2 Leben für die Basis)

    (über Vorschläge zu coolen Sonderfunktionen [welche ich auch umsetzen kann] und andere Kritik/Ideen würde ich mich freuen!)

     

    Hier ein kleines preview des derzeitigen Spielverlaufes (noch ohne KI-Gegner - also selbst gespielt):

    ....

    April 2018

    Mittlerweile sind zahlreiche Heldenkarten hinzugekommen und der Spielverlauf wurde immer wieder verfeinert.

    Die Helden wurden in Gruppen zusammengefasst und haben ihre Attribute für die KI bekommen.

    nun steht der nächste wichtige Schritt bevor - die KI - das Herzstück des Spiels.

    Meine Erwartungen sind entsprechend hoch, da durch die Komplexität des Spiels (aufgrund der vielen Faktoren) zahlreiche strategische Spielzüge möglich sind.

    Die KI soll eine echte Herausforderung werden!
     


    Hashtags: #x
    Kommentare: 1
  • HearthClone - Kartenalmanach 18.02.2018 - 23:30 2
    Folgenden Nutzern gefällt das Design: damios, Byte

    Hier möchte ich die Karten mit speziellen Funktionen vorstellen:
    (Bonus- und gloreiche Karten)

    heilung Die Heilungskarte(n): sind sofort einsatzbereit und heilen die Zielkarte (oder die Basis) um den jeweiligen Wert.

    kraft Power-booster: sind sofort einsatzbereit und stärken die Zielkarte um den jeweiligen Wert.

    wachauf Zauberpower un-zzz: weckt eine 'schlafende' Karte auf, damit sie sofort/nochmals benutzt werden kann.
    (normale Karten 'schlafen' bis zur nächsten Runde, Sofort-Karten 'schlafen' mit Verwendung für eine Runde) - un-zzz weckt sie sofort auf!)

     

    NEU - NEU - NEU

    Magischer Token: Du erhälst einen Magischen Token, den du auf Karten anwenden kannst. Diese Zauber haben unterschiedliche Wirkungen.

    • Wachen: Basis kann nicht angegriffen werden, solange eine Karte das Symbold besitzt
    • Thor-Hammer: jede Runde ein Schaden an der Basis des Gegners
    • Schmied: jede Runde +1 Kraft
    • Glück: 50% Chance Angriff zu blocken
    • Schlange: 1 Gegenangriff bei Angriff
    • Geldsack: +5 Gold bei Tod
    • Oktapus: Kartenkraft halbiert (min. 1)
    • Toja: Karte greift bei jedem Zug mit aller Kraft die eigene Basis an

     

    Waffen und Rüstungen: Du erhälst eine Waffe oder Rüstung entsprechend deinem Level. Diese landen in deinem Vorrat, aus dem dann die Waffen, Rüstungen und Magischen Münzen anlegen kannst.

     

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Und hier die Helden (zumindest der vorläufige Satz...)

    Byte Nature: Der König beansprucht eine Goldmünze für jede Magische Münze die ihm 'anvertraut' wird - und das jede Runde!

     

      Ugantro (aka Frostbite): Friert eine Karte des Gegner für eine Runde ein und macht sie somit unbrauchbar für alle Angriffe und magischen Aktionen.

     

    Greif: Klaut eine ausgespielte Karte vom Gegner und verleibt sich diese ein. Diese Karte spielt dann für den Gegner.

     

    Bark - der treue Begleiter: Greift für jeden Kartenangriff die Gegnerbasis mit drei Schadenpunkt extra an.

     

    Elstabird: Klaut jede Runde zwei Goldmünzen vom Gegner.

     

    ...neue Helden braucht das Spiel!

    Kabba: Eine Flutwelle überrollt alle Gegnerkarten und fügt ihnen 3 Schadenspunkte zu.

    Spigeft: Vergiftet eine Karte und macht sie handlungsunfähig.
    Nur Heilen (Lebenspunkte) können die Karte befreien - Münzen wirken aber weiterhin.

    Ligflash: Der Motivator ruft zum Kampf - und eine zufällige Karte aus dem Deck folg ihm ohne Sold in den Kampf.

    Crebbo: Er profitiert vom Tod der eigenen Karten. Je vernichteter Helfer- oder Heldenkarte bekommt er +1 Kraft und +1 Leben.

    Lissat:  SCHREIT um Hilfe - sie ist schwach! Aber eine zufällige der ausgespielten Karten wacht auf und hilft ihr beim Kampf gegen den Feind.

    Senatos:  Ruft zwei weitere Karten zum Kampf

    Die Hellnas:  Ruft drei weitere Karten zum Kampf

      Der Smaiker:  dreht bei Verletzung total durch und bekommt 5 Kraft und 5 Leben

      Sysipho:  wird bei Verletzung agressiv und bekommt 3 Kraft und

    3 Leben

      Ein Lursch:  Fegt über die Gegnerbasis und verursacht 5 Schaden

    hc_damios Damios: Leicht benommen vom letzten Kampf hat er keine Kraft mehr - dafür heilt er jede Karte jede Runde um +1 Leben!

    hc_gnadenlos Merci: er ist gnadenlos - wer ihn angreift stirbt sofort

    hc_hammer jUlik: verursacht beim Angreifen keine Verletzung, demoliert aber die Waffen (Kraft) des Gegners.

    hc_moria  Ballrock: stirbt er, hinterlässt er jeder ausgespielten Karte +1 Kraft und +1 Leben

    hc_mutig Angstine: Weckt den Schutzinstinkt bei allen ausgespielten Karten und erhöht deren Kraft um +1

    hc_sleepa Sleepa: wacht auf, wenn eine seiner Mitkarten stirbt und bekommt +1 Kraft

    hc_tod Nashgol: Tötet eine beliebige Karte - umgehend und ohne Wimpernzucken (wie auch )

    hc_wechsel Wandler: verwandelt eine beliebige Karte in einen anderen zufälligen (Helfer oder Held)

    hc_looter Goldie: spendet für jede eigene Karte die stirbt +3 Gold

    hc_chameleon Chamelon: Nimmt gerne Typ und Werte einer gegnerischen Karte an

    hc_jofrost Jo Frost: Friert eine Karte ein (wie Frostbite, nur stärker)

    hc_nachtschatten Stealth: Greift zusätzlich in der Nacht (wenn der restliche Stamm schläft) an

    hc_sabber Sabber: Vergiftet ein Karte (wie Spigeft nur stärker)

    hc_smurk Smurk: Greift zusätzlich in der Nacht (wie Stealth) an

     

     

     


    Kommentare: 11
  • HearthClone - Effekte 18.02.2018 - 11:33 1
    Folgenden Nutzern gefällt das Design: alistez

    Mehr Action! - die Effekte in HearthClone (Beispiele)

    HearthClone bekommt natürlich auch Angriffs- und Verteidigungseffekte

    Das sind nur Beispiele - Start- und Endpunkte und Typ werden später von Angriffe/Abwehr definiert...

     

     


    Kommentare: 0
  • Mircrotransactions (Wirtschaftsssystem) 09.02.2018 - 09:12 1
    Folgenden Nutzern gefällt das Design: damios

    Wirtschaftssystem

    Bei den Überlegungen zur Implementierung von Spielgeld-Microtransactions ist mir folgende Idee gekommen:

    - ein übergreifendes "Wirtschaftssystem" (RPG-like)

    HearthClone soll ja ein Shopsystem bekommen, in dem der Spieler (mit Spielgeld) Helferkarten, magische Münzen, ... kaufen kann, um sich zu pushen.

    Anmerken möchte ich hier vorweg das grundlegene Spielelement der Wertigkeit von Karten (links oben), welche festlegt, ob (und wann) eine Karte im Kampf gespielt werden kann. Wie z.B. bei HearthStone(c) während eines Kampfes der Mana-Wert aufsteigt und so Karten mit höherem Kartenwert gespielt werden können, wird es bei HearthClone eine Goldmünze je Runde geben.

    Die Idee ist nun ein RPG-Wirtschaftssystem in das Kartenspiel zu integrieren, wie es aus klassischen RPG's bekannt ist.

    Der Spieler hat zu Beginn etwas Gold, mit dem er im Shop Items (Karten, magische Münzen, Waffen/Rüstung) zu seinem Anfangsdeck kaufen kann. Gewinnt der Spieler einen Kampf, bekommt er Loot (Schätze wie Gold und Items).
    Die gewonnenen Items kann der Spieler nun auch im Shop verkaufen, um mehr Gold für bessere Items zu haben.

    Darüberhinaus kann der Spieler aber auch sein Gold dazu einsetzen, um Karten von seiner Hand 'freizukaufen', um sie im Kampf früher einsetzen zu können. (Gold wird aber eine knappe Ressource sein, damit das System nicht chaotisch wird)

    Beispiel:
    In der dritten Runde eines Kampfes haben die Spieler je drei Münzen. Alle Handkarten mit einem Kartenwert kleiner gleich drei können gespielt werden.
    Möchte ein Spieler aber in dieser Runde bereits eine mächtigere Karte (mit höherem Kartenwert) spielen, kann er die Differenz bezahlen und die Karte spielen.
     

     

     

     


    Kommentare: 0
  • AI - powered revenue increase in games (en) 09.02.2018 - 07:23 1
    Folgenden Nutzern gefällt das Design: Michael

    If you are interested in AI implementations you maybe have to read this (leaked) docs:

    Leaked AI-powered Game Revenue Model Paper Foretells a Dystopian Nightmare

     


    Kommentare: 4
  • Der HearthClone devblog 07.02.2018 - 17:52 4
    Folgenden Nutzern gefällt das Design: damios, Ikarus, alistez, ParaDigma

    HearthClone

    Wenn genug Interesse besteht, können wir hier den Projektverlauf protokollieren und das Spiel (bis zum Ende) festhalten...
    (ansonsten schläft der blog voraussichtlich irgendwann ein... )

     

    Taskliste:

    • Layout des Spielfeldes
    • Kastenausgabe, -sortierung und Gestaltung
    • Kampfberechnung und -effekte Karte<->Karte, Karte<->Basis, Basis<->Karte  (effekte werden noch zahlreicher)
    • Heilen, Münzen, Waffen/Ruestung (für Basis) (kann platziert, gesetzt und benutzt werden und wird auch in der Kampfberechnung beachtet)
    • Währungssystem (Karten kaufen/verkaufen, Basisangriffe), Münzen für Siege/Gewinnen
    • Rundensystem (sperren und freigeben der Elemente)
    • Sounds rudimentät bei Basisangriffen
    • Heldenkarten!

    • KI für Einzelspielermodus

    • Web-Spiel (internet) gegen Freunde

    • Menü
    • Shop
    • Hilfe / Spielanleitung
    • Karten-, Münzen- und Waffen./Ruestungen-Almanach
    • Deckverwaltung
    • Statistiken der Siege/Level/Waffen/Ruestung/Münzen/Gold der Stämme
    • Tablet-/Smartphone-App (mit Modus 'offen gegeneinander' (2 Spieler sitzen sich gegenüber - Handkarten offen))
    • mehr Effekte
    • mehr Sounds
    • Online-highscoreliste
    • Tutorial
    • 100 kleine Sachen, die noch auf der Liste stehen

     

    ZU DEN NEUSTEN NEUIGKEITEN...

     


    Kommentare: 51
  • Von einer Idee, die nicht zündete... 06.02.2018 - 05:43 1
    Folgenden Nutzern gefällt das Design: damios

    Nach Wochen schlafloser, schweißgebadeter Nächte, Bergen von Federn und Hirnresten auf dem Kopfkissen, ist es nun entschieden...

    Chicken vs. Zombie

    ...wird eingestellt.
    Das Gameplay ist nicht - wie erhofft - abwechslungsreich genug.

    Wer will kann das Spiel noch für einige Tage hier anspielen
    und versuchen, gegen die KI zu siegen (Bild=link):

    czende


    Kommentare: 9
  • KI! - aber wie? 26.10.2017 - 07:50 2
    Folgenden Nutzern gefällt das Design: damios, krazun

    Hallo,

    in den nächsten Tagen fange ich mit der Spieler-KI an und wollte noch ein paar Meinungen einholen, bevor ich anfange zu coden.

    In einem Spiel kann jede der vier Figuren von Spielern - oder eben auch von der KI gesteuert werden.
    Es wird zwei Modi geben:

    - Koop
    - gegeneinander (jeder für sich)

    Aktuell 'kennt' jede Spielfigur bei jedem ihrer Züge:

    * alle Felder, die sie betreten kann
    * die Werte aller in diesem Array angrenzenden Objekte (Goods&Gold, Kisten, Türen, Waffen, Gegner, Schalter) (je zu Summen per Zielfeld gerafft)
    * Position und letzte Aktion der Mitspieler
    * Wegpunktstatus (in den Leveln sind (unsichtbare) Wegpunkte platziert, damit KI-Spieler wissen, in welchen Bereichen sie bereits waren [mit welchem Status?].
    * wenn im aktuellen möglichen Bereich 'nichts los' ist, kann der Prüfradius beliebig erweitert werden und bei Zielfindung in diese Richtung (entsprechend des Berweungsradius) gezogen werden

    Nun die Herausforderung - wie umsetzen?

    ...und hier wollte ich nach eure Ideen fragen...

    Grundlegend:

    - soll die KI eine selbstlernende KI sein (NN oder evolutionär) (per Level / fortlaufend, ggfls. basierend auf einer Grundmechanik?)
    - soll die KI charakterspezifisch statisch sein (gewichtetes festes Regelwerk [if-then...]
    - habt ihr eine komplett andere Idee?

     

    Was ist deine Vorstellungen einer guten KI...?

     

    mercuryus
     


    Kommentare: 6