Programmierung eines Bots

Ference

Aktives Mitglied
Hallo Zusammen :D

Wie man in der Überschrift schon lesen kann möchte ich einen kleinen Bot programmieren.

Er soll für ein recht simples Spiel sein. Man muss 3 Kugeln einer Farbe in eine Reihe schießen,
dann gehen die Kaputt und die Schlange aus Kugeln zieht sich zusammen :)

Durch den geplanten Bot möchte ich den Highscore von jemandem knacken und mal schaun,
ob ich das überhaupt schaffe.
Natürlich hätte ich da ein Paar fragen ???:L

Das Programm muss ja Informationen aus dem Spiel bekommen ... wo welche Farbe ist, welche Farbe gerade in der "Kanone" liegt usw. Wie kann ich das Programm diese abfragen lassen?

Das nächste Problem ist wie ich am besten Das Programm die Maus bewegen lasse um ein Ziel anzuvisieren.

Bin über jede Antwort dankbar :toll:
Gruß Ference
 
T

Trolllllll

Gast
Du willst betrügen, und da du es nicht alleine schaffst, fragst du hier nach hilfe?
Ich bin kein Freund von sollchen schummelereien und werde deswegen auch nicht groß was dazu sagen, außer vielleicht gibt es ja eine API zu dem spiel, die sowas erlaubt
 

Kilinat

Aktives Mitglied
Der Link, der oben gepostet wurde, ist sicherlich schon ein Anhaltspunkt.
Allgemein ist es nicht einfach einen Bot zu schreiben, wenn man sich da als Laie hinsetzt.
Bei dem Spiel sollte es aber nicht so schwer sein, wenn du dich ein bisl damit beschäftigst.
 

Ference

Aktives Mitglied
Danke für die Antworten ;)

Durch den Robot kann ich die Maus bewegen, das ist gut :D
Aber wie bekomme ich die Daten aus dem Spiel, wo Kugeln mit mit der selben Farbe sind?
 
M

Marcinek

Gast
Es ist schon witzig, dass man versucht bei einem Spiel zu betrügen. Noch witziger ist es, dass man es nicht mal alleine schafft.

Bitte erkundige dich über die Funktionen des Robots. U.a. kann dieser auch Screenshots machen.

Diese kann man dann pixel für Pixel ansehen, oder bessere heuristiken nutzen, um Kreise zu identifizieren und dann ist es nur noch eine Sache des Klicks ;D

:bloed:
 

Ference

Aktives Mitglied
Was der Robot so kann habe ich mir schon durchgelesen :p

Hier mal ein Video zu diesem Spiel, das macht es evtl. leichter
Zuma PC Game - YouTube

Bis der Screenshot gemacht ist und analysiert ist sind die Kugeln ja schon wieder ganz wo anders ....
 

Kilinat

Aktives Mitglied
Willst du das wirklich unbedingt mit Java machen ?
Wie darekkay schon sagte, ist AutoIt genau für solche Fälle entwickelt worden und noch dazu ziemlich leicht zu lernen.

MfG Kilinat
 
T

tröööt

Gast
ach ... das geht schon mit [japi]Robot[/japi] ... und wenn man die auflösung gering hält und man pro level bereits ne "map" hat ist das analysieren schnell durch und sollte noch im rahmen liegen das die aktuelle position nicht zuweit verschoben ist ...

sicher wärs mit aufwand verbunden ... aber wir sind hier nicht dafür da dir einen bot zu schreiben nur weil du jemanden in der highscore überholen willst ...
wenn du zu konkreten problemen konkrete fragen hast kann man sicher helfen ... aber grundlegend kann man sagen : alles was du dafür brauchst sollte sich hier im forum finden lassen ... und zur not gibts google ...

AutoIt wäre hier allerdings deutlich besser da es für genau solche aufgaben entwickelt wurde ... und das bisschen basic-like sollte man auch schnell lernen ... habs mir allerdings noch nie selbst angesehen ...

wenns also mit java sein muss solltest du dir wirklich angucken wie man mit [japi]Robot[/japi] performant arbeitet ... denn das ist hier echt kein problem ... wenn man wie gesagt vorher sich entsprechende mühe macht und die einzelnen "level" so aufarbeitet das man ne map bekommt bei der man weis WO überhaupt die kugeln lang können und in welcher richtung ...
dann geht man das ganze nur vom ziel zum anfang durch und vergleicht ...
natürlich gehört auch bisschen logik dazu das auch die beanchbarten kugeln betrachtet werden und vielleicht auch kombos und so ...

aber ob der aufwand den nutzen wert ist ? ... ich würde hier nein sagen ... wenn man in sowas halt schlecht ist sollte man es akzeptieren anstatt sich bots basteln zu wollen anstatt richtig zu üben
 

Helgon

Bekanntes Mitglied
Also ka worans bei Java oder Robot liegt das es so "lange" dauert die Screens zu machen.. ich hab vor einiger Zeit mal etwas ähnliches in C++ gemacht und da liefs mit über 100 screenshots - per second. war auch ne art aimbot - so sparrt man sich nen dll inject und praktisch 100% undetectbar oO

Wie auch immer.. du sprichst die farben an.

zuma3.jpg


so ist die Farbe des Aktuellen balls wohl nicht zu schwer zu finden (und natürlich die position).. ich würd jedoch einfach versuchen das gesamte bild linear zu interpolieren so dass du am ende praktisch nur noch 20 farben oder so im bild hast. dann ist der farbabgleich ja sowas von witzlos einfach
 

Ference

Aktives Mitglied
so ist die Farbe des Aktuellen balls wohl nicht zu schwer zu finden (und natürlich die position).. ich würd jedoch einfach versuchen das gesamte bild linear zu interpolieren so dass du am ende praktisch nur noch 20 farben oder so im bild hast. dann ist der farbabgleich ja sowas von witzlos einfach

was ist interpolieren? ich bin noch ein ziemlicher Anfänger ;) hab zwar schon Spiele wie TicTacToe programmiert oder Schach aber bei solchen Sachen kenn ich mich nicht aus, ich weiß garnicht was alles Möglich ist in Java ....

und die Farbspektren hab ich schon eingekreist aber immer den passenden Pixel zu treffen ist schwer
ich habe versucht den Frosch immer nach oben schauen zu lassen un den passenden Pixel zu treffen ...
 
T

tröööt

Gast
tja ... wenn man posts nicht liest oder nicht versteht ...

ich hatte bereits einen tipp gegeben : "map" erstellen ... und darin den pfad speichern den die kugeln laufen und wo die "kanone" sitzt ... dadurch spart man erheblich rechenzeit weil man so nur noch einen bruchteil des gesamten bildes analysieren muss ...

die idee die "kanone" in einen festen winkel zu stellen um das analysieren hier einfach zu machen ist schon mal gar nicht so verkehrt ... aber deine umsetzung genau ein pixel analysieren zu wollen ist schon wieder nicht ganz so toll ...
lieber ein rectangle um die position machen und die farb-werte zusammenrechnen und dann mit konstanten abgleichen ... das kostet unwesentlich mehr und ist dafür präzieser ...

und die bewegung der kugeln kannst du auch interpolieren ... dafür brauchts dann nur n bissl logik wie sich die kugeln überhaupt bewegen ... sollte aber auch machbar sein ...


wenns performant geschrieben ist und dein system relativ schnell ist solltest du auf sehr hohe fps kommen und damit schnell genug reagieren können bevor die angepeilte position auf die du schießen willst bereits ungültig ist ... aber da kann man ja vor dem "schuss" noch mal schnell ein bisschen interpolieren und prüfen ... zur not halt immer der map entsprechend "vor" die ziel-kugel feuern ... dann kann man kleinere spikes durchaus umgehen ...
 

Ference

Aktives Mitglied
die maps sind als bild in den Ordnern vom Spiel zu finden ;)
ich muss nur schauen wie das mit einem größeren Feld funktioniert ^^
 
T

tröööt

Gast
sorry ... aber du hast scheinbar nicht verstanden was ich mit der "map" meinte ...

ich meinte damit eine liste von möglichen punkten die die kugeln überhaupt nehmen können ... denn wenn man sich nur diese betrachtet muss man nicht das ganze image durchkramen ...
aber gut ... scheinbar solltest du doch lieber üben in diesem "spiel" besser zu werden anstatt hier verkrampft irgendwas basteln zu wollen .. denn dafür scheint dein wissen nicht auszureichen ...

also kleinen tipp noch : Hough-Transformation ...
 

Ference

Aktives Mitglied
mit der Map kann ich die Punkte herausfinden, hab ich so auch gemacht .. ich dachte du meinst ich soll ein screenshot machen um dann die rauszufinden :D
 
Zuletzt bearbeitet:
T

tröööt

Gast
*facepalm*
naja ... zur erzeugung der "maps" wird das sicher einmal für alle level nötig sein ... aber an sich dachte ich da schon eher an etwas effizienteres
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
M Programmierung eines "Fantasy Rollenspiels" Spiele- und Multimedia-Programmierung 5
P Objektorientierte Programmierung umwandeln! Spiele- und Multimedia-Programmierung 22
filtastisch Discord JDA Programmierung Spiele- und Multimedia-Programmierung 2
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Splayfer Discord JDA Programmierung Spiele- und Multimedia-Programmierung 3
F OpenGL (LWJGL) Shader Programmierung GLSL Spiele- und Multimedia-Programmierung 2
T Android-App-Programmierung? Spiele- und Multimedia-Programmierung 3
D Programmierung einer Tor-Anzeige Spiele- und Multimedia-Programmierung 8
J Wie kann ich die Programmierung von Konfiguratoren erlernen? Spiele- und Multimedia-Programmierung 2
K Minecraft-Forge Mod Programmierung Spiele- und Multimedia-Programmierung 1
E Hilfe bei Labyrinth Programmierung. Spiele- und Multimedia-Programmierung 9
O Fehler bei Programmierung lässt Figur nicht bewegen Spiele- und Multimedia-Programmierung 5
M Minecraft Bukkit Programmierung Spiele- und Multimedia-Programmierung 3
E Hilfe bei Highscore programmierung Spiele- und Multimedia-Programmierung 3
R Hilfe bei Snake-Programmierung Spiele- und Multimedia-Programmierung 6
M Hilfe bei Spiel Programmierung Spiele- und Multimedia-Programmierung 4
c_sidi90 Einstieg in die 3D Programmierung Spiele- und Multimedia-Programmierung 6
J Snake Programmierung Spiele- und Multimedia-Programmierung 18
A 3D Programmierung Spiele- und Multimedia-Programmierung 8
E Hilfe bei einer GUI Programmierung mit Graph Spiele- und Multimedia-Programmierung 30
G API für 3d-Programmierung? OpenGL? Spiele- und Multimedia-Programmierung 12
L Probleme Bei Pong Programmierung Spiele- und Multimedia-Programmierung 2
D 2D Programmierung Spiele- und Multimedia-Programmierung 4
C Wii Java Programmierung Spiele- und Multimedia-Programmierung 7
X JPCT 3d-Spiele Programmierung Tutorial Spiele- und Multimedia-Programmierung 40
S Optimale Grafikkarte für Java 3D programmierung? Spiele- und Multimedia-Programmierung 13
J 3d Programmierung, Fragen: Spiele- und Multimedia-Programmierung 14
A Hilfe bei Programmierung von Abalone Spiele- und Multimedia-Programmierung 6
M Puzzle-Programmierung ->Hilfestellung gesucht!!! Spiele- und Multimedia-Programmierung 5
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
K Click innerhalb eines 45° gekippten Rechtecks Spiele- und Multimedia-Programmierung 9
J LibGdx_3D: Klamotten eines Charakters modifizieren Spiele- und Multimedia-Programmierung 2
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
E Laufanimation eines Sprites Spiele- und Multimedia-Programmierung 6
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
T Hintergrundmusik eines Spiels mit Hilfe von JLayer Spiele- und Multimedia-Programmierung 12
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
M bewegen eines Objektes Spiele- und Multimedia-Programmierung 2
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
X "Rebuffen" - Messen der Zeit eines Timers Spiele- und Multimedia-Programmierung 3
S Design eines Schachspiels Spiele- und Multimedia-Programmierung 3
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
A Wann ist ein Punkt inerhalb eines Polygons? Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
M Pattern zur Auswahl eines Objektes anhand vieler Kriterien Spiele- und Multimedia-Programmierung 2
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
R Triangulation eines komplexen Polygons Spiele- und Multimedia-Programmierung 4
L Lwjgl Darstellung eines Kreises im Raum Spiele- und Multimedia-Programmierung 3
M Pixel eines BufferedImage bearbeiten (Performance) Spiele- und Multimedia-Programmierung 23
G Rotieren eines Objekts (2D) Spiele- und Multimedia-Programmierung 8
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
S Umfang eines Polygons erzeugen Spiele- und Multimedia-Programmierung 1
D Highscoreliste eines Applets funktioniert online nicht Spiele- und Multimedia-Programmierung 4
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
D Koordinaten eines 2D Sprites Spiele- und Multimedia-Programmierung 2
B Teile eines Bildes laden - BitBlk und drawImage Spiele- und Multimedia-Programmierung 3
S Interpolation eines Bildes Spiele- und Multimedia-Programmierung 6
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
N Bildposition innerhalb eines anderen Bildes ermitteln Spiele- und Multimedia-Programmierung 2
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
G Bewegung eines Grafikobjektes Spiele- und Multimedia-Programmierung 7
A Programmieren eines Bruchrechners Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
J Rotieren eines 2D Images endet in Java heap space Error Spiele- und Multimedia-Programmierung 15
W Affine Transformation, Rotieren eines Objekts Spiele- und Multimedia-Programmierung 2
S fließende/bewegende Striche eines Auswahlrechtecks Spiele- und Multimedia-Programmierung 9
A Bounds eines gedrehten Objekts berechnen Spiele- und Multimedia-Programmierung 30
T Erstellen eines ausdruckbaren Formulars Spiele- und Multimedia-Programmierung 5
T Umsetzung eines 2D Jump and Runs Spiele- und Multimedia-Programmierung 7
T Brightness eines Bildes [DRINGEND] Spiele- und Multimedia-Programmierung 2
S Java3D - mehrere Instanzen eines Geometrieobjektes erzeugen Spiele- und Multimedia-Programmierung 3
ARadauer Grauwerte eines jpg ermitteln Spiele- und Multimedia-Programmierung 4
A Anzeigen eines Grapfen Spiele- und Multimedia-Programmierung 13
R Die korrekte Breite/Höhe eines Bildes wird nicht erkannt. Spiele- und Multimedia-Programmierung 2
S Problem bzgl. Umsetzung eines Rollenspiel Spiele- und Multimedia-Programmierung 6
M Ausschneiden eines Bereichs / Avatar Spiele- und Multimedia-Programmierung 2
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
DEvent [2D] Farbe bestimmten Pixels eines Bildes ändern Spiele- und Multimedia-Programmierung 3
V Wie berechnet man das Bild eines Schwarzen Loches in Java? Spiele- und Multimedia-Programmierung 10
G Breite eines Strings Spiele- und Multimedia-Programmierung 2
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
F Image eines bestimmten Bereichs eines JPanels erstellen Spiele- und Multimedia-Programmierung 4
N Grafik als Hintergrund eines Rechtecks verwenden? Spiele- und Multimedia-Programmierung 4
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
F Brauche Hilfe bei Bewegung eines Rechtecks [Applet] Spiele- und Multimedia-Programmierung 5
T Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze Spiele- und Multimedia-Programmierung 3
F Position eines Objektes auslesen. Spiele- und Multimedia-Programmierung 7
W Rotation eines Objektes Spiele- und Multimedia-Programmierung 2
M Zerschneiden eines Bildes mit Wellenlinien? Spiele- und Multimedia-Programmierung 2
S Simulation in der Art eines Schachbrett Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben