PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schachcomputer



Mr.Hunz
12.02.2004, 23:39
Hi...
Ich brauche dringend Hilfe http://www.multimediaxis.de/images/smilies/old/sm_12.gif
Ich habe mit einem Freund (CapSeb) `ne Wette laufen...
Er meint es gibt Nichts, was der RPG-Maker nicht kann...o_O
Zumindest nichts, was innerhalb des Bereiches für Spieleentwicklungen liegt...
*Hust*...Ich meine, das das nicht so ist, wieso sonst gibt es bald den RPG-Genisis...?
Naja, was ich eigentlich fragen wollte, ist, ob man mit dem RPG-Maker in der Lage dazu ist, einen INTELIGENTEN "Schachgegner" herzustellen...

(Ps.:Wenn das so ist, bin ich sehr erfreuht über Vorschläge, was der RPG-Maker nicht kann... :D )

Göfla
12.02.2004, 23:47
Klar ist es möglich einen Schachcomputer mit dem Maker zu machen...

Mach bräuchte halt vieeel Zeit, Geduld und technisches Verständnis um ne ordenliche KI zusammen zuscripten. Aber machbar is es sicher.

Theroetisch ist alles mit dem Maker machbar, wann man sich gut genug auskennt und genug Zeit auch dazu hat. AUSSER bei 3D Grafik. Wenn man jetzt zB nen 3D Shooter Scripten will, wirds schon drastisch ^^

Hades
13.02.2004, 00:44
Schachcomputer, na des wär doch ma was!
Mit ner richtigen KI hockste doch Jahre davor wenn jemand so was machen wollte. Aber theoretisch wärs schön möglich, eigentlich is, wie Göfla schon sagte, fast alles möglich.
Aber die größte schwäche des Maker is eben die Grafik. Die Chip und Charsets kannste net grafisch verbessern und Pics gehn glaub ich auch nur bis 256 Farben oder so was. Also sin so Spiele wie Final X wohl schon im bereich des Unmöglichen.

Mr.Hunz
13.02.2004, 15:04
Also was ich eigentlich mit meiner Farage wollte, ist ob es auch einfacher geht, als 64"hoch"18(64Felder;18Figurenhttp://www.multimediaxis.de/images/smilies/old/s_009.gif Befehle zu erstellen...
Ausserder glaube ich kaum, das dies mit dem Maker möglich ist...
Das sind nämlich ungefähr:
8.507.059.173.023.461.584.365.185.794.237(http://www.multimediaxis.de/images/smilies/old/s_009.gif http://www.multimediaxis.de/images/smilies/old/s_009.gif http://www.multimediaxis.de/images/smilies/old/s_009.gif) Befehle...
Das heisst:10"hoch"30*8,5...

Dhan
13.02.2004, 17:03
Also eine richtige Schach-KI hat Stellungen gespeichert und zwar in Massen, ich denk mal, auch ähnliche Stellungen und dazu noch Stellungen, die es erreichen will und einfache Züge (besonders am Anfang geht das nicht schwer, wenn man nach Theorie spielt und der Gegner nicht, ist er verloren)

diese Stellungen sind eine gigantische Menge, außerdem muss man Schachprofi sein, um sowas zu machen.

vergiss es also, das bekommste weder mim Maker noch mit etwas Richtigem wie C++ so schnell hin ^^

Mr.Hunz
13.02.2004, 22:39
Hey, vielen Dank, für diese Aufmunterung!! §ironie
Aber egal...Ausserdem, wie meinst`n das, mit dem "Vergiss" es??
In bezug auf den Maker, oder in bezug darauf, dass man Schachprofi sein müsse??
Ich sag` dir jetzt `mal was:
§gott ,O Kay??

Dhan
13.02.2004, 23:42
Im Bezug darauf, dass du keine 5 Jahre Zeit hast (so nehm ich ma an) um das Script für eine einfache KI zu schreiben ^^

Manuel
13.02.2004, 23:59
Eine KI für ein Schachspiel herzustellen... Ich habe noch nicht mal geschafft, eine KI für mein vergleichsweise einfacheres 4Gewinnt (http://home.arcor.de/mk-gamemaker/downloads/4gewinnt_rtp.exe) herzustellen ^^.

An sich wäre es nicht mal soo schwer, eine Grundlage aufzubauen, wie
man eine Schach-KI programmiert. Man könnte es z.B. so machen, dass
alle Züge in den Common-Events gespeichert werden. Dann überprüft die
KI eine Stellung, und wenn sie den optimalen Zug gefunden hat, zieht
es mithilfe der Common-Event-Befehle auch dorthin.

Das dumme ist halt "nur", dass man jede einzelne Stellung von jeder
einzelnen Figur selbst errechnen müsste. Und das wäre ein Ding der
Unmöglichkeit (es sei denn, du hast die nächsten 5 Jahre nichts vor
oder besorgst dir eine Programmiersprache ^^).

EDIT nach Post von Ineluki unter mir:
Ja, hast recht, war nur ein Vorschlag ^^.

Ineluki
14.02.2004, 00:25
Das mit allen moeglichen stellungen zu programmeiren ist schwachsinn, da das was du ausgerechnet hast nur die anzahl an moeglichen unterschiedlichen stellungen angibt, nicht aber die anzahl an moeglichen zuegen und zudem hast du nicht beruecksichtigt, das figuren geschlagen wurden sein koentnen, oder das nicht mehere figuren auf einem feld stehen koennen. Zudem ist die anzahl von moeglichen schachposotionen vereits groesser, als die Anzahl an Atomen im Universum ... soviel dazu, so vorzugehen ...

Eine Schach KI funktioniert aber gaenzlich anders ... und kommt zur Not auch komplett ohne Stellungstabelle aus ... und zwar geht das folgendermassen ...

A) Die KI muss ein Regelwerk haben, um gueltige von ungueltigen Zuegen zu unterscheiden.

B) Allen Figuren wird eine Wertigkeit zugeordnet. Bauer=1, Springer=3, Laeufer=3.2, Turm=6, Dame=9, Koenig keine Wertung, aber absolute Prioritaet (wegen den Regeln von A).

C) Nun Addiert die KI diese Wertigkeiten aller ihrer Figuren zusammen.

D) Bestimmte elementare Figurengruppierungen (Stellungen aus 2 bis 5 Figuren) bekommen ebenfalls Wertungen, sowohl positive (gute Stellung) als auch negative (schlechte Stellung). Diese Werte werden mit den Werten von C verrechnet. (Dieser Punkt ist nicht zwingend Notwendig, erhoeht die Geschwindigkeit und Spielqualitaet jedoch enorm)

E) Die KI probiert nun (mehr oder weniger) wahllos eine bestimmte Anzahl nach A moeglicher Zuege aus (abwechselnd fuer sich und den Gegenspieler ziehend bis maximal zu einer Tiefe von etwa 5 Halbzuegen) und bewertet die errechneten Stellungen nach dem Schema B bis D und waehlt am Ende den Zug aus, der ihr die groessten Vorteile brachte.

F) Die KI wartet auf den Zug des Gegenueber und faehrt danach mit E fort.

Eine wirklich gute KI ist meiner Meinung nach mit dem Maker nicht zu machen, da er einfach zu wenig Variablen hat und der Aufwand exorbitant ist, aber theoretisch ist es in der Tat moeglich, mit dem Maker einen Schachcomputer zu bauen.

Gruss Ineluki

Dhan
14.02.2004, 00:33
Also ein Profi schlägt eine solche KI mit links... zumindest die Start-Theorien müssen gespeichert sein (Starttheorien sind sehr lustig, Schachprofis machen bei der Eröffnung Zack-Zack-Zack, eine halbe Sekunde pro Zug ^^)

ich meinte ja auch net alle möglichen sondern eben die Elementaren... und die Wertigkeit der Figuren... es kann sein, dass du deine Dame (Wert 9) gegen einen Bauern (Wert 1) tauschst, was dann sich zwar blöd anhört, aber dafür sorgen kann, dass dein Feind in 3 Runden Schachmatt ist (was er nicht unbedingt ausrechnen kann)

Schach ist ein lustiges Spiel ^^
oder wie einer meiner Kumpel, ein Schachprofi, meint:

Der König ist eine Angriffsfigur!

Ineluki
14.02.2004, 05:34
Also ich hab auch schon mal schach gespielt .. vor ner ewigkeit im verein ^^ ...

es kann sein, dass du deine Dame (Wert 9) gegen einen Bauern (Wert 1) tauschst, was dann sich zwar blöd anhört, aber dafür sorgen kann, dass dein Feind in 3 Runden Schachmatt ist (was er nicht unbedingt ausrechnen kann)Dafuer rechnet diese einfache KI aber auch 5 Halbzuege im vorraus und wuerde das natuerlich sehen ... nur manchmal laesst sich sowas aber nicht umgehen ^^ ... also soo schwach waere die KI auch nicht .. vor allem nicht, wenn man Punkt D beruecksichtigt ... da wuerden dann natuerlich auch freibauern beruecksichtigt werden .. etc ...

zumindest die Start-Theorien müssen gespeichert sein (Starttheorien sind sehr lustig, Schachprofis machen bei der Eröffnung Zack-Zack-Zack, eine halbe Sekunde pro Zug ^^)und es geht definitiv ohne eroeffnungsbibliothek ... ich habe nicht gelesen, dass die KI nicht beliebig lange zeit hat, einen Zug zu machen ... und am Anfang des spiels gibt es nun mal eine sehr grosse auswahl an Zuegen ... es ist ja nicht so, dass die theorien voellig aus der luft gegriffen sind, sondern diese basieren ja auch auf vorteilsmannoevern und Stellungsboni ... also laesst sich sogar die Theorie berechnen durch obig genannte KI .... nur wuerde sie wohl mehere Stunden bis Wochen fuer die ersten Zuege brauchen, um sie optimal hinzubekommen ...

Cyberwoolf
14.02.2004, 22:36
@ Ineluki: Der Läufer mit 3,2 Punkten? Hier wirfst du eine Frage auf die die Schachspielende Menschheit schon seit vielen Jahren umherwälzt: Wer ist mehr wert? Springer oder Läufer?
[Meine Meinung]Da dies Situationsbedingt ist, sollten beide Figuren 3 Punkte wert sein![\Meine Meinung]

PS: Als Mod solltest du diesen Thread doch schließen, da:
1. Die Diskussion von der eigentlichen Frage abgedriftet ist.
2. Sich diese Diskussion um eine (für einen Menschen mit Verstand) unmögliche Aufgabe dreht.

wrtlprnft
15.02.2004, 05:16
Eine KI, die wahllose, aber mögliche Züge macht, ist simpel.
Aber etwas zu proggen, das so gut spielt, dass man nicht so ohne weiteres gewinnen kann, ist schon was ganz anderes.
Nicht umsonst sind Schachengines wie Fritz extrem komplizierte Gerüste mit neuronalen Netzen und weiß-der-Teufel was, das wird man mit dem Maker nie hinkriegen. RPG-Maker steht ja auch für Role Play Game, die Sachen, die RPGs mit Schach-KIs verbindet, müssen erst noch erfunden werden.

Der Maker ist btw nicht nur schlecht in der Grafik, sondern er ist für komplizierte Berechnungen vieeeel zu lahmhttp://www.multimediaxis.de/images/smilies/old/s_009.gif

Ineluki
15.02.2004, 07:42
der laeufer ist mit 3.2 Punkten belegt, da man mit Koenig und 2 Laeufern gegen koenig noch matt setzen kann, genau so wie mit springer und laeufer. Mit zwei springern geht das jedoch nicht ...

Also ich persoenlich finde nicht, das die diskussion abdriftet, den genau um die konstruktion von sowas (mit dem Maker) hanselt es sich.

Wie du das meinst, das diese aufgabe fuer einen menschen mit verstand unmoeglich ist, kann ich irgendwie nicht Nachvollziehen ... schliesslich ist es doch nicht unmoeglich schachcomputer zu konstruieren ... oder hab ich da was falsch verstanden ?

BlueScope
15.02.2004, 08:10
Moin, ich platz mal kurz rein, um mal wieder meinen Senf dazu zu geben ;)

Also was die Frage mit dem Springer und dem Läufer betrifft: Der Läufer ist wie jede andere Figur in einem gewissen Sinne linear, d.h. sie kann nur gerade ziehen und mit Pech reicht eine Figur und sie ist bewegungsunfähig. Der Springer hat einen Taktischen Vorteil, da er sich im Zweikampf immer aus der Situation retten kann, solange er nicht in die Ecke gedrängt wird. Ausserdem kann er direkt zum Zielfeld springen und ist somit von nicht weniger als vier Figuren (zwei in Ecken) blockierbar. Und gewisse Situationen (Turm-Dame-Bedrohung) lassen sich ohne ihn nicht durchführen ! Deshalb ist der Springer deutlich mehr wert, zumindest für mich. Was die Schachregeln angeht, hat Ineluki völlig recht, so werdet ihr es in allen Büchern lesen und von allen erfahrenen Schachspielern hören ... :rolleyes:

So, und zu Sachen, die der Maker nicht kann: Wenn mn von der Game-Engine ausgeht, gibt es theorethisch wirklich nichts, was man nicht machen kann, es soll LEute geben, die sogar Ego-Shooter hinbekommen haben. Aber trotzdem ist die Frage einfach: Ein Spiel mit 640x480 Pixeln ist völlig unmöglich ! :D

Dhan
15.02.2004, 16:17
Also 3D ist unmöglich, außer man hackt die Exe sodass man mehr Pictures hat aber selbst dann ist es sau hart, weil der Maker objektorientiert ist und nicht dynamisch

Ineluki
15.02.2004, 16:38
Original geschrieben von Dhan
Also 3D ist unmöglich, außer man hackt die Exe sodass man mehr Pictures hat aber selbst dann ist es sau hart, weil der Maker objektorientiert ist und nicht dynamisch Der Maker ist Objectorientiert ? .. das waere mir jedenfalls neu ... und Selbst pseudo 3D ist moeglich .. schau dir mal DeathCat No.3 an ... das ist in "3D" gemacht .. sogar gar nicht so schlecht ^^

Was nochmal das thema 3.2 zu 3 angeht ... ich hab mich nur nach der offiziellen Wertigkeit gerichtet ... ich persoenlich finde den Springer auch (oft) dem Laeufer ueberlegen ... aber was solls .. ich definiere das Laeufer/Springer-Wertigkeitsproblem damit fuer beendet

Cyberwoolf
16.02.2004, 01:58
Wie du das meinst, das diese aufgabe fuer einen menschen mit verstand unmoeglich ist, kann ich irgendwie nicht Nachvollziehen ... schliesslich ist es doch nicht unmoeglich schachcomputer zu konstruieren ... oder hab ich da was falsch verstanden ?

Ich meinte das Programmieren einer Schach-KI mit dem Maker.

Sensenmann5
16.02.2004, 02:53
hmm, wenn man diesen variablen patch benutzt(mehr varis) und
sehr viel zeit und nerven hat, kann man z.B: einen Ego-Shooter
so machen:
Man macht massig Bilder(320x240), die dann JEDE MÖGLICHE
STELLUNG darstellen, und speichert in variablen
die °Gradzahl(0-359), x,y,und z postion des helden, und lässt
sie dann am ende immer abprüfen und das richtige bild anzeigen...
sind ja nur "ein paar trillionen"(in etwa:) ) Möglichkeiten...
sollte man in 200 Jahren schaffen...:D

so in etwa könnte man auch die schach-ki machen:
es gibt ja "nur" eine bestimmte anzahl von möglichen stellungen,
man fragt sie ab, und lässt den bessten zug darauf ausführen
(falls man weiß, was der beste zug ist)

prinzipiell hat jedes spiel nur eine bestimmte anzahl an möglichen
"stellungen", das gesamte, was dan eben auf dem bildschirm flimmert...
auch wenn das ziemlich,ziemlich viele sind:)

so kann man jedes spiel mit dem maker machen...wenn man will:D

probleme gibts höchstens mit den 320x240 pixeln...

wrtlprnft
16.02.2004, 03:06
Klar, wenn man in der Steinzeit einen Hochleistungsrechner gebaut hätte, der dann alle möglichen Schachkombinationen durchrechnen würde, wüsste man vielleicht kurz bevor die Sonne explodiert, ob nun weiß oder schwarz gewinnt, wenn beide immer die bestmöglichen Züge machen, und wie lange es dauert, bis Weiß/Schwarz in so einer Situation gewinnt:rolleyes:
Und was hätte man davon? Man hätte ein Hochinteressantes Spiel zu einem langweiligen von-der-Tabelle-abspiel-spiel degradiert, wo jeder schon weiß, wer gewinnt... Toll!

Ich weiß, der :D-Smiley soll ausdrüchen, dass etwas nicht ernst gemeint ist, aber trotzdem.
Außerdem hast du mit dieser 9830400-Bilder-Methode immer noch nicht das Problem der begrenzten Variablen aus der Welt geschafft...
Von der Tatsache abgesehen, dass so ein "Spiel" unkomprimert allein von den Grafiken her 96636 GB groß wäre, hast du sicher recht:D

Sensenmann5
18.02.2004, 01:18
also, für ein schachbrett gibt es ca. nur 482219923991114978843459072919890000000000000000000000 +noch ein
bisschen Möglichkeiten, wenn man die max. 5000Variablen(ohne patch)
nimmt, sie können den wert von -999999 bis 999999 annehmen, gint
es insgesamt ca. 1,4089402739619619631677926037819*(10(hoch)31.505)
Möglichkeiten. Wenn man nun noch den patch dazunimmt...
also variablen gibt es genug...
für ein schachspiel bräichte man so 9-10 Variablen...
und an sich überprüft ja jedes game ein paar variablen, führt ein paar
berechnungen aus, und macht dann irgendwas "von der tabelle" oder
es macht "Random", was man auch nach meiner methode machen kann...
[Edit] ausserdem gibt es ja auch noch die Spielereingabe[Edit]
und das bisschen überprüfen: höchstens 5000 Überprüfungen pro zug,
hört sich viel an, dauert aber höchstens ein paar minuten...
und bei einem ego-shooter gibt es auch nicht so viel möglichkeiten,
dass die variablen niicht reichen würden...:D

Dhan
18.02.2004, 02:30
Joa wunderbar, ich beginn schoma, sagt mir bescheid, wenn ich tot bin.

Mr.Hunz
19.02.2004, 14:47
Hey Leuties...
Muss mich auch mal wieder melden...
Hatte ziemlich viel zu tun (bei OGame...):D
Naja...
Was ich fragen wollte:
Ist es mit dem Maker möglich, eine Uhr zu erstellen,
die auch läuft, wenn der Computer abgeschaltet ist??:eek:

Manni
19.02.2004, 15:46
Nein, ich glaube nicht, dass das geht. Schliesslich ist der RPG Maker eine ganz normale Windowsanwendung. Ausserdem hat der RPG Maker soweit ich weiß keine so tief greifenden Rechte ...

Ineluki
19.02.2004, 19:23
demnaechst wird sowas gehen ... und zwar bei meiner patchcollection
das dauert aber noch recht lange ... also lieber nicht fragen, wan die rauskommt, die antwort wuerde euch ohnehin nicht gefallen

Mr.Hunz
26.02.2004, 23:33
@Ineluki:
Gut, dann frag` ich, wie lang` das NICHT dauert...:D

Ps:Bitte(http://www.multimediaxis.de/images/smilies/old/sm_12.gif)beeile dich ein bisschen damit...

kpayne
27.02.2004, 04:20
wozu brauchst du ne UHR? Das proggste mit C++ oder kA mit was in 10 sekunden !! ausserdem haste die UHR in Windows unten^^

huh?? Schachcomputer würde bestimmt gehen..ich könnt ja ma anfangen..wir sehen uns dann im zweiten Leben^^ :D:D:D:D

Dhan
27.02.2004, 12:41
Kloa proggt man des mit C++ schnell, nur ist die Frage, wie man den Timer dann mim Spiel zusammenarbeiten lässt... ich weiß zwar net, was man damit machen könnte aber da gibbet sicher irgend ne verwendungsweise...

@Mr. Hunz: Welches Uni?