Hey Leute,
seit längerer Zeit arbeite ich zusammen mit meinem Kommilitonen „haering“ zusammen an einem kleinem Spiel. Die Idee stammt noch aus Zeiten in denen ich meine langweilige Vorlesung nicht durch den Gebrauch eines Laptops aufpuschen konnte, sondern auf analoge Art und Weiß mit einem Blatt Papier und Stift den Unterricht erträglicher machen wollte:
Jeder kennt wahrscheinlich das Spiel „Vier Gewinnt“ ( engl. 'Connect Four' ). lame denkt sich jetzt jeder, im Netz gibt’s tausende Implementierungen dieses Spiels, nun haben wir aber dieses Konzept aufgegriffen und erweitert. Statt in ein starres 6x7 Spielfeld seinen von der Gravitation nach unten gezogenen Steine zu setzen, ist das Spielfeld bei uns unendlich groß. Gesetzt werden darf aber nur neben bereits liegenden Steine, gewonnen hat selbstverständlich derjenige, der als erstes vier Steine seiner Farbe in Reihe (horizontal, vertikal, quer) legen kann.
Und wer es auch immer gehasst hat, nur zu verlieren weil er als zweiter angefangen hat (der Anfänger wechselt natürlich zu beginn jeder runde), der sollte den „Expertmode“ testen: Hat Spieler A (welcher das Spiel begonnen hat) seine Reihe fertig, darf Spieler B noch einmal setzen. Sollte B es schaffen auch eine Reihe zu bauen, geht das Spiel für beide Spieler weiter.
Zudem haben wir das Spiel optisch aufgemöbelt und auf die Höhe der Zeit gebracht, man kann an dem selben PC zusammen spielen („Partymodus“), sich über Matchmaking mit einem fremden verbinden lassen und spielen (auch chatten durch Enter ist möglich) oder über eine direkt Verbindung einen Bekannten über TCP oder UDP (durch Eingabe der selben 'Connect ID') herausfordern. Vielspieler können versuchen alle Achievements zu erlangen und später folgt noch die Integration in Facebook (FB wir aber nicht erforderlich sein um es zu spielen) und die Portierung auf Android.
Uns und unseren Freunden hat es schon viel Knobel Spaß beschert, wer „Vier Gewinnt“ mochte, wird „Connect Four -Extreme“ lieben.
Sowohl Kritik als auch Lobe sind erwünscht
-Applet
-Webstarter
-jar-Datei
Und nun zu unserem Problem:
Wir wollen auch einen Singelplayer haben, dazu brauchen wir aber ein KI. Tja und da haben wir so unsere Probleme, per backtracking (also alle möglichen nächsten n Züge ausprobieren und dann schauen welcher Zug im Nachhinein die meisten wins und wenigsten loses mit sich bringt) haben wir es schon versucht (ne Zufall KI is genauso gescheit), ich glaub aber das es so nicht zu lösen ist: 1. Backtracking kostet viel Rechenpower ( bei tiefe 7-8 dauerts schon ne sec, bei fast leerem Spielfeld) und 2. sind die Kriterien die wir gewählt haben nicht ausreichen um sagen zu können ob ein Zug gut sein wird oder nicht.
Dh. Brauchen wir eure Hilfe für die KI, was ist der Ansatz den wir verfolgen sollten.
Viel Spass beim spielen und schon mal danke für alles was ihr hier so schreibt
Matze
seit längerer Zeit arbeite ich zusammen mit meinem Kommilitonen „haering“ zusammen an einem kleinem Spiel. Die Idee stammt noch aus Zeiten in denen ich meine langweilige Vorlesung nicht durch den Gebrauch eines Laptops aufpuschen konnte, sondern auf analoge Art und Weiß mit einem Blatt Papier und Stift den Unterricht erträglicher machen wollte:
Jeder kennt wahrscheinlich das Spiel „Vier Gewinnt“ ( engl. 'Connect Four' ). lame denkt sich jetzt jeder, im Netz gibt’s tausende Implementierungen dieses Spiels, nun haben wir aber dieses Konzept aufgegriffen und erweitert. Statt in ein starres 6x7 Spielfeld seinen von der Gravitation nach unten gezogenen Steine zu setzen, ist das Spielfeld bei uns unendlich groß. Gesetzt werden darf aber nur neben bereits liegenden Steine, gewonnen hat selbstverständlich derjenige, der als erstes vier Steine seiner Farbe in Reihe (horizontal, vertikal, quer) legen kann.
Und wer es auch immer gehasst hat, nur zu verlieren weil er als zweiter angefangen hat (der Anfänger wechselt natürlich zu beginn jeder runde), der sollte den „Expertmode“ testen: Hat Spieler A (welcher das Spiel begonnen hat) seine Reihe fertig, darf Spieler B noch einmal setzen. Sollte B es schaffen auch eine Reihe zu bauen, geht das Spiel für beide Spieler weiter.
Zudem haben wir das Spiel optisch aufgemöbelt und auf die Höhe der Zeit gebracht, man kann an dem selben PC zusammen spielen („Partymodus“), sich über Matchmaking mit einem fremden verbinden lassen und spielen (auch chatten durch Enter ist möglich) oder über eine direkt Verbindung einen Bekannten über TCP oder UDP (durch Eingabe der selben 'Connect ID') herausfordern. Vielspieler können versuchen alle Achievements zu erlangen und später folgt noch die Integration in Facebook (FB wir aber nicht erforderlich sein um es zu spielen) und die Portierung auf Android.
Uns und unseren Freunden hat es schon viel Knobel Spaß beschert, wer „Vier Gewinnt“ mochte, wird „Connect Four -Extreme“ lieben.
Sowohl Kritik als auch Lobe sind erwünscht
-Applet
-Webstarter
-jar-Datei
Und nun zu unserem Problem:
Wir wollen auch einen Singelplayer haben, dazu brauchen wir aber ein KI. Tja und da haben wir so unsere Probleme, per backtracking (also alle möglichen nächsten n Züge ausprobieren und dann schauen welcher Zug im Nachhinein die meisten wins und wenigsten loses mit sich bringt) haben wir es schon versucht (ne Zufall KI is genauso gescheit), ich glaub aber das es so nicht zu lösen ist: 1. Backtracking kostet viel Rechenpower ( bei tiefe 7-8 dauerts schon ne sec, bei fast leerem Spielfeld) und 2. sind die Kriterien die wir gewählt haben nicht ausreichen um sagen zu können ob ein Zug gut sein wird oder nicht.
Dh. Brauchen wir eure Hilfe für die KI, was ist der Ansatz den wir verfolgen sollten.
Viel Spass beim spielen und schon mal danke für alles was ihr hier so schreibt
Matze