Aktuelle Zeit: 11.12.2017 13:04

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 2048
BeitragVerfasst: 02.06.2014 18:39 
Offline
Benutzeravatar

Registriert: 24.02.2007 22:15
Hallo,

Hier mal was kleines für zwischendurch.
Mein Klon des Spiels 2048.

Da das reine Spielen aber ziemlich schnell langweilig wird, hab ich mir mal die Aufgabe gemacht eine KI zu entwickeln.
Leider ist diese nicht sehr weit fortgeschritten, und kommt meist nur bis zum 1024 Kästchen und selten zur 2048.

Jetzt kommt ihr ins Spiel: Versucht doch einfach mal selbst eine KI zu erstellen.
Es ist der komplette Quellcode des Spiels enthalten, und auch ein Beispiel-Include einer sehr einfachen "KI",
welche nämlich nur Zufallsbewegungen ausführt.
Das Include braucht ihr nur zu kopieren, umzubenennen und im Hauptprogramm zu includieren.
Anschließend setzt ihr euren Hirnschmalz ein und könnt dann die Ergebnisse hier veröffentlichen.

Bild

Links
Viel Spaß damit!

_________________
Webseite


Zuletzt geändert von Dadido3 am 02.07.2016 14:00, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 02.06.2014 18:44 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
hier ein (wie ich finde nicht unwichtiger) Link zum Thema:

http://de.wikipedia.org/wiki/2048_(Computerspiel)

(ich musste nämlich erst einmal nachschauen, um was es bei diesem Spiel geht ;-))

Grüße ... Kiffi

_________________
einfach ist schwierig


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 02.06.2014 19:10 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Schade, jetzt wollte ich mich ran machen und dann sind da überall Windows-APIs eingebaut. :( Wird es auch noch eine Cross-Platform-Version geben?

Edit:
Ich hab mal einfach alles mögliche weg kommentiert, was unter Linux nicht geht. Das Programm läuft trotzdem. Dann kann ich ja mal probieren. :D

Edit2:
Es wäre praktisch, wenn es schon eine einzelne Funktion gäbe, die das komplette Feld und eine Richtung übergeben bekommt und dann diesen Zug auf dem Feld ausführt. Das ist für iterative KIs dann recht praktisch.

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Tevo Tarantula 3D-Drucker von Gearbest (Aufbau und Review)
Ubuntu Gnome 16.04.3 LTS x64, PureBasic 5.60 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 20.02.2015 13:40 
Offline
Benutzeravatar

Registriert: 05.02.2015 15:42
Ohh das Original habe ich ne ganze Zeit rauf und runter gespielt. Klignt nach ner interessanten Herausforderung. Hat sich tatsächlich jemand außer dir selbst rangewagt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 02.07.2016 00:53 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Ist ja schon älter. Ich habe dennoch mal angetestet und folgende Anregungen:

- Gib dem Spiel ein App-Icon. :)
- Das Spiel hat (zumindest bei mir) eine wahnsinnig lange Startzeit. Also die Zeit zwischen EXE starten und das Spiel erscheint. Vielleicht ein Lade-Fensterchen vorweg mit "Spiel wird geladen... bitte warten... -> 0%, 10%, 20%...". Oder besser noch: Optimieren. Was macht er da so lange? Ich habe an einen havarierten Rohrkrepierer geglaubt und wollte das Programm schon per Taskmanager abbrechen. Dann kam es im letzten Moment doch noch.
- Ich habe nur einen 2er Spielstein am Beginn gehabt. 2048 beginnt mit aber mit 2.
- Bug: Unpassende Spielsteine werden manchmal zusammengezogen werden (z.B. 2 und 8 vereinen sich zur 4). Insbesondere in der oberen linken Ecke
- Bug: Wenn ich Buchstaben in das Seed-Feld eingebe, erhalte ich immer dieselbe Ausgangssituation - nämlich die von 0. Val(seed.s) ohne Abfrage, ob die Eingabe korrekt ist?
- Bug: Die Game-Over-Erkennung scheint lückenhaft zu sein: https://postimg.org/image/sv93vul0x/ (Ich hätte trotz Game-Over noch einen Zug gehabt - Wieder die obere linke Ecke :wink: )
- Bug: Manchmal beginnt das Spiel mit einer 4


Ansonsten gelungene Implementierung

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 02.07.2016 14:42 
Offline
Benutzeravatar

Registriert: 24.02.2007 22:15
Hi,

DarkSoul hat geschrieben:
- Gib dem Spiel ein App-Icon. :)
- Ich habe nur einen 2er Spielstein am Beginn gehabt. 2048 beginnt mit aber mit 2.
- Bug: Wenn ich Buchstaben in das Seed-Feld eingebe, erhalte ich immer dieselbe Ausgangssituation - nämlich die von 0. Val(seed.s) ohne Abfrage, ob die Eingabe korrekt ist?

Ich hab mal nen Icon hinzugefügt und das verhalten an das Original angepasst.
Außerdem kann man jetzt beliebige Zeichen beim Seed eingeben. (Die alten seeds führen aber trotzdem noch zum selben Ergebnis)

DarkSoul hat geschrieben:
- Das Spiel hat (zumindest bei mir) eine wahnsinnig lange Startzeit. Also die Zeit zwischen EXE starten und das Spiel erscheint. Vielleicht ein Lade-Fensterchen vorweg mit "Spiel wird geladen... bitte warten... -> 0%, 10%, 20%...". Oder besser noch: Optimieren. Was macht er da so lange? Ich habe an einen havarierten Rohrkrepierer geglaubt und wollte das Programm schon per Taskmanager abbrechen. Dann kam es im letzten Moment doch noch.

Leider kann ich nicht sagen woran es liegt. Beim Starten werden nur die Einstellungen und Icons geladen, und es wird ein Thread erstellt. Ich kann mir nur vostellen, dass ein Antivirenprogramm das Programm überprüft, hochlädt oder sonst etwas damit macht.

DarkSoul hat geschrieben:
- Bug: Unpassende Spielsteine werden manchmal zusammengezogen werden (z.B. 2 und 8 vereinen sich zur 4). Insbesondere in der oberen linken Ecke
- Bug: Die Game-Over-Erkennung scheint lückenhaft zu sein: https://postimg.org/image/sv93vul0x/ (Ich hätte trotz Game-Over noch einen Zug gehabt - Wieder die obere linke Ecke :wink: )

Kann ich leider nicht nachvollziehen. Selbst wenn ich deine Konstellation aus dem Bildschirmfoto übernehme kommt keine "Game over" Meldung. Auch ist es mir noch nicht passiert, dass zwei unpassende Kacheln zusammengefügt wurden. Es könnte sein, dass die Kacheln und deren Animation bei dir nicht richtig dargestellt und geupdated werden. Ich wüsste aber nicht warum.

DarkSoul hat geschrieben:
- Bug: Manchmal beginnt das Spiel mit einer 4

Das entspricht dem Original, mit einer bestimmten Wahrscheinlichkeit wird eine 4 anstatt eine 2 generiert.

NicTheQuick hat geschrieben:
Schade, jetzt wollte ich mich ran machen und dann sind da überall Windows-APIs eingebaut. :( Wird es auch noch eine Cross-Platform-Version geben?
Ich hab mal einfach alles mögliche weg kommentiert, was unter Linux nicht geht. Das Programm läuft trotzdem. Dann kann ich ja mal probieren.

Es sollte jetzt auch auf macOS und Linux laufen, die WinAPI wurde nur genutzt um den entsprechenden Ort zum speichern der Konfigurationen zu ermitteln.

NicTheQuick hat geschrieben:
Es wäre praktisch, wenn es schon eine einzelne Funktion gäbe, die das komplette Feld und eine Richtung übergeben bekommt und dann diesen Zug auf dem Feld ausführt. Das ist für iterative KIs dann recht praktisch.

In AI_Simple.pbi gibt es die Funktion AI_Simple_Move(Array Field.i(2), Direction). Die kann man einfach kopieren und verwenden.

Falls jemand eine AI schreiben will:
Ein Minimalbeispiel für eine AI ist in AI_Random.pbi

_________________
Webseite


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 03.07.2016 13:28 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Zitat:
Leider kann ich nicht sagen woran es liegt. Beim Starten werden nur die Einstellungen und Icons geladen, und es wird ein Thread erstellt. Ich kann mir nur vostellen, dass ein Antivirenprogramm das Programm überprüft, hochlädt oder sonst etwas damit macht.


Dies ist nicht der Fall. Der Prozess ist gestartet und es dauert dann ewig, bis dann das Spiel erscheint. :wink:

Habe mal debuggt und er hält sich an

758 : LockMutex(AI_Main\Mutex_ID)

sehr sehr lange auf. Den Thread, der diese Mutex so lange in Beschlag nimmt, habe ich auf die Schnelle nicht finden können.

Zitat:
Kann ich leider nicht nachvollziehen. Selbst wenn ich deine Konstellation aus dem Bildschirmfoto übernehme kommt keine "Game over" Meldung. Auch ist es mir noch nicht passiert, dass zwei unpassende Kacheln zusammengefügt wurden. Es könnte sein, dass die Kacheln und deren Animation bei dir nicht richtig dargestellt und geupdated werden. Ich wüsste aber nicht warum.


Es handelt sich nicht um einen Grafikfehler, da man mit den ungültigen Spielzügen weiterspielen kann. und man nach der Game-Over Meldung nicht mehr weiterspielen kann <). Ein Fehler in der Darstellung würde lediglich zur falschen Anzeige führen. Aber die fehlerhaften Spielzustände sind "echt".

PS: Warum ist im Source hinterlegt, dass mit PB 5.3 Beta 1 compiliert werden soll? Wir sind bei 5.42 :twisted: :mrgreen:

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: 2048
BeitragVerfasst: 03.07.2016 17:03 
Offline
Benutzeravatar

Registriert: 24.02.2007 22:15
Danke für die Rückmeldung.

Der Mutex wird nur (immer kurz) von dem Thread gesperrt, wenn die KI läuft. Beim Starten wird er aber nicht gesperrt. Ich tippe immernoch auf eine Antivirensoftware, welche den Programmablauf blockiert und dann irgendwas scannt. Falls du eine laufen hast, könntest du sie mal kurz aktivieren.

Und wenn du lust hast, könntest du ja mal dokumentieren wie man zu dem "Game over" oder dem anderen Bug kommt. Also die Seed und die nötigen Schritte, eventuell ein Video. Am besten mit der neusten Version. Sonst kann ich es hier einfach nicht reproduzieren.

DarkSoul hat geschrieben:
Wir sind bei 5.42 :twisted: :mrgreen:

Hättest du mir das nicht vor zwei Jahren sagen können? :P

_________________
Webseite


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye