Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

EA test zelflerende ai-agents in Battlefield 1

EA test het gebruik van virtuele spelers die in Battlefield 1 zichzelf vrijwel vanuit het niets de basisvaardigheden aanleren, door gebruik te maken van kunstmatige intelligentie. Het doel is om de zelflerende agents op termijn in games in te zetten.

Helemaal vanuit het niets worden de agents niet in het diepe gegooid: EA liet ze eerst een half uur het spel van menselijke spelers analyseren als onderdeel van imitatieleren. Vervolgens konden ze zes dagen achtereen onder elkaar en tegen ouderwetse bots trainen op meerdere machines tegelijk, waardoor de totale trainingstijd 300 dagen bedroeg. Hiervoor gebruikten de onderzoekers temporal difference reinforcement learning.

EA moest de weergave voor de agents vereenvoudigen en de complexiteit van het spel maakte dat ze niet snel leerden en weinig vooruit konden 'denken'. Maar ze kregen wel de basisvaardigheden onder de knie en konden adequaat reageren op situaties. Als ze bijvoorbeeld weinig munitie over hadden, gingen ze hiernaar op zoek. Een potje tegen menselijke tegenstanders verloren ze nog wel en ook vertoonden ze soms vreemd gedrag als rondjes draaien, als er geen doelwit in zicht was.

AI Battlefield 1

Voorbeelden van gedrag: rood: zoeken naar munitie, blauw: patrouilleren, geel: zoeken naar plekken waar wat te vinden is

"Battlefield draait om veel meer dan het verslaan van de tegenstander. Er komt veel strategie bij kijken, zaken als teamwork, de map kennen en bekend zijn met aparte klassen en uitrustingen", verklaart Magnus Nordin, die bij EA werkt aan de ai-techniek als onderdeel van de bredere Search for Extraordinary Experiences Division, of SEED.

Nordin denkt dat intelligente ai-agents in de toekomst onderdeel van games worden waarbij ze hun gedrag kunnen aanpassen op basis van interactie met menselijke spelers. Ook denkt hij dat de virtuele spelers binnen een paar jaar menselijke spelers bij een eenvoudige spelmodus kunnen verslaan.

Meerdere partijen zijn bezig met onderzoek naar kunstmatige intelligentie in games. Zo testen DeepMind en Blizzard ai-technieken bij de rts StarCraft II en traint OpenAI kunstmatige intelligentie met Portal, Red Alert 2 en Shovel Knight.

De SEED-onderzoekers hebben hun bevindingen gepubliceerd in een paper met de titel Imitation Learning with Concurrent Actions in 3D Games.

Door

Nieuwscoördinator

74 Linkedin Google+

Reacties (74)

Wijzig sortering
Ik snap de zin hiervan voor het leren van AI wel maar niet voor de gamers: betere AI maken kan men al jaren. Men gebruikt het gewoon niet omdat... de AI te goed is dan en menselijke spelers niet meer winnen. En dat verkoopt ook niet.

[Reactie gewijzigd door YellowOnline op 22 maart 2018 22:04]

Het probleem is dat doorgaans een AI alleen maar 'te goed' is voor de mensen omdat ze één of meerdere van de volgende dingen hebben:
  • Perfecte aim hebben
  • Perfecte informatie hebben (weten alles)
  • Buiten de regels van gewone spelers werken (kunnen meer dan reguliere spelers)
Dit alles is om te compenseren dat ze voor de rest helemaal niet zo goed zijn. Wat ze hier denk ik proberen te realiseren is AI spelers die goed zijn omdat ze menselijk overkomen. Goed zijn met strategie en bijvoorbeeld omdat ze weten wat de juiste plekken in de maps zijn gezien huidige doelen. Je zou een veel realistischer match kunnen krijgen, waarbij je als speler echt twijfels krijgt of je wel tegen bots speelt of niet.

Denk bijvoorbeeld eens aan een 1 on 1 in een game als Quake 3/Live/Champions. Als je in zo'n duel beperkte wapen-, powerup- en ammo spawns hebt dan kan een bot eigenlijk gewoon niet winnen, tenzij deze perfecte aim heeft. De bot heeft geen strategie om wapens 'onder controle' te houden en het zou tof zijn als dat wel kan. Timen van de spawns na het pakken van een powerup bijvoorbeeld. En uiteraard dan op een zelf geleerde manier, zonder alles letterlijk te moeten programmeren. Want dan sla je de plank toch altijd ergens mis :)
Ik ben het met je eens, maar

Perfecte aim hebben > Met wat getweak kan het zo gemaakt worden dat AI niet 100% alles raakt 100% van de tijd.

Perfecte informatie hebben (weten alles) > Ook dit kan zodanig gemaakt worden dat de AI alleen kan reageren op wat het "ziet" en "hoort"

Buiten de regels van gewone spelers werken (kunnen meer dan reguliere spelers) > wat bedoel je hier precies mee? is dit net hetzelfde als punt 2 ?

Uiteindelijk denk ik dat het hebben van AI tegenstanders wel erg tof zou zijn. Vooral het feit dat het realtime kan aanpassen op nieuwe situaties. IPV een ingebakken moeilijkheidsgraad (easy,normal,hard) zou een spel dus de moeilijkheidsgraag dmv AI dynamisch kunnen aanpassen, wanneer een speler te goed of juist te slecht is.

[Reactie gewijzigd door Ne0odotnl op 23 maart 2018 13:34]

Perfecte aim hebben > Met wat getweak kan het zo gemaakt worden dat AI niet 100% alles raakt 100% van de tijd.
Zeker, zo maken ze de moeilijkheidsgraden inderdaad.

Perfecte informatie hebben (weten alles) > Ook dit kan zodanig gemaakt worden dat de AI alleen kan reageren op wat het "ziet" en "hoort"
Klopt ook.

Buiten de regels van gewone spelers werken (kunnen meer dan reguliere spelers) > wat bedoel je hier precies mee?
Sneller resources binnenkrijgen dan menselijke spelers, sneller bouwen, dat soort dingen. Cheaten eigenlijk :)

Al je punten zijn helemaal correct hoor maar gelden alleen als je wilt dat de AI niet super goed is. Dat was niet wat ik bedoelde. Je kunt een AI prima afzwakken voor minder goede menselijke spelers. Maar als je wél een echt goede menselijke speler hebt, moet je doorgaans één, twee of zelfs drie van de bovenstaande methodieken geheel inzetten om een AI 'op hetzelfde niveau' te krijgen. Echter zijn het alle drie dingen die mensen niet hebben en dat is waar het wringt qua realisme. Niets iets minder leuk dan in een leuke pot BF1 tegen een AI in de killcam te zien dat die crosshair ineens 'clipped' op jouw hoofd, want het is een directe herinnering dat het allemaal zo nep is.

Daarom zou het zo tof zijn om een goede AI speler te hebben die niet leunt op bovenstaande elementen (oké goede aim wellicht, in een shooter) maar toch echt serieus goed is, vanwege iets als strategie.

[Reactie gewijzigd door Cloud op 23 maart 2018 13:37]

AI is juist helemaal niet goed in games ten opzichte van mensen. Vaak lijken ze beter te zijn maar dit komt puur doordat ze de hele game state (of iig meer dan de mens) tot hun beschikking hebben wat een mens niet heeft.

Een eerlijke AI die ook nog eens echt goed is zou mooi zijn. Dan krijg je nog eens het idee dat je tegen een menselijke tegenstander vecht. Met go is ze dat al (ruim) gelukt maar nu de rest nog.
AI zijn ver, ver achter mensen als het op strategie, tactiek etc. aankomt (in games die niet turn-based zijn), als developer kan je gewoon de korte weg nemen met extreem snelle reactietijden en 100% accuracy op headshots, boem klaar, moeilijke AI, maar geen goede AI.

In strategy games is het al helemaal erg, daar maken de computers vaak verschrikkelijke keuzes, maar omdat ze resources uit het niks toveren zijn ze alsnog lastig tegen te houden (plus ze kunnen alle units individueel tegelijk aansturen wanneer nodig)

[Reactie gewijzigd door ingmar75 op 23 maart 2018 10:25]

Zet de AI in voor hogere moeilijkheids Grandes. Win win. Voor beide. Genoeg games is het iets meer vijeinden. Iets meer HP/DMG en tada je game is moeilijker...
AI werkt nu door te "cheaten". Het weet waar mensen zijn, het weet wat er gebeurt op de map. Al zou je die manier van AI weghalen en je zou in plaats daarvan menselijke reacties neerzetten, dan zouden ze veel leuker zijn om tegen te spelen. Je ziet nu nog steeds hoe robotachtig AI beweegt.
Hoe zou je dan difficulty regelen voor bijvoorbeeld een singleplayer game zonder rubber banding of andere toestanden te gebruiken?
Waarom zou je rubberbanding hebben in SP?
Ik denk dat met Rubber Banding wordt hier niet lag-correctie bedoeld, maar met het concept dat vooral heel duidelijk wordt toegepast in Mario Kart: Door de slechtste spelers een boost te geven (en slechtste AI zelfs een speed-boost) en de beste spelers "ongeluk". Zo blijven de auto's altijd in de buurt van elkaar

[Reactie gewijzigd door Gamebuster op 22 maart 2018 21:58]

Na al die jaren nog steeds nachtmerries door die blauwe schilden!
Lang leve de boom-box van MK8
Bij traditionele rubberbanding werkte het gewoon zo dat als een computerspeler achter raakte, hij gewoon sneller ging rijden (alsof hij met een rubberen band aan jouw kart vast zat, vandaar de naam). Dit zie je in oude racegames ook op de kaart (bv. dus in Mario Kart op de SNES), als je degene die altijd als tweede over de finish gaat in de laatste ronde een rood schild in zijn mik gooit, dan vliegt hij vervolgens over de baan in een poging om alsnog als tweede te eindigen (en dit lukt soms ook gewoon, terwijl dit eigenlijk onmogelijk zou moeten zijn).
Need for speed underground was de eerste waar me dit heel erg opviel.
De AI kwam daar met 100 door een haarspeldbocht voorbij vliegen. :+
Wellicht geen difficulty meer hebben.

<Brainstorm incoming>

Of wellicht het omgekeerde van auto-aim. (auto-bad-aim :+ ) Wat dus ervoor zorgt dat AI meer spread heeft of bewust 'per ongeluk' mis schiet op lagere levels.
En minder HP/armor/shields etc.

Als je AI zover is dat het te goed wordt door slimmigheid (en niet truukage!) dan kan je het wellicht ook dommigheid laten simuleren zoals het af-en-toe vergeten om een hoekje te kijken (check your corners), of een kamer over te slaan met het doorzoeken van een gebouw.

Mijn punt is, nu laten we spelers denken dat een AI slim is door truukjes toe te passen. Tegen die tijd gaan we dit omgekeerd doen. Het de speler gemakkelijker maken door truukjes. :P
Dat de Stormtroopers in Star Wars:Battlefront dus expres mis gaan schieten, net als in de films! 😊
Mijn teammates gebruiken die AI anders al hoor :P
Of net als UT, dat de difficulty zich aanpast aan hoe goed/slecht de speler het doet
Het zijn gewoon NPC's, dus ze gebruiken geen client of externe dingen om acties uit te voeren.
Volgens mij moet dit toch juist makkelijker worden? (In theorie)

Als een AI leert dan zal hij toch moeten weten "als ik op x locatie ben en heb jou voor het laatst op y locatie gezien (+ meer factoren die je kan laten meetellen) dan doe ik actie z".

Actie z is dan het hoogste percentage kans op succes voor de AI op basis van de duizenden keren dat hij die situatie heeft meegemaakt. Je kunt de AI dan dommer maken door hem onlogischere acties te laten kiezen die een grotere faalkans hebben gehad.

De moeilijkheid lijkt me dan vooral om de onlogischere keuzes nog steeds geloofwaardig te laten zijn.

Wat ik zelf ook niet helemaal zie is de consistentie van zo'n zelflerende aanpak. Die dingen werken het best als zij altijd 100% voor de beste keuzes (moeten) gaan. Hoe werkt dit als je ze "afknijpt"?

EDIT:
Na het filmpje te kijken zie je nog duidelijk dat de AI characters "weten" waar de enemy zich bevindt. Zie 0:59 tot 1:03. (Kill van de AI die door de poort komt) Dit ziet er voor mij uit als een typische aimbot van vroeger.

Ik kan uit het filmpje niet opmaken wat er nou echt anders is dan met "ouderwetse" AI. (Behalve dan het feit dat je geen keuzebomen/patronen oplegt en hoeft te schrijven) Klinkt leuk hoor dat neural network en machine learning maar het voelt ook een beetje hyperig aan.

de manier van de Forza Drivatars (analyseer en volg specifieke spelers om een "kopie" te maken van je speelstijl) komt toch veel meer in de buurt van hetgeen men naar moet streven volgens mij.

[Reactie gewijzigd door SideShow118 op 22 maart 2018 23:05]

Daar noem je wel een gehaat systeem als voorbeeld zeg... De drivatars zijn naar mijn idee het slechtste uit de Forza serie en volgens mij vinden velen dat met mij. De beukende capriolen van de gemiddelde speler naar single player halen, nu kun je helemaal nooit meer ontsnappen aan die etters waardoor je liever niet online ging spelen 8)7
Het ging mij om het idee, niet de uitvoering haha.
Je ziet voordat de Kill van de AI is op 0:59 tot 1:03 duidelijk een muzzle flash "uit de poort komen", dus het is niet zo moeilijk in te schatten waar de enemy is.
Daar heb je helemaal gelijk in. Het gaat echter om het stukje dat net daarvoor gebeurd. de AI heeft zijn cursor al een seconde of twee achter de muur geplaatst terwijl er voor hem mensen om de hoek rennen en neergemaaid worden (waar hij zelf eerst ook naar keek). In de chaos die BF1 is in dit soort situaties kun je die kerel die net daarna door de poort komt nooit horen aankomen.

Ik zeg niet dat het goed of fout is dat die AI dit doet maar het is volgens mij veel interessanter om te weten WAAROM hij daar naar die muur keek. was het een "gokje" dat er iemand achter stond die 5sec daarna om de hoek komt rennen of wist die AI dat?

De echte hamvragen daarna zijn dan: Is dat gewenst gedrag? Is dat optimaal gedrag? Wat zegt dat over het niveau van de AI?

Daar zegt dit filmpje jammer genoeg helemaal niets over. (geen commentaar o.i.d)
Je gaat er nu vanuit dat de ai getrained word op enkel en alleen altijd winnen. Nu is dat waarschijnlijk nog wel zo omdat de ai nog maar net begint dit te leren, maar dat hoeft helemaal niet te zijn wat -in een uiteindelijk systeem- als leerdoelstelling gebruikt word.

Je kunt als leerdoel ook hebben dat het x% van de keren succes moet hebben (of dat nu jou raken of zelf dekking zoeken is), of iets dergelijks. Bij dobbelen heb je zoiets als de expected value: je kunt bijvoorbeeld met een enkele dobbelsteen 1 tot 6 gooien, maar over veel worpen heen is het gemiddeld 3,5. Doordat je deze expected value weet kun je de moeilijkheid van zo'n spel aanpassen (als je bijvoorbeeld 2 moet gooien is het makkelijk, als je 4 moet gooien wat moeilijker). Je kunt een vergelijkbare desired value instellen voor ai, gebaseerd op vaste getallen als damage doen tegen jou of zichzelf beschermen die je wilt dat er behaald worden, of zelfs gebaseerd op jouw performance.

Juist ai kan hier 'intelligent' mee omgaan, waar andere games meestal simpelweg meer health of beter wapens aan vijanden geven en je zelf maar een instelling moet kiezen. Niet dat het simpel is, want naast ai dingen laten leren is de juiste leerdoelen uitvogelen al een uitdaging op zich.
Je trained er gewoon meerdere op verschillende specificaties, eentje met een lagere winrate, eentje met een hogere winrate etc. etc. eentje met een laag reactievermogen maar hoge accuratie en ga zo maar door. dan krijgt de bot misschien nog enigzins persoonlijkheid ook, al helemaal als je met iets als squads gaat werken en een bepaalde bot niet zoveel zin heeft je commandos op te volgen oid.
Ik zou verwachten dat de difficulty van deze bots afhangt van hun "hours played" in leaning-modus (specifiek voor het online gebeuren dan). Wat betreft dat singeplayer ervaring zal er weinig veranderen vrees ik.

Kijk er wel naar uit om in multiplayer scenario's ineens Skynet-achtige toestanden tegen te komen. Misschien toch maar Arnie op speed-dial zetten in de toekomst? :+
Op dezelfde manier als dat nu menselijke tegenstanders gematched worden. Een bot kan ook gewoon een ranking krijgen.
Dit zou wel interessant zijn als deze als bots ingezet zouden kunnen worden in games. Ik speel zelf het liefst games met bots, omdat ik niet de tijd heb om veel te oefenen in een spel en omdat ik dan niet gefrustreerd raak.
"Be careful what you wish for"
Er zijn al meerdere 'e-sport' gamers op hun plek gezet door een AI die keihard de vloer aanveegt met de grootste namen, nou ben ik zeker voor een hogere moeilijkheidsgraad in games (alles vandaag de dag is zo f-ing makkelijk, echt sneu) maar ik denk dat je niet heel blij bent als je tegen een first person shooter AI speelt, dat is gewoon vergelijkbaar met spelen tegen iemand met aimbot etc.
Wat ik jammer vind is dat bij bv hard diffeculty de AI gewoon erg dom blijft. Alleen de hoeveel vijanden en hun HP/DMG gaat omhoog.....
Deze mening deel ik niet.

Vaak zat neergeknald op de hogere stand door de AI omdat hij "weet" waar ik ben, en vanaf de meest rare plekken al (van ver en zonder dat ik hem zie), finaal afgemaakt wordt ;).
Maar dat is geen slimme ai, gewoon een cheatende. Stoor me ook wel eens in games aan vijanden die dwars door alle begroeiing heen kunnen kijken, zo is er geen kunst aan natuurlijk.
Zo vervelend als je in CIV moeite hebt met je mensen blij houden, geld binnen halen en een redelijk leger hebben, terwijl de AI vrolijk in de -100 gold per turn zit, met 0 gold en twee beurten later opeens 300 kan betalen voor een research agreement of wat resources.
Misschien niet bij deze game niet. Maar er zijn genoeg games waar de AI te dom of blind is om te reageren.
Er zullen vast uitzonderingen zijn. Maar helaas is de AI in mijn ogen onder de maat.
Ik vermoed wel dat moeilijkheidsgraad aan te passen gaat zijn. Het wordt vooral interessant met deze AI dat ze niet gewoon voorgeprogrammeerde paadjes volgen en acties uitvoeren, maar analyseren wat andere spelers doen etc.
Is het natuurlijk nu wel de bedoeling lijkt mij dat die AI daadwerkelijk op een slimme manier speelt ipv zijn alziende krachten gebruiken om mensen aan de andere kant van de map neer te knallen.

Simpele aimbots zijn er allang. AI die speelt als een mens nog niet.
Tot ze alles leren en niet te verslaan zijn haha
Implementeer in een robot van Boston Labs welke je volhangt met vuurwapens en taadaa, de eerste stap op weg naar de terminator films is daar. ;(
Straks vinden de bots foutjes in het spel en beginnen ze zelf vals te spelen.
de bot vind een lek en misbruikt die :+
soort gta5 cheaters maar dan met losgeslagen bots. terminator in een virtuele wereld. rondvliegen en alles laten ontploffen en tanks bovenop mensen spawnen, ik zie het al helemaal voor me.
Het lijkt wel alsof die AI door muren en bosjes heen kan kijken. Of zou dat komen doordat AI perfect de informatie van de 2d map kan combineren met de 3d spelwereld? Want in battlefield 1 zie je tegenstanders op de map als ze heel dichtbij zijn of als teamgenoten ze zien lopen.
Zou me niks verbazen als de AI de positie van tegenstanders kan leren door het luisteren naar de voetstappen. Zo kan je redelijk nauwkeurig "pre-aimen" zonder line of sight te hebben.
Dit viel mij ook al op inderdaad.. lijkt redelijk op wallhack
Dit viel mij ook al op inderdaad.. lijkt redelijk op wallhack
Het is EA, ik ga er niet vanuit dat ze dit ook daadwerkelijk goed uitwerken :P
Oe lastig. Ik ben helemaal voor, maar vaak gaat dit op basis van succesrate.
Dit betekend dat als Campen heel succesvol is, dat:
A: De code dat moet zien, en het percentage van Campen lager moet zetten. (Fail by design)
B: De Devs dat moeten zien en moeten updaten (Bug hunting by AI)

Ik zeg doen, maar poeh ik zie wel valkuilen. Games die bijvoorbeeld gemaakt worden met 1 jaar updates, waarna de AI vrije hand heeft en het meest succesvolle pad kiest.

Leuke tijden zijn dit!
Je kan 'm natuurlijk penalty geven voor agents die te lang stil zitten :) Score * afstand afgelegd.
Je kunt er ook voor kiezen ze op een gegeven moment, niet meer door te laten leren.
Battlefield draait om veel meer dan het verslaan van de tegenstander. Er komt veel strategie bij kijken, zaken als teamwork, de map kennen en bekend zijn met aparte klassen en uitrustingen

Helaas zijn menselijke spelers hier steeds minder in, meer run and shoot is t geworden! Tenzij je in een clan speelt, vind je dit meer in bf4. Zelf weer actief in siege, daar is met random spelers ook meer teamwork!
Goede AI... Dan moet ik direct denken aan FEAR. Men die kwamen echt geniaal uit de hoek.
Dan moet je de AI/Bots wel fair laten spelen en op 'zicht', rond 1:00 lijkt het toch duidelijk dat er een gigantische aimbot bezig is die meteen headshot maakt moment dat die gast die gang uit komt.

Hoe is AI als het nonstop de hele 3D wereld om zich heen kent? Dat is alsof pro gamers met wallhack en aimbot rondrennen, echt eerlijk is dat ook niet echt.
Dat inderdaad, als de bot z'n input niet via het "scherm" krijgt maar gewoon via rauwe data moet je 'm actief dommer maken, anders krijg je dat soort toestanden en snipers die lange headshots maken recht door mist heen.

Lijkt me machine learning technisch gezien ook een mooiere uitdaging, als de bot gewoon de schermoutput gebruikt kun je 'm eigelijk voor zo'n beetje iedere shooter gebruiken.
Lijkt mij ook wel leuk om te zien hoe lang een machine erover doet om zich aan te passen aan een nieuwe shooter en hoe lang het duurt voor hij zich terug aanpast naar zijn eerste game.
Zonder uitleg bij het filmpje zou het zomaar lijken alsof COD veteranen voor het eerst BF spelen }>

[Reactie gewijzigd door Division op 22 maart 2018 20:49]

Is dat zo? Ik heb geen enkele soldaat horen roepen wat ie met m'n moeder gaat doen of al gedaan heeft. :D

Op dit item kan niet meer gereageerd worden.


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S9 Dual Sim Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V. © 1998 - 2018 Hosting door True

*