Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Helmut

5x Contest-Sieger

  • »Helmut« ist der Autor dieses Themas

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

41

26.07.2009, 15:18

Also du kannst theoretisch Member anlegen und so irgendwie anhand der bisherigen Bewegungen des Gegners versuchen zu approximieren, wie sich der Gegner verhält. Das ist natürlich ungenau und relativ aufwändig (schätze ich). Was du nicht machen darfst (kannst), ist einfach GS.Player[You].Pilot->WhatDoYouWantToDoNow() aufzurufen. Dann könnte man ja einfach exakt vorausberechnen, wie sich der Gegner verhalten wird und entsprechend steuern. Das gäbe auch Probleme, falls das beide KIs machen würden. :) Aber da Pilot privat ist, gehts halt nicht.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Helmut

5x Contest-Sieger

  • »Helmut« ist der Autor dieses Themas

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

42

26.07.2009, 15:23

Zitat von »"n0_0ne"«

Edit: Wie genau soll eigentlich die Auswertung am Ende aussehen? Weil es macht einen Unterschied, ob man als Spieler 1 oder 2 startet, zwar keinen großen, aber wenn ich gegen mich selbst antrete, gewinne ich 23:21. Ich würde vorschlagen, wenn es am Ende zwischen zwei KIs relativ knapp ist, beide nochmal umzudrehen und nachzusehen, wie es dann ausgeht. Wenns dann wieder gleich ausgeht, ist der sieger klar, wenn nicht, kann man ja anhand der punkte entscheiden, und wenn die dann auch noch gleich sind... nunja ^^ dann vllt ein unentschieden oder so :)

Voraussichtlich wird jeder nur einmal gegen jeden anderen spielen. Wer die meisten Spiele gewinnt, hat gewonnen. Außer das ist meine KI, dann eben der mit den zweithöchsten Siegen :). Das Spiel ist zwar nicht perfekt symmetrisch (wer herausfindet worans liegt kriegt nen Keks;)), allerdings ist die Asymmetrie vernachlässigbar. Es fällt eigentlich nur auf, wenn die beiden KIs völlig identisch sind.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

43

26.07.2009, 18:00

Deine KI ist die beste? wie gut spielst du denn gegen die Referenz?

Helmut

5x Contest-Sieger

  • »Helmut« ist der Autor dieses Themas

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

44

26.07.2009, 18:06

Zitat von »"n0_0ne"«

Deine KI ist die beste?

Wann hab ich das gesagt? Lies meinen Beitrag mal nochmal ;)
Meine KI ist noch eher schlecht, habe auch erst gestern damit angefangen...

Es gibt übrigens wieder ein kleines Update. Wenn ein Spieler Schub gibt, sieht man jetzt eine kleine Flamme :) Außerdem gibt es jetzt den neuen Member LastKeys in Player. So weiß man, welche Tasten die Spieler im letzten Frame gedrückt haben. Die Spiellogik bleibt gleich.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

45

26.07.2009, 18:16

Oh, sry, da hab ich mich wirklich verlesen ^^

Und was bedeuten die Zeiten da links, bzw. rechts neben den spielern im titel? ist das diese "denkzeit" der KIs, welche nicht über 5:00 gehen darf? weil da bin ich erst bei 0:55, hab also noch ne menge spielraum, obwohl ich finde, dass ich schon recht viel berechne... habe schon geeicht mit *2.5 (heißt das, bei dir läufts 2,5 mal schneller?)

Helmut

5x Contest-Sieger

  • »Helmut« ist der Autor dieses Themas

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

46

26.07.2009, 18:22

Ja und Ja :)
Ein Faktor von 2,5 bedeutet also, dass die Kis bei dir 12,5 Minuten Zeit haben. Ist natürlich nur ne Schätzung. Wenn du richtig geeicht hast müsste deine CPU etwa 1 GHz haben. (meine hat 2,4GHz)
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

47

26.07.2009, 18:50

Meine hat eigentlich 2,2ghz, (2x, also dualcore). habe den standard laufen lassen im release, sonst nur die IDE im hintergrund offen gehabt... da läuft was schief, oder? ^^

Edit: übrigens fände ich eine slow-motion funktion sinnvoller als die kleine flamme ;) so könnte man fehler in der KI funktionsweise besser erkennen, wenns nicht so schnell läuft, und ich finde es extrem cool, in slowmotion einer guten KI zuzusehen, wie sie sich da durchmanöviert :D

Helmut

5x Contest-Sieger

  • »Helmut« ist der Autor dieses Themas

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

48

26.07.2009, 19:05

Hm du hast 2x2,2ghz? Das ist schlecht, ich hab nämlich 2x2,4ghz...
Dann ist die Eichfunktion wohl doch ungenauer als ich dachte, aber naja, es geht ja auch ohne :)

Slow Motion ist schon drin, hab nur vergessen es zu erwähnen:) Einfach 2mal "-" drücken.

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

49

26.07.2009, 21:53

ich würde gerne mal wissen, wie gut meine KI im gegensatz zu anderen abschneidet, aber gegen die referenz KI ist das ja irgendwie nicht so toll zu testen, die bewegt sich ja nicht, und schießt immer nur 1 mal:

kann man jemand seine KI gegen

C-/C++-Quelltext

1
2
3
4
5
virtual int WhatDoYouWantToDoNow(const GameState& GS, int Me, int You)
{
    int movement = rand() % 16;
    return movement;
}

antreten lassen, und mir sagen, wie er so abschneidet?
Meine schafft gegen die komplette random-KI 6:87

Atlan123

1x Contest-Sieger!

  • Private Nachricht senden

50

26.07.2009, 23:40

Also gegen die random-KI spielt meine relativ schlecht - zu meinem Erstaunen.... wie man sich doch immer überschätzt :)

Atlan 91:9 random-KI
random-KI 7:90 Atlan

Das halte ich allerdings nicht für sonderlich aussagekräftig. Besser fänd ich eine Möglichkeit direkt gegen die Anderen zu Spielen. Soll heißen, jeder der das will kann seine KI in eine DLL packen und irgendwo hochladen. Da sind natürlich die im Vorteil die ihre nicht hochladen ... aber das wäre zumindest mir egal.
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." (Bjarne Stroustrup)

Werbeanzeige