Frage nach Interesse: perfekter Hooking bot?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • @Chinese_πrat: Beim Serverbot muss man keine Packets senden, nur quasi n Dummy erstellen der dann entsprechend bewegt wird. Zusätzlicher Vorteil an einem Serverbot: Hier gibt es keine Verzögerungen/Laggs durch zb. einen hohen Ping. -> Läuft somit besser als ein Clientbot :3
    • Jester schrieb:

      Chinese_πrat schrieb:

      Oder besser gleich umgekehrt, der Mapersteller muss eine bestimmte Sache in die Map einbauen, damit sie analysierbar wird.

      das ist gut! so kann missbrauch vermieden werden, wenn der mapper daran denkt, dieses element wieder auszubauen, bevor die map public wird!

      ich als mapper finde das hervorragend
      im so deep
      d-e-e-p
      d - e - e - p
      d - e - r - p


    • Ich als coder finde es ganz und garnicht hervorragend, es ist verdammt schwer und umständlich zu setzen, eher stehe ich auf die idee mit der datenbank, dass zum beispiel racer mit nem spezial client oder auf spezial server spielen und sozusagen die besten wege berechnet werden bzw einfach abgespeichert werden =)
    • ich fände es aber cooler nen bot zu machen, der seine intelligenz für jede map im laufe der zeit erweitert, er nimmt sich nen punkt, den er erreichen möchte, vielleicht auch den, wo die meisten lang laufen und dort probiert er alle möglichkeiten aus
      (hooken, laufen, grenade, springen oder alles zusammen, das ist zwar viel, aber im laufe der zeit, kann er ja immer wieder was ausprobieren(simulieren) das ist denke ich realisierbar und wäre auch wirklich cool
    • Also, nun will ich mich auch mal zu diesem Thema aussprechen.

      Ich habe mich lange mit dem Thema befasst, da ich mit Sushi die Bot-Mod programmiert habe.

      Das Vorhaben klingt anfangs wirklich schön und gut, ist aber äußerst schwer umzusetzen.
      Einen Client-seitigen Bot wirst du mit einem bloßen Array aus Befehlen nicht umsetzen können, da im Normalfall der Ping und Datenverluste dafür sorgen, dass der Weg sich minimal verändert. Dies habe ich bemerkt, als mein Client-Bot einen zuvor aufgezeichneten Weg nur manchmal nachlaufen konnte, wobei ich -wenn ich mich recht erinnere- kein Hooking beutzt habe.

      Dein Vorhaben, den besten Weg in ECHTZEIT zu berechnen ist jedoch meiner Meinung nach nicht möglich:

      (Extremfall) Eine "Teeworlds-Sekunde" besteht aus 50 Ticks. Dabei besteht in jedem Tick die Möglichkeit einen neuen Input anzuwenden.
      Nehmen wir erstmal das grundlegende Movement: Bewegungsrichtung (-1; 0; 1), Springen (0;1). Das macht zumindest 3 Möglichkeiten für die Bewegung, bzw. 4, wenn man denn springen kann.
      Das macht bei 3 Möglichkeiten gerade einmal 717897987691852588770249 verschiedene Bewegungen. Bei einer Billion Berechnungen pro Sekunde bräuchtest du so nur 22749 Jahre :D

      Nun schauen wir uns zusätzlich noch den Hook an: Wir sagen, dass er sich all 5° hooken kann, was dann 72 Hook-Möglichkeiten pro Tick macht (wenn der Hook denn bereit ist).
      Also 72 (Hook) + 3 (Bewegung) + Sprung macht 76 Möglichkeiten im Worst-Case, wobei Schüsse mit dem Grenade-Launcher noch gar nicht betrachtet wurden.

      Natürlich kann man nun noch weniger Grade und noch weniger Ticks überprüfen. Dabei geht aber die Genauigkeit verloren, weshalb dieser Ansatz vlt. nur mit einem bereits vorgegebenen (zu optimierenden ) Pfad denkbar wäre.

      Es sind jedoch noch viele weitere Ansätze denkbar, die allesamt aber nicht unbedingt den "besten" Weg liefern.

      Leider habe ich andere Überlegungen bis jetzt nicht in die Tat umgesetzt, weshalb ich generelle Race-Bots nicht ausschließe.

      Es sollte dir in jedem Fall aber klar sein, dass eine Veröffentlichung der Mod zu Missbrauch führen wird.
      Daran wird auch eine Nachricht an den Server oder eine Überprüfung der Map wenig ändern, da man diese meistens schnell unterbinden bzw. manuell in die Map einfügen könnte.

      So finde ich dein Vorhaben zwar spannend und auf jeden Fall einen Versuch wert, sofern du die Mod nicht publizierst.

      Ansonsten wünsche ich viel Glück und kann -wie immer- meine Hilfe anbieten ;)

      PS: Der ganze Thread gehört eigentlich in den Coding-Bereich unter "Projekte"
      PPS: Ich habe bereits eine Mod gecodet, die die Möglichkeiten durchprobiert :) (ist aber eher lustig anzuschauen als wirklich sinnvoll, da sie nur stumpf durchprobiert ^^ )

      Mit freundlichen Grüßen,

      Pata
    • Natürlich stimme ich dir zu, dass es nicht möglich ist diesen Weg in Echtzeit zu berechnen, aber wie gesagt, man kann es nebenbei tun, indem man, ohne Bots, einfach simuliert... das ganze könnte man natürlich noch auf Threads verteilen, die das ganze dann aus unterschiedlichen punkten versuchen und natürlich wird der Tick für diese Simulation auf Grund von "zu Langsam" abgeschafft

      Jedoch stelle ich gerade fest, dass der bot bei Kollisionen durcheinander kommen würde, da er ausgehend von einer vorhandenen Geschwindigkeit die Simulation durchführt und daran anknüpft


      Pikotee