Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Alg] Een bot maken die voor jou een multiplayergame speelt

Pagina: 1
Acties:
  • 285 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
@Gewoon een nieuws gierige vraag! zelf heb ik er niet veel/bijna geen kennis over.
"Kan niet veel vinden over het onderwerp.(of gebruik de verkeerde zoek termen"

Tegenwoordig heb je legio 's van aimbots. Maar wat ik nog nooit heb gezien is een bot die de speler totaal onnodig maakt, en dan bedoel ik nie, start een server en add bots. Maar dat de Bot zelf beweegt van punt a naar b. en zo nodig de objecten vermijdt die in de weg staan.
Dus willens waar een bot die voor jouw speelt wat hij op het scherm te zien krijgt. Dit zou toch mogelijk moeten zijn.

Volgens mij zou dat toch een hele grote opgave zijn om zo iets te programmeren ipv een aimbot.
Bijvoorbeeld bij het spel BF2. Kijk je kan je poppetjes laten lopen met script maar ik twijfel aan de interactie met de objecten die in de weg zitten.

Messchien is me vraag een beetje onduidelijk maar kort samengevat: Het programmeren van een interactieve bot voor een MP game (als Bf2), is dat mogelijk ? Zo ja. Welke Tools zou je dan gebruiken of taal om zo iets voor elkaar te krijgen. Lijkt me iedergeval wel een geweldige uitdaging om zo iets voor elkaar te krijgen.. :> "wel ver van mij bed show"

  • Standeman
  • Registratie: November 2000
  • Laatst online: 07:39

Standeman

Prutser 1e klasse

Wat is er dan anders dan alle tegenstanders die je tegenkomt? De AI's in games worden steeds slimmer. Ik bedoel, voor mij wordt het al lastig tegen AI's in UT2k. Hoeveel slimmer (c.q. sneller) wil je ze hebben?

The ships hung in the sky in much the same way that bricks don’t.


  • Technicality
  • Registratie: Juni 2004
  • Laatst online: 19-10 13:02

Technicality

Vliegt rechtsom...

Meestal zijn die bots geprogrammeerd aan de hand van waypoints in een map-hoewel ik niet weet hoe de meest moderne AI's werken. Ik denk dat het wel lastiger is om een bot in een vrij gebied te laten vechten en om obstakels heen te lopen dan zeggen 'dat is hetzelfde als andere bots'.

Verwijderd

Topicstarter
Standeman schreef op dinsdag 13 november 2007 @ 23:16:
Wat is er dan anders dan alle tegenstanders die je tegenkomt? De AI's in games worden steeds slimmer. Ik bedoel, voor mij wordt het al lastig tegen AI's in UT2k. Hoeveel slimmer (c.q. sneller) wil je ze hebben?
niet precies wat ik bedoel, ik bedoel meer in de zin als.
Je start een game als UT of BF2, zoekt naar een mp game en laadt deze. Start bot programma en deze neemt het helemaal over. dit is toch een iets andere concept dan de bots die al geprogammeerd zijn in de game?

  • SH4D3H
  • Registratie: Juni 2004
  • Laatst online: 04-10 13:25
Niet echt, hij moet hetzelfde doen maar dan ook nog op jouw scherm tonen?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat the doet dit in WEB :?
Waar hoort mijn topic?

WEB >> PRG
Maar ik heb het vermoeden dat er weinig "PRG" input van TS komt :X

Zal ik ook maar eens een duit in het zakje doen dan;
Je moet niet denken dat de bot 'het beeld' begrijpt (of zou begrijpen). De computer laadt de map (+ alle obstakels etc) in; dus die weet met een blinddoek om nog zorgeloos door de map te lopen. De computer weet waar alles staat, waar de 'valkuilen' zijn, waar de andere bots rondlopen etc. In essentie is het niet eens anders dan PacMan en z'n spookjes die 'm achterna rennen; dat is prima door een PC op te lossen. "Wis" je de muren van het beeld (maar niet uit de map), dan zal PacMan nog steeds doodleuk die paden blijven volgen omdat die er volgens de map wel degelijk zijn.

[ Voor 61% gewijzigd door RobIII op 14-11-2007 00:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

offtopic:
Als je een topic verplaatst moet je het wel ook écht verplaatsen he, Robbie? :+

Dat heb ik gedaan! :(

Verder denk ik dat dit topic niet zoveel discussiewaarde heeft. Ja, het is mogelijk een soort screenreader te maken die op basis van elk frame ongeveer kan bepalen wat wat is en er zo doorheen kan manoeuvreren. Ja, je kan daar een aimbot bij maken die schiet op alles wat beweegt. Het is echter vrij lastig vriend van vijand te onderscheiden, en bovendien is de kans groot dat je iets verkeerd interpreteert. De AI van je bot zal dus altijd vrij dom zijn, helemaal in vergelijking met een echte speler of de ingame AI die wél weet wat alles betekent.

Een bot zoals die wat je nu beschrijft is wel mogelijk, maar het is denk ik veel te lastig om hem zo slim te maken dat er daadwerkelijk mee/tegen te spelen valt.

[ Voor 1% gewijzigd door RobIII op 14-11-2007 01:05 . Reden: Moeial! :+ ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Allemaal wel leuk en aardig, maar die maps heb je ook niet zomaar ingeladen. Je moet eerst weten hoe ze in elkaar steken en dan kan je ze pas gebruiken. Dan hebben we het nog niet eens over AI en hoe de input geregeld wordt. Persoonlijk denk ik dat de AI het lastigste is om te schrijven, bedenk maar iets wat slim genoeg is om menselijke spelers te overtreffen...

Ik kan ook zo ff niet bedenken hoe je de bot gaat inladen, of dat je iets van dll injection kan gebruiken of dat je echt een dll van het spel zelf moet kraken of dat er speciale functies voor geschreven zijn om dll's in te voegen (ala plugin achtige dingen).

  • YopY
  • Registratie: September 2003
  • Laatst online: 06-11 13:47
Volgens mij is het eenvoudiger om een hack te schrijven die ervoor zorgt dat de al ingebouwde AI van het spel je karakter overneemt en bestuurt, eventueel op de hoogste moeilijkheidsgraad. Het is misschien mogelijk om zelf iets te schrijven wat de map enz inleest aan de hand van het geheugen, maar dan moet je er heel veel tijd in investeren.

Verwijderd

De meeste FPS games hebben een ingebouwde scriptengine waarmee je veel kunt en ook vaak een uitgebreide SDK om mods mee te schrijven. Het moet hiermee eenvoudig zijn de AI aan te sturen als zijnde jouw eigen poppetje.

Wat daar het nut van is zou ik niet weten, wat is er nu boeiend aan het kijken naar het beeld van een bot?

  • Swaptor
  • Registratie: Mei 2003
  • Laatst online: 15-10 19:25

Swaptor

Java Apprentice

Bij perfect play: highscores!

Ontdek mij!
Proud NGS member
Stats-mod & forum-dude


Verwijderd

En wat heb je daaraan? Een stijve e-piemel?

Als je er geld mee wilt verdienen zul je toch naar events toe moeten en dan valt het nogal op dat je niet helemaal speelt zoals de bedoeling is ;)

Daarnaast zullen vaste spelers het gedrag vrij snel herkennen en je laten bannen.

[ Voor 18% gewijzigd door Verwijderd op 14-11-2007 09:45 ]


  • Mar2zz
  • Registratie: September 2007
  • Laatst online: 20-08 07:53
Als je met andere spellen met zo een bot gaat werken wordt het wel ineens interessant. Kijk naar MMORPG's. Als je automatisch spelende bots leveled naar 70 heb je er geen omkijken naar. Ook kan je ze laten farmen. Vervolgens word je virtualvaluta-seller of accountseller.
Voor elke game met reputatie en farmmogelijkheden zou dit interessant zijn.

Verwijderd

Voor WoW wordt dat al gedaan, alleen in plaats van een dure bot te ontwikkelen gebruiken ze gewoon kelders vol met kinderen en huisvrouwen ergens ver weg om op simpele manieren een hoge score te halen.

Levert net zoveel op, kost flink wat minder en is niet in strijd met de AV van het betreffende spel.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op woensdag 14 november 2007 @ 09:15:
Allemaal wel leuk en aardig, maar die maps heb je ook niet zomaar ingeladen. Je moet eerst weten hoe ze in elkaar steken en dan kan je ze pas gebruiken. Dan hebben we het nog niet eens over AI en hoe de input geregeld wordt. Persoonlijk denk ik dat de AI het lastigste is om te schrijven, bedenk maar iets wat slim genoeg is om menselijke spelers te overtreffen...

Ik kan ook zo ff niet bedenken hoe je de bot gaat inladen, of dat je iets van dll injection kan gebruiken of dat je echt een dll van het spel zelf moet kraken of dat er speciale functies voor geschreven zijn om dll's in te voegen (ala plugin achtige dingen).
Het daadwerkelijk uitvogelen van de level en inladen van die gegevens is oneindig veel makkelijker dan software die het beeld interpreteert en daar dan zijn conclusies uit trekt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

Ik heb met bots geprogrammeerd voor de Quake 3 engine.
Je kan die dingen serverside programmeren, meegeven langs waar ze moeten lopen of wat random maken. Uiteraard schieten ze op jou als ze je zien (built-in in de engine).

Clientside heb ik ze ook gemaakt, cheat skins (fluogroen), scherm uitlezen, richten, schieten, wat random moves kun je er ook bijstoppen.

Je kan ook in de clientgame hooken, de data uitlezen (waar de spelers, zeker in je gezichtsveld, wordt van de server naar de clients gestuurd) en aan de hand daarvan weet je programmatorisch waar de players zich exact bevinden. Jouw locatie heb je ook. Met wat moeite kun je de mapdata ook wel inladen en dan een pad bepalen naar je dichtsbijzijnde tegenstander.

Allemaal mogelijk, het enige probleem is dat de games anticheat hebben en alles zoveel mogelijk proberen te verbergen, want dat iedereen weet waar je zit is nu niet bepaald leuk.

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 14 november 2007 @ 09:44:
En wat heb je daaraan? Een stijve e-piemel?

Als je er geld mee wilt verdienen zul je toch naar events toe moeten en dan valt het nogal op dat je niet helemaal speelt zoals de bedoeling is ;)

Daarnaast zullen vaste spelers het gedrag vrij snel herkennen en je laten bannen.
ehh niet echt.

Ben alleen benieuwd wat voor mogelijkheden zou kunnen gebruiken om zo bot te laten spelen.
Het geeft je wel een idee hoe en wat!
Bedoel het is wel een hele uitdaging om zo iets te programmeren.

Maar ik was gewoon toevallig aan het neuzen over autoscripts voor het veranderen van instellingen van bepaalde waarden voor programma's en het automatische installeren ervan. En toen kwam ik ineens over autoaim bots en wow bot project tegen die gebruik maakte van DLL injection ect.

Dus vroeg ik me automatisch af waarom nog geen FPS bot bestaat die zo iets deed,
maar zo als iemand zei is het hacken messchien makkelijker dan het programmeren ervan door een screenreader te gebruiken.

Verwijderd

Waarom dat er niet is? Omdat het nutteloos is zoals ik dus zei.

Je krijgt er wellicht een stijve e-piemel van als je bovenaan de highscores staat met je bot, maar buiten dat is er gewoon geen praktisch nut.

Als je het leuk vind om te kijken kun je in veel FPS'en meedoen als observer en daarbij ook via de ogen van andere spelers en bots kijken, dus daar hoef je het niet voor te doen.

Ook zou je weer flink wat werk moeten doen iedere keer als er een nieuwe versie is waarin iets gewijzigd is, laat staan als je het in een ander spel wilt gaan gebruiken.

[ Voor 18% gewijzigd door Verwijderd op 14-11-2007 14:31 ]


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Een dergelijke bot bestaat wel: ratbot

Is een oude Quake II bot, die ook zelfstandig kan lopen.

We are pentium of borg. Division is futile. You will be approximated.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Rainmaker schreef op woensdag 14 november 2007 @ 15:47:
Een dergelijke bot bestaat wel: ratbot

Is een oude Quake II bot, die ook zelfstandig kan lopen.
En die gebruikt 'screenreader' technieken? Lijkt me stug.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Ik heb echt geen idee. Is een bot uit eind 90'er jaren.

Heb wat zitten googlen, maar lijkt behoorlijk dood te zijn.

Ben wel een muis tegengekomen met computerchips geimplanteerd en er schijnt zo recent als 2003 nog een "Stormix Ratbot" uitgekomen te zijn.

Hier staat trouwens wel een bot die "automatisch" werkt. Ik heb m nooit gebruikt, maar de broncode staat erbij... Misschien handig voor de TS.


Toch weet ik niet hoeveel je hieraan gaat hebben :p :
Known misfeatures:

- If you do not run the bot from the Quake directory, then it CANNOT see
the walls. In that case, it will often kill himself with the rocket
launcher.
- When the level can be loaded, the bot is supposed to see the walls. Well,
sort of. Actually, it doesn't really use that information yet, because the
AI is really deficient. It won't avoid lava pits, for instance.
- Normally, the bot should not fire rockets at close range. But it happens
very often. There must be a bug somewhere in the weapon switching code.
- The bot will show the forecast position of the player with a cloud
of red dots. That's the point where you should fire, if you had a
rocket launcher. Unfortunately, the bot will refuse to let you use one.
So this feature is here only to increase your frustration... for the moment.
- The bot sees you before he should (because the server sends him
updates even when he has no direct line of sight)
- The bot is stupidly static, when no players are around.
(well, actually, it makes some random moves)
- The bot ignores the static entities (like weapons, armors,
and stuff) to avoid wasting too much time.

[ Voor 85% gewijzigd door Rainmaker op 14-11-2007 17:38 ]

We are pentium of borg. Division is futile. You will be approximated.


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Rainmaker schreef op woensdag 14 november 2007 @ 17:27:
Ik heb echt geen idee. Is een bot uit eind 90'er jaren.

Heb wat zitten googlen, maar lijkt behoorlijk dood te zijn.

Ben wel een muis tegengekomen met computerchips geimplanteerd en er schijnt zo recent als 2003 nog een "Stormix Ratbot" uitgekomen te zijn.

Hier staat trouwens wel een bot die "automatisch" werkt. Ik heb m nooit gebruikt, maar de broncode staat erbij... Misschien handig voor de TS.


Toch weet ik niet hoeveel je hieraan gaat hebben :p :


[...]
Wat zijn die comments heerlijk sarcastisch :)

~ Mijn prog blog!


  • hapSnap
  • Registratie: Maart 2007
  • Laatst online: 16-10 16:47
Zoals eerder in deze thread is aangegeven, is botten bij MMORPG's het meest "interessant". Hierdoor wordt dit ook al erg veel gedaan. De bekendste bot is mmoglider, en deze kan werkelijk alles doen voor je wat je maar wil.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mensen, lees het topic eens fatsoenlijk. Ik kan nog wel 1001 bots noemen, maar we zitten hier niet in SGD maar in PRG. Daarnaast doet geen van alle voorgenoemde bots waar het TS in feite om gaat:
Het programmeren van een interactieve bot voor een MP game (als Bf2), is dat mogelijk ? Zo ja. Welke Tools zou je dan gebruiken of taal om zo iets voor elkaar te krijgen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

je kan een ingame BOT in een multiplayer stoppen:
http://www.winfuture-foru...ion/index.php?t46175.html
je hebt wel toegang tot de gameserver nodig.

wat de TS wil is is een aimbot met loopfunctionaliteit, perfect te doen, maar moet je wel hacken en dat vergt heel wat programmeerkennis. én je wordt er voor geband.

op http://www.mpcforum.com/f...4875bdbe1193ae29381&f=149
vind je een hele cheat community met tutorials en sourcodes

[ Voor 3% gewijzigd door ? ? op 15-11-2007 09:39 ]


  • Phalox
  • Registratie: Oktober 2006
  • Laatst online: 21-11 23:44

Phalox

Solar Powerrrd

Een computer het beeld laten analyseren is echt niet makkelijk!
Scar is een programma dat dingen kan automatiseren, maar dat programma werkt enkel op kleuren die op je scherm voorkomen.(en ik weet niet of het in een fps wel werkt)
Ook weet de computer niet direct in welke richting hij loopt, en of er ook een 'achter' is.. daar kunnen namelijk ook dingen zijn.

Analyseren van beelden vergt vrij veel processorkracht, dus ik denk dat je die optie al mag schrappen.
Dan is er nog de optie om te gaan implementeren in de gamecode zelf. Maar dan mag je gaan hacken, want alle gegevens uit de game worden niet zomaar naar de buitenwereld gestuurd...

Verwijderd

Er is nog een derde optie die misschien algemener en makkelijker is, namelijk een proxy-bot.
Je onderschept de pakketten die van en naar de server gaan en injecteert je eigen acties.
Oke, misschien niet absoluut makkelijk, maar wel makkelijker dan screenscrapers en gamecode hacken.

  • Muthas
  • Registratie: December 2005
  • Niet online

Muthas

O+

Heb ooit een (meerdere :P ) bot gehad voor Runescape (met bovengenoemde Scar inderdaad). Geinig joh om te kijken hoe je in 4 vensters gewoon automatisch het spel gespeeld wordt. Kon echt van alles: reageren als je naam wordt gezegd, automatisch uitloggen om 'pauze' te nemen, idiote gesprekken houden etc. Speelde het spel niet vast ofzo dus had er niks aan maar wel grappig :+

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

Een computer het beeld laten analyseren is echt niet makkelijk!
Analyseren van beelden vergt vrij veel processorkracht
niet bepaald, je maakt fluogroene skins en da's dan piece of cake

En een protocol ontrafelen (meestal wordt dat wel gecodeeerd) en dan nog eens de data eruithalen en reconstrueren om welke data het gaat om ze vervolgens te manipuleren en te herzenden is écht niet makkelijker dan een proces/functies te manipuleren :+

Verwijderd

en wat als het om geluid gaat. Een beetje serieuze game tegenwoordig kan je precies horen waar explosies/schoten/voetstappen etc. zich bevinden. Dus daar moeten variabelen van zijn die je uit zou kunnen lezen. En de rest aanvullen met alle objecten 1 kleur geven. Alle tanks bijv. rood, alle nme's blauw, friendlys groen, static content paars, ik zeg maar wat.

Maar een succesvolle bot voor bf series zal vrijwel onmogelijk zijn. Door het leading systeem en dat de latency enorm veel invloed heeft en met bf2 en later de kogels puur random schieten.

Verwijderd

ik denk dat de grootste uitdaging wordt om het cheat systeem te ontwijken. vooral FPS'en zijn erg gericht op het tegen gaan cheats en andere 'onmenselijke' hulpjes zoals aimbots.

je zit dus met het probleem dat je of in het geheugen van de game, BF2 bijvoorbeeld moet gaan romelen of anders in de code moet gaan injecteren bijvoorbeeld. want zo'n bot is al niet echt nuttig en het is ook meer omdat het kan. maar als je bot gekicked wordt of geban'd schiet er natuurlijk nog niks mee op.

je zou dus eigenlijk met het toetsenbord, muis en scherm moeten werken en dat betekent het eerder al genoemde erg kostelijke analyzeren van het scherm. veel A.I zoals we die nu kennen werkt vaak op de server en kan de map gegevens met de positie van elk object gewoon uitlezen als een 3d co-ordinate en werkt eigenlijk zegmaar op een wire-frame model i.p.v pixels en dat scheelt veel kostbare verwerkingstijd.

een alternatief is dan een soort proxy-bot maar ook dat kan moeilijk te implementeren zijn omdat de client mogelijk niet om kan gaan met deze 'onverwachte' injectie van opdrachten. ook kunnen sommige games problemen hebben omdat ze naar localhost moeten connecten. maar ik denk zeker dat het wel mogelijk is en de proxy method is denk ik de beste aanpak voor een game als Battlefield2. bijkomend voordeel van de proxy method is dat je de verwerking op een aparte computer kunt laten doen.
Pagina: 1