BCC17 KI-Contest - Themendiskussion

Übersicht Sonstiges Smalltalk

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

ChaosCoder

BeitragDi, Mai 13, 2008 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Um mal meinen Senf dazu zu geben:
Ich denke es ist wirklich ne gute Idee, hatte die Idee auch öfter schonmal und hätte ich mal einen Contest gewonnen hätte ich diese Idee versucht zu verwirklichen.
Nunmal zu meiner Idee:
Arrow Man kann nur hoch, runter, links, rechts gehen, man muss aber nicht immer ein ganzes Feld gehen, sondern kann auch zwischen zwei Feldern stehen bleiben, allerdings immer nur zwischen zwei horizontalen oder zwischen zwei vertikalen, sodass man nich in der mitte von vier Feldern steht: (grün erlaubt, rot nicht) user posted image
Arrow Der Bot hat einen "Kopf" dieser lässt sich um 360° drehen, allerdings nicht unendlich weit in einem Frame, sodass er, wenn er sich einmal um 360° drehen will, ein paar frames braucht, z.B. höchstens nur 10° pro Frame.
Arrow Die Geschwindigkeit mit der er läuft ist auch anpassbar, ich denke da so an eine float Zahl (0.0 = stehen bleiben, 1.0 = voller Speed) und halt die Richtung 0,1,2,3.
Arrow Jetzt zu den Sensoren: Ich denke dass das eine sehr gute Idee ist, das ganze mit Sensoren zu machen. Dadurch dass der Kopf sich langsam dreht ist das mit dem Cooldown auch Geschichte, da ist der Bot selber Schuld, wenn er einem Gegner den Rücken zukehrt Smile
Diese "Sichtlinie" geht bis zur nächsten Mauer/Gegner.
Arrow Der Sichtsensor wird auch dazu genutzt um die Map zu "erkunden" um die KIs schön unterschiedlich zu machen. Ich denke da so an verschiedene states, wie zum Beispiel "explore", um die Map zu erkunden und später schneller durch pathfinding an das gewünschte Ziel zu kommen, ohne Hindernisse im Weg zu haben oder "seek'n'destroy" wo er einfach schnurstraks alles abläuft und den Gegner sucht und (hoffentlich) tötet.
Arrow Der Berührungssensor kann so übernommen werden.
Arrow Der Audiosensor, hmmm, keine Ahnung ob das nicht schon wieder zu komplex wird.

Dadurch ist die Aufgabe der Bots nicht nur Gemetzel, sondern auch mal taktisches handeln, was gerade bei KI ja wichtig ist und zu komplex finde ich das nicht. Was sagt ihr dazu Question
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Tritium

BeitragDi, Mai 13, 2008 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hamZta hat Folgendes geschrieben:
Damit nicht jede KI ständig 360° um sich herum scannt, hat zB der Radar eine gewisse "Cooldown"-Zeit und kann nur alle 2 Sekunden abgefragt werden.


Das halte ich nicht für sinnvoll, schließlich gibt es im echten Leben ja auch keine Cooldown-Zeit, bis wir wieder kurz sehen können. Wenn man sagt, dass sich eine Figur nur eine bestimmte Anzahl Grad pro Zeit/Schleife drehen kann, erübrigt sich das Problem mit dem Rundum-Scan.

Die Idee mit den Messungenauigkeiten macht eigentlich nur bei Audiosensoren Sinn: Wenn Du im echten Leben etwas berührst oder siehst, weißt Du ja auch genau, wo das war (von Täuschungen mal abgesehen, aber das wäre für so ein einfaches Spiel zu übertrieben). Nur das Orten von Geräuschen ist ungenauer, da wären Messungenaugkeiten durchaus sinnvoll.

Und noch eine Anregung: Team Deathmatch fände ich sehr interessant, da könnte man auch noch Gruppendynamik entwickeln! Very Happy

Noobody

BeitragDi, Mai 13, 2008 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich dachte da eher an eine ganz konventionelle Lösung, dass jeder alle Daten zugeschickt bekommt.

Nur eben in der Trafficsparenden Variante - die Spieler bekommen nur Bewegungen, Spielerbeitritte und Schusskommandos zugesendet - die Berechnung der Schussbewegungen, Spielerpositionen etc. muss dann halt jeder Client selbst übernehmen.
Die Idee von hamZta finde ich beinahe zu einschränkend; es wäre zwar sicher eine Herausforderung, aber ich wäre eher für eine Alle-sehen-alle Variante (für einen begrenzten Sichtradius wäre ich auch noch zu haben).
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

FBI-blitz

BeitragDi, Mai 13, 2008 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
nun, eine KI soll ja eine natürliche intelligenz simulieren... aber wir menschen sehen in einem solchen shooter ja auch alles, warum benachteiligen wir dann die KI? Es ist doch völlig normal, dass man bei einem top-down spiel alles sieht, das sollte dann aber auch für die KI gelten... (meine aussage gilt natürlich nur, wenn wir von einem spiel ausgehen, wie big bug es vorgeschlagen hat)
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

ChaosCoder

BeitragDi, Mai 13, 2008 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
topdownspiel bedeutet ja nicht gleich dass man hinter mauern gucken kann, viele zeigen nur das an, was man auch wirklich sehen könnte, zum beispiel cs2d (da ist es glaub ich aber auch abschaltbar)
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Travis

BeitragDi, Mai 13, 2008 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann man seine KI denn während der Entwicklungphase testen? Das Programm zur ausführung der KIs (das Spiel) müsste dann ja schon zu beginn des Contests bereitstehen und auch einige Bot's beinhalten. Höhrt sich nach 'ner Menge Arbeit an.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

ChaosCoder

BeitragDi, Mai 13, 2008 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja da müsste sich jemand dransetzen, das ganze zum BCC #17 zu machen halte ich eh zu früh
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Silver_Knee

BeitragDi, Mai 13, 2008 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
entweder mit bots oder mit nem Player-Client, mit dem man dann gegn die Player KI arbeitet
 

BIG BUG

BeitragDi, Mai 13, 2008 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Ganze sollte man schon so aufziehen, dass der KI-relevante Teil im Rahmenprogramm und eine dumme Demo-KI vor Contestbeginn fertig ist.
Eine schöne Usability und Aufnahmefunktion, etc kann ja dann während der Contest läuft implementiert werden. Am Gameplay darf sich dann natürlich nichts mehr ändern.

---

Wer Vorschläge für die Abwicklung hat, bitte sehr konkret beschreiben, ähnlich wie ChaosCoder das schön gemacht hat.

Man könnte dann vielleicht eine Abstimmung durchführen wie hier vorgegangen werden soll.
Wichtig: Ich will aber definitiv nicht mehr als eine Abstimmung im Vorfeld durchführen, sonst werden wir nie fertig.(Ist wahrscheinlich auch im Interesse der Moderatoren Wink)
Notfalls würde ich dann unter Berücksichtigung der verschiedenen Kommentare selbst eine Entscheidung treffen.

---

Ein Nachteil der netzwerkbasierten Lösung ist halt, dass jede KI eine eigene Instanz für die Abwicklung benötigt. Das heisst man muss entweder immer eine Executable compilieren, die vom Rahmenprogramm aufgerufen wird(blöd fürs testen, gerade noch ok für die Abwicklung) oder die KIs registrieren sich selbst im Rahmenprogramm(ein bisschen besser fürs testen, blöd für die Abwicklung).



Auch wenn die BriskVM-Lösung bisher noch nicht soviel Anklang gefunden hat habe ich trotzdem heute mal geprüft ob das so funktionieren würde wie ich mir das vorstelle und bin mit dem Ergebnis sehr zufrieden, denn ich denke man kann sagen "Einfacher gehts nicht".

Daher stelle ich hier mal einen Test zur Verfügung, so dass sich jeder selbst eine Meinung bilden und rumspielen kann:
http://www.mein-murks.de/software/AITest.zip(1 MB)

Im Unterordner Script sind die BSL-Scripte zu finden. Diese können einfach mit z.B. dem Blitz3D-Editor geöffnet und bearbeitet werden.

Das einzige was laut Brisk-Autor gegenüber BlitzBasic nicht geht sind Label-basierte Sachen, also kein Goto/Gosub und kein Read/Restore/Data
Ansonsten muss man halt noch berücksichtigen, dass alle Variablen entweder mit Global oder Local definiert sein müssen.


Damit es funktioniert müssen einfach die beiden Funktionen AIInit und AIRun wie bei den anderen Scripten bereitgestellt werden.

AIInit wird einmalig zu beginn aufgerufen
AIRun wird 50 mal pro Sekunde aufgerufen(mit F1 kann die FPS-Bremse aber auch deaktiviert werden)

Das Ganze ist so aufgebaut, das automatisch alle Scripte in diesem Unterordner geladen und ausgeführt werden.
Scripte lassen sich auch kompilieren(für den Test jetzt nicht implementiert), so dass man auch abschauen verhindern kann wenn man sein Script vorführt.
Um zu verhindern, dass jemand sich so ein komplettes Spiel baut, ohne BlitzBasic gekauft zu haben, habe ich btw. die Laufzeit des Tests auf 45000 Durchläufe begrenzt.


Ich finde das funktioniert so schön, dass man es eigentlich nicht wegen der Aussage "Ist kein BlitzBasic" kippen sollte. Außerdem könnte BBC ja auch BriskCodeContest heissen Smile
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
  • Zuletzt bearbeitet von BIG BUG am Mi, Mai 14, 2008 0:08, insgesamt 2-mal bearbeitet

Mr.Hyde

Newsposter

BeitragMi, Mai 14, 2008 0:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Meiner Meinung nach kannst du gerne einen BriskCodeContest veranstalten aber nicht im Rahmen des BlitzCodeCompos. Ich möchte trotzdem drauf rumreiten, weil ich es nicht ok finde, dass hier ein Contest entfremdet wird. Wie gesagt es steht dir frei eigene Veranstaltungen durchzuführen, aber diese Reihe sollte nicht durch sowas unterbrochen werden, sonst können wir das Blitz bald ganz vergessen und es in eine allgemeine CodeCompe umwandeln... womit der Sinn verloren wäre. Immerhin ist dies das BlitzBasic Portal mit dem BlitzBasic Forum und nicht irgendeine Entwickler Community. Somit sollte zumindest der Contest, der am meisten auf die Sprachen B2D/B3D, B+ und BMax bezogen ist auch bei diesen bleiben.
Ich würde sogar so weit gehen, dass ich im anderen Falle zu einem Boykott aufrufen würde.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
  • Zuletzt bearbeitet von Mr.Hyde am Mi, Mai 14, 2008 0:12, insgesamt einmal bearbeitet

mahe

BeitragMi, Mai 14, 2008 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir das angesehen und im Prinzip sieht BriskVM-Code genau gleich aus wie BB-Code.
Die Syntax und Semantik ist komplett die gleiche.

So gesehen würde es keinen Unterschied machen ob man bei diesem Wettbewerb BriskVM-Skript-Code oder richtigen BB-Code verwendet. Die Skript-Variante ist nur weitaus leichter durchzuführen als irgendwelche Netzwerk-Lösungen oÄ.
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,
 

BIG BUG

BeitragMi, Mai 14, 2008 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja praktisch gesehen ist das Ganze ja BlitzBasic. Und das Rahmenprogramm ist auch in BlitzBasic entwickelt. Ich finde jetzt nicht, dass man deshalb BlitzBasic vergessen kann, sondern würde sogar das Gegenteil behaupten. Für mich ist BlitzBasic durch diese Erweiterung wesentlich mächtiger geworden und das den anderen vorzustellen kann ja wohl so schlecht nicht sein.

Ich würde hierzu gerne noch ein paar andere Meinungen hören, wenn das wirklich so schlecht ankommt würde ich wie gesagt auf die Netzwerklösung umschwenken.
Bitte schaut euch obigen Test aber zuerst an, bevor hier auf irgendwelchen Prinzipien herumgeritten wird.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Mr.Hyde

Newsposter

BeitragMi, Mai 14, 2008 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Versteh mich bitte nicht falsch, ich bin nicht gegen solche Erweiterungen, aber es passt einfach nicht in den Rahmen dieser Contestreihe. (Vergleiche BCC #1- 16) Dieser Wettbewerb ist eigentlich so ausgerichtet, dass auch Anfänger angesprochen werden, gleichzeitig aber die Fortgeschrittenen zeigen können, was "Technik" bedeutet. Deine Idee ist sicherlich sehr interessant und sollte nicht vergraben werden. Sie ist nur für diese Contestreihe ungeeignet. Ich weiß nicht, was es da groß zu diskutieren gibt.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen

mahe

BeitragMi, Mai 14, 2008 0:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest Dir wirklich noch mal den Test ansehen.
Bis auf die Dateiendung der Skripte unterscheidet den Code nichts von richtigem BB-Code.
Und ob man seine KI in ein vorgegebenes Rahmenprogramm setzt oder in eine externe Datei ist völlig irrelevant.
Auch so kann jeder sein Können zeigen. Sowohl Anfänger als auch Profis.
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

ChaosCoder

BeitragMi, Mai 14, 2008 0:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss Hyde ganz klar zustimmen, ich finde auch dieses Brisk passt überhaupt nicht hier in die BlitzCodeCompo-Reihe, egal wie ähnlich die Syntax ist. Entweder die Netzwerklösung (übrigens würde ich da eienr ganz kleinen "Lobby" zustimmen, also executables aufrufen, die connecten auf den localhost und dann wird das Spiel vom Server gestartet) oder garnicht. Ganz klipp und klar.

~Edit~:
@mahe, du kannst ja deinen eigenen Contest veranstalten, wo du mit Brisk arbeitest, ich finde da muss man garnicht diskutieren, es ist nunmal ein BlitzCodeCompo (wie Hyde shcon gesagt hat). Dadran gibt es nichts zu rütteln.
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Rocys

BeitragMi, Mai 14, 2008 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Idee finde ich super. Wuerde ich sofort mitmachen. Wenn es allerdings kein Blitzcontest wird, wuerde ich eher den Boykott unterstuetzen. Die Netzwerkloesung finde ich am besten!

Hagbard

BeitragMi, Mai 14, 2008 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mich mit beiden Lösungen anfreunden. Wäre schön, wenn wir bald zu einem Rsultat kommen.

Silver_Knee

BeitragMi, Mai 14, 2008 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wo liegt das Problem Jetzt:

BriskVM ist also ein Live-Include für BB, oder?

Dann können wa auch gleich Include Benutzen.

Außerdem wäre bei beiden Methoden BMax ausgeschlossen, oder?

Also Widerspricht beides den Klassischen Regelvorstellungen des BCC.

Diese waren Bis jetzt immer:
Generiere Code zu einem Bestimmten Thema.
Nutze dazu B3D,B+ (BB ist da ja enthalten.) oder BMax.
Zu Beachten gibt es außerdem eine Obergrenze an Code und auslagernden Dateien.

Diese Vorgaben derart zu Ändern ist nicht Sinn der Sache. Daher, finde ich, sollten wir, da man sonst eine KI mit allen 3 Sprachen nicht zu Stande bringt, ein gemeinsames Protokoll verabschieden und darüber die Gegner Auf einem Server Steuern. Als Server kann ja an der Abstimmung jemand mit Offenem Router Dienen und man kann so die KIs gegeneinander antreten lassen.

Außerdem würde diese Variante einerseits die KI und andererseits den Umgang mit Netzwerk-Protokollen schulen, was ja ursprünglich der Sinn war: Das man was dabei lernt und nicht der folgende "Schwanzvergleich".
  • Zuletzt bearbeitet von Silver_Knee am Do, Mai 15, 2008 14:10, insgesamt einmal bearbeitet

coolo

Betreff: BRISKVM FOREVER

BeitragMi, Mai 14, 2008 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich wäre für dieses Briskvm. Der Blitzcodecompo soll ja für Anfänger und Fortgeschrittene sein? Brisk VM ist doch wirklich nicht schwerer als Blitz. Und es erleichtert den Bau soeiner KI enorm, was ja den Anfängern wieder zugute kommt. Ausserdem, sollte es auch mal was neues geben.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Geeecko

BeitragDo, Mai 15, 2008 9:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube ihr versteht nicht genau, wieso wir hier kein BriskVm wollen...
Ihr könnt ja ein Wettbewerb im BriskForum machen, fals es eins gibt... Oder halt auch hier.
Oder ihr schreibt euch selber ein BriskVM obwohl ihr da wahrscheinlich die Codegrenze überschreiten würdet ôô
Ich bin ganz klar für die Netzwerk-Lösung. Ich stell mir das lustig vor, im IRC kann man sich dann schön über die Kämpfe unterhalten. Den anderen Tips geben... So könnte man wie gesagt jeden Samstag ein Tunier machen. Was haltet ihr davon?

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group