Ich steh momentan vor einem Problem. In meiner Schachsimulation wird das Brett sowie die Figuren aus *.3ds Dateien geladen. Bei den Figuren funktioniert die Selection (Danke für das Selections-Tut ) wunderbar, dem Schachbrett kann ich jedoch nur einen Wert zuteilen. Nun möchte ich aber genau wissen auf welches Feld der Benutzer geklickt hat.
Wie würdet ihr das jetzt anstellen?
1.) Ich zeichne nochmals ein Brett (mit 64xgl_Quad) ohne Texturen unter das Schachbrett Model und gib da jedem Feld eine Nummer
2.) Sobald der Benutzer auf das Brett geklickt hat berechne ich auf welches Feld er geklickt hat (<-- Da bräuchte ich dann aber eure Hilfe)
3.) Eine andere Idee ....
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Ich zeichne bei der Selection einfach 8x8 Quads in entsprechender Größe. nenne die 1 bis 64 und entnehme daraus dann das feld...
Ich poste einfach mal den Code :
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Da MAX!MUS das Brett als 3DS Datei lädt wird ihn das sicherlich net gefallen Ne Andere möglichkeit wäre es einfach beides zu mischen:
Beim normalen Rendern zeichnest du dein Brett. Wenn du für die Selection renderst, nimmst du das Brett von Geo und renderst es genau dorthin, wo das 3DS Brett wäre. Die Selektion ließt ja nur die Werte aus, die bei dem Selektiondurchgang gezeichnet werden. Deshalb könntest du beim 3DS Brett auf einen GLNamen verzichten.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Eine KI ist in Planung. Ich hab die Schachsimulation aus 3 Gründen angefangen.
1.) Weil ich mich sehr für die 3D Programmierung interessiere und diese anhand eines größeren Projektes lernen wollte.
2.) Weil ich mich sehr für KI/Neuronale Netze interessiere und diese anhand eines größeren Projektes lernen will.
3.) Weil wir endlich eine Schachsimulation für LAN Partys brauchen und keiner sich eine kaufen will
Also werd ich in Bereich KI doch einiges Versuchen. Wir können sie ja mal gegeneinander spielen lassen wenn sie fertig sind
Man könnte die KI der beiden Programme ja jeweils in eine DLL packen und dann in das andere Programm einbinden, so dass man dann die beiden KI's gegeneinander spielen lassen kann. Das wäre sicherlich mal eine interessante Sache.
Du willst die Züge Analysieren, und die KI dadurch besser werden lassen, oder inwiefern soll die KI arbeiten? oO
Da hast du dir was vorgenommen!
Über das Thema habe ich mir schon mal Ordenliche Gedanken gemacht, und nach meiner Meinung wäre es in Shootern o.ä. sogar leichter zu Realisieren wie in einer Schachsimulation!
Wenn du fertig bist würde ich mich über einen Artikel im Wiki drüber freuen!
#Edit:
Das gegeneinander anspielen lassen wäre interessant, allerdings würde es vermutlich so ablaufen das die KI von Maximus zum Ende die Stärkere ist!
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Ich glaub nicht, dass sich eine "intelegente" Schach KI als Einstiegs Projekt für KI/Neurale Netze realisieren lässt, sonnst gebs davon schon haufenweise und ich hab noch keine einzige gesehen
Aber ich bin auch nich sicher ob Maximus das meint. Ne konventionelle KI (mit alle Möglichkeiten bilden und Punkte zählen/ Bilantzen vergleichen) macht auch schon Laune und is komplex genug (finde ich)!
Aber das mit den Schootern fänd ich ma spannend (obwohl ich mir dass auch schon sehr schwierig vorstelle). Warscheinlich könnte mann Feinabstimmungen einer KI über Lerneffekte realisieren oder gegnerspezifische Daten sammeln und so Besserungen erziehlen...
Ne wirklich spannende KI fehlt doch eh allen Shooter! aber wir schfweifen vom Thema ab
EDIT: vielleicht könnte mann über Zuganalyse die Eröffnungen verbessern !!! Muss ich ma rüber nachdenken
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Die Zuganalyse ist schwer! Du musst bei einem Ereigniss( z.b. Bauer wird geschlagen, du kannst ihn nicht schlagen ), Analysieren warum dies geschehen ist, und wie du es beim nächsten mal verhindern kannst!
Dazu musst du sämtliche Einheiten rausfiltern die keine Rolle gespielt haben! Dannach musst du jeder Einheit eine Abhängigkeit zuweissen im Bezug zum Ereigniss( Das erlaubt es den Zug mit unterschiedlichen Stellungen zu spielen, aber mit dem gleichen Inhalt )!
Jetzt musst du Wertigkeiten anlegen, dabei muss drauff geachtet werden welches Ereigniss vorher war und welches dannach, die Wertigkeiten müssen so sein, das sie Positiv( Positive Schlagbilanz ) und negativ( negative Schlagbilanz ) sein kann.
Besonderst auf die zusammenhänge zwischen vorhergehenden Zügen, und darauf folgenden Zügen müssen beachtet werden in verschiedenen Ebenen!
Man könnte die Sache noch erweitern in dem man tatsächlich jeden Zug Analysiert.
Das ganze würde auch dazu führen das die KI vermutlich auch neue Einleitungen kreieren kann, die vom normalem Spiel total abweichen!
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Auch wenn es hier etwas OT wird , will ich mich trotzdem nocheinmal äusern.
Ich hab mir natürlich auch schon viele Gedanken darüber gemacht an welcher Stelle und mit welcher Aufgabe ich ein KNN in eine Schachsimulation einbauen lässt.
Ich hab mir das so gedacht:
Das KNN soll versuchen den Zug des Gegners vorauszusagen (Analyse). So muss ich nicht für jeden Möglichen Zug des Gegners meinen eigenen Zug ausrechen, sondern kann ganz gezielt mich auf 1-2 mögliche Züge konzentrieren und somit viel mehr vorausberechnen und eventuell damit mir einen Vorteil verschaffen.
Wie gesagt eine reine Vorüberlegung. Dieses Prinzip wird aber warscheinlich erst ab dem 3. Spiel funktionieren und auch nur dann wenn der Gegner wieder mit einer ähnlichen Taktik spielt.
Aber vielleicht fällt mir auch noch etwas besseres zu dem Thema ein.
PS: In der DP hat negaH (Hagen) mal ein Beispiel Source für ein NN veröffentlicht was auch versucht einen Klick des Benutzers vorauszusagen. Ist aber trotz der einfachen Aufgabenstellung recht komplex (glaub an die 2000 Zeilen Code) aber im Prinzip etwas ähnliches was ich vorhab
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.