Projekt Idee gesucht [momentan: 3D 4-Gewinnt]



  • Gut, jetzt will ich aber wissen - ist noch jemand da?

    Ich hab jetzt erste Screenshots gemacht:

    http://www.imageshost.de/img/png/5fe70690983a9559da9dec71cf0944a6.png
    http://www.imageshost.de/img/png/cc4dd913abbfef8cca31dbcab98b8867.png

    Erste Eindrücke? 🙂



  • Eigentlich ganz gut, auch wenn ich mir z.B. was anderes unter 3D 4Gewinnt vorgestellt habe (nicht nur neben/überein anderer einwerfen, sondern auch hintereinander 😉 ).

    Ach übrigens ist mir gerade etwas auf gefallen: Warum hast du bei deinen Sourceforge Projekten nie den Code online, ist der irgendwie sehr geheim oder so?
    Ich frage nur weil sonst immer nur Windoof build online sind und du anscheinend mit QT arbeitest (also auch unter Linux/Mac sollte es laufen)...
    MFG



  • derFer schrieb:

    Ich frage nur weil sonst immer nur Windoof build online sind und du anscheinend mit QT arbeitest (also auch unter Linux/Mac sollte es laufen)...
    MFG

    Sourceforge ist toll fürs Projekthosting, aber ich möchte meinen Code lieber per ZIP hochladen.

    Was Unix-Systeme angeht: Wenn du mir einen ordentlichen Cross-Compiler anbietest. Sonst nur, wenn die Nachfrage steigt 😉



  • Stalkst du mich auf Sourcefourge? 😃



  • Weil ich hier mit mir selbst Spreche, erfinde ich den Log.



  • Sone schrieb:

    Weil ich hier mit mir selbst Spreche, erfinde ich den Log.

    Kein Mensch will Installer. Lade den Code hoch, dann gibt's vielleicht mehr Rückmeldung.



  • µ schrieb:

    Sone schrieb:

    Weil ich hier mit mir selbst Spreche, erfinde ich den Log.

    Kein Mensch will Installer. Lade den Code hoch, dann gibt's vielleicht mehr Rückmeldung.

    Du weißt so gut wie ich, dass der Code vom Design her sehr hässlich umgesetzt wurde 😃

    Was genau willst du damit?



  • Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen... 😞



  • Sone schrieb:

    Was genau willst du jetz' damit?

    Nein, ich meinte Du sollst einfach die ganze Projektmappe zur Verfügung stellen. Dann kann man sich den Code selbst übersetzen wenn man sich das Programm anschauen möchte.
    Ich führe grundsätzlich keine Installer mit Adminrechten aus, die irgendjemand, irgendwo hochgeladen hat. Aus Sicherheitsgründen und weil ich mein System nicht vollmüllen will. Etwas angenehmer sind reine Zip/Rar-Archive unter Windows. Oder aus welchem Grund genau muss dein Spiel installiert und kann nicht einfach in einem beliebigen Verzeichnis ausgeführt werden? Installer nur wenn unbedingt notwendig, ansonsten sind sie eine Plage.
    Und zuletzt sind wir hier in einem Programmierer-Forum. Der Code ist interessanter als das Endergebnis. Kein Grund zur Scham: Projektcode verdient meistens keinen Schönheitspreis.

    Und nun Themawechsel. Das folgende ist interessanter.

    Sone schrieb:

    Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen... 😞

    Welchen Ansatz hast Du gewählt?



  • kingcools schrieb:

    Die Stopuhr funktioniert bei mir(Windows 7 64 bit), [...]

    "Funktioniert"? Hat eine sehr merkwürdige Vorstellung von der Dauer von Sekunden...



  • Swordfish schrieb:

    kingcools schrieb:

    Die Stopuhr funktioniert bei mir(Windows 7 64 bit), [...]

    "Funktioniert"? Hat eine sehr merkwürdige Vorstellung von der Dauer von Sekunden...

    Klar, was liegt an?

    Ich bin BTW gerade in einem Dschungel und kann schlecht entwickeln 😞 ich schwöre bei Gott,wenn ich zurück bin gibt's ne Mappe!!



  • Hey Fisch! Was ist denn jetzt los?
    Sind doch wohl noch ein, zwei Bugs dabei (fixe die so schnell ich kann, der installer ist morgen oben). Mit den Sekunden scheint aber alles klar zu sein....
    \
    Das Problem mit der Mappe ist, um es ausfuehren zu koennen muss man Ogre und Irrklang installieren...



  • µ schrieb:

    Hacker schrieb:

    Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...

    Welchen Ansatz hast Du gewählt?

    Normales Bruteforce, fuer den Anfang - ein Minimax-Algorithmus.



  • https://rapidshare.com/files/3669677412/3D4Wins Projektmappe.zip

    Hier schon mal nur die Source(&Header).

    Wer ausführen will, bitte um die PEs (Also die executable und die DLLs) bitten.



  • Sone schrieb:

    µ schrieb:

    Hacker schrieb:

    Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...

    Welchen Ansatz hast Du gewählt?

    Normales Bruteforce, fuer den Anfang - ein Minimax-Algorithmus.

    Das ist kein "normales" Bruteforce sondern ein kluger Ansatz, der sich gut optimieren lässt. Weiter so 👍

    Tante Edit: Code nicht angesehen. Werde ich aber noch :p



  • Wikipedia schrieb:

    Schnittstellen zum speziellen Spiel sind lediglich die beiden folgenden Programmteile:

    • Welche Züge sind in einer konkreten Spielsituation möglich?
    • Wie wird eine Spielsituation numerisch bewertet?

    Erster Punkt ist verdammt einfach (bereits gelöst).
    Der zweite eher anders: Ich habe mich entschieden, folgendermaßen zu bewerten:

    -2: Der Gegner hat 4 in einer Reihe.
    -1: Der Gegner hat mehr in einer Reihe als DU
    0: Beide gleichviel in einer Reihe
    +1: Der Gegner hat weniger in einer Reihe als du
    +2: Gewonnen!



  • > -2: Der Gegner hat 4 in einer Reihe.

    Ziemlich sachliche Feststellung, dass man verloren hat. Wie wäre es mit -2000?
    Der Zustand, der zur Niederlage führt, sollte in der Bewertungsfunktion des Min-Max-Algorithmus eine derart niedriege/hohe Punktzahl haben, dass der Algorithmus unter keinen Umständen diesen Pfad im Spielbaum wählt. Das heißt die maximal (minimal) mögliche Punktzahl bei gegebener Tiefe im Suchbaum, darf niemals die Bewertung einer Niederlage übertreffen.

    -1: Der Gegner hat mehr in einer Reihe als DU
    0: Beide gleichviel in einer Reihe
    +1: Der Gegner hat weniger in einer Reihe als du
    +2: Gewonnen!

    Es ist hart, aber vielleicht kannst Du in die Bewertung mehr Information zur aktuellen Spielsituation einbringen?!
    So reicht das noch nicht um einem menschlichen Gegenspieler Konkurrenz zu bieten.

    Zur Optimierung des Algorithmus: Wie zum Thema Schach damals, sei dir auch hier der Alpha-Beta-Algorithmus nahe gelegt. Schon versucht zu implementieren? Das ist "nur" eine Erweiterung zu Min-Max.

    Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.



  • µ schrieb:

    Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.

    Die Maus ist Todeshässlich, aber ich krieg es nicht gebacken meine Version zu benutzen.



  • So, jetzt zu etwas weitaus interessanterem: Die KI. Den Alpha-Beta Algorithmus habe ich jetzt verstanden ( 😃 ). Alpha birgt den aktuellen mindest-Gewinn, der durch eine bereits bekannte Strategie der CPU erzielt werden kann. Also wird ein Wert < Alpha nichts bringen.
    Beta ist der Theoretische höchste Verlust, den der Spieler momentan ertragen wird. Höher als Beta ist ein Zug also unsinnig (der Spieler wird ihn in jedem Fall verhindern).




Anmelden zum Antworten