Gå til innhold

Smartere AI i spill?


Anbefalte innlegg

Som vanlig kommer det en del desillusjonerte PC-spillere og forsøker å legge skylden på konsollene. Jeg var selv en stor PC-gamer i min tid da strategispill var mer populært enn det er nå, men det utvikles hverken PC-eksklusive, dype, strategispill på noe særlig stor skala eller AI til mer mainstreame spill, ganske enkelt fordi det ikke er penger å tjene på det. Det har veldig lite med prosessorkraft å gjøre, og veldig mye med hvilke strategiske vurderinger som lønner seg å gjøre for et selskap om de ønsker å maksimere sin profitt - noe jo alle selskap i prinsippet ønsker. AI kan ikke puttes bakpå boksen på samme måte som fin grafikk og at et spill inkluderer multiplayer, så da vil det, dessverre, fortsette å bli nedprioritert også om vi plutselig skulle få ti ganger mer prosessorkraft ved neste konsollgenerasjon.

 

Nå er jeg selv konsollgamer, og det var jeg som skrev det tidligere her i tråden, etter et eller annet intervju jeg leste, men jeg klarer ikke å huske hvilket. Det er sikkert flere grunner, som kostnader, om det vil være verdt det og masse annet, men dette handlet kun om AI og hvordan man kunne gjøre den bedre. Det ville ta masse prossessorkraft å lage AI som skulle være god, og gjerne også slik at fiender kunne reagere forskjellig etter personlighet og masse annet. Og akkurat det vil nok være vanskelig å gjøre i dag, om man ikke lager en ny spillmotor kun optimalisert for PC. Er det egentlig noen av spillmotorene i dag som ikke er laget for mange år siden (og kanskje bare oppdatert litt) og/eller er laget for både PC og konsoll?

Lenke til kommentar
Videoannonse
Annonse

 

Nå er jeg selv konsollgamer, og det var jeg som skrev det tidligere her i tråden, etter et eller annet intervju jeg leste, men jeg klarer ikke å huske hvilket. Det er sikkert flere grunner, som kostnader, om det vil være verdt det og masse annet, men dette handlet kun om AI og hvordan man kunne gjøre den bedre. Det ville ta masse prossessorkraft å lage AI som skulle være god, og gjerne også slik at fiender kunne reagere forskjellig etter personlighet og masse annet. Og akkurat det vil nok være vanskelig å gjøre i dag, om man ikke lager en ny spillmotor kun optimalisert for PC. Er det egentlig noen av spillmotorene i dag som ikke er laget for mange år siden (og kanskje bare oppdatert litt) og/eller er laget for både PC og konsoll?

 

Det er vel ingen tvil om at mer prosessorkraft vil gi flere muligheter til god AI, men jeg mener vel at det eksempelet fra det en skulle tro er et AI-krevende spill som Civilization illustrerer godt hva som er det viktigere poenget her - nemlig hva utviklere anser at lønner seg - som jo igjen avhenger av hva som selger. Dessverre. Men det var ikke meningen å idiot-stemple din eller noen andre sine poster :)

 

Relativt nye motorer er vel den som brukes i Battlefield (frostbite), og jeg har vel relativt positivt inntrykk av nyeste CryEngine også. Ellers har japanerne en del nye motorer, men de utvikler jo knapt PC-spill, så det er vel ikke så relevant.

Lenke til kommentar

Jeg tror spillenes kompleksitet har kjørt ifra AI-teknologien. Det er vanskelig nok å lage en maskin som er god i sjakk, men det å ha en eller flere NPC-er som kan bevege seg i alle himmelretninger og utføre et utall handlinger akkurat når det måtte passe, blir så veldig mye mer. Det er nok derfor det hender jeg tenker at spill faktisk var glupere før.

 

Det er da vitterlig ikke vanskelig å lage en maskin som er god i sjakk? Det finnes flere "master" program som til enhver tid regner ut hele kampen fra (alle potensielle utfall) og velger det mest optimale hver gang. Men det er ikke god AI, det er finnes til enhver tid optimale trekk i sjakk. Det betyr ikke 100% seier, men de er skummelt gode. Men reglene og valgene i sjakk er mye mer statisk enn i f.eks. ett FPS.

 

TiLT42, prosessor kraft? Virkelig? Hvorfor greier da så få spill å 1) bruke alle fire kjernene mine samtidig og 2) sjeldent drar meg opp i noe som nærmer seg 90-100% CPU usage? Det blir for dumt å si at maskinene er for svake når den nå gamle spill PC'n min fortsatt ikke får CPU'en sin presset. GPU'en derimot måtte byttes for en stund tilbake....

Lenke til kommentar

For meg er det litt vanskelig å definere hva en "dum AI" er, men det står mellom to alternativer:

 

A: Er en dum AI en AI som skal fra punkt A til punkt B, men går rett inn i en vegg fordi den ikke ser/vet at veggen er der?

 

Eller B: Er en dum AI en AI som ikke snur seg når du kommer snikende, selv om du har veltet en vase rett bak ryggen på den?

 

Hvis det gjelder alternativ A kan jeg godt forstå trådstarters bekymring, for dette er en form for "dum AI" jeg hadde likt å se gjort smartere i fremtiden. Når det kommer til alternativ B, derimot, forstår jeg det mange her inne mener om at vi ikke nødvendigvis ønsker oss så mye smartere AI. Av den simple grunn at vi da kanskje vil føle oss dummere enn maskinen. Kanskje ikke alternativ B var det beste eksempelet i dette tilfellet, men i hvert fall når det kommer til AI med "aimbot" kan jeg forstå hva mange mener.

Endret av Smål
Lenke til kommentar
Gjest Slettet+513

Studerer man credits i spill kan man se at noen få personer lager Ai mens mange lager levels og designs.

 

Kan problemet ligge i at det er for få ansatte programmerere i mange studioer? Altså ikke så mange som har evnene til å håndtere slikt arbeid for det er jo det mest avanserte man kan programmere.

Endret av Slettet+513
Lenke til kommentar

Jeg tror nok også litt av grunnen, bortsett fra konsoller med lang fartstid, kan være "onlinerevolusjonen".

 

I dag har nærmest ethvert spill, både i tide og utide, onlinemuligheter. For de som svir av fritiden sin på Battlefield 3, spilte det nok mindre rolle hvordan AI'en fungerte, enn hvordan spillingen mot andre mennesker fungerte. Så i noen sjangere, har vel menneskene i andre enden av internettet overtatt rollen som AI.

 

Nå er jo AI i seg selv "kunstig intelligens". Med noen få hederlige unntak som feks "daytrade-aksjemeglere", som er blitt i stor grad erstattet med programmer, er fortsatt den kunstige intelligensen menneskeheten lager noenlunde svak. Litt avhengig av bruksområde selvfølgelig.

Endret av KnownToOwn
  • Liker 1
Lenke til kommentar

For meg er det litt vanskelig å definere hva en "dum AI" er, men det står mellom to alternativer:

 

A: Er en dum AI en AI som skal fra punkt A til punkt B, men går rett inn i en vegg fordi den ikke ser/vet at veggen er der?

 

Eller B: Er en dum AI en AI som ikke snur seg når du kommer snikende, selv om du har veltet en vase rett bak ryggen på den?

 

Hvis det gjelder alternativ A kan jeg godt forstå trådstarters bekymring, for dette er en form for "dum AI" jeg hadde likt å se gjort smartere i fremtiden. Når det kommer til alternativ B, derimot, forstår jeg det mange her inne mener om at vi ikke nødvendigvis ønsker oss så mye smartere AI. Av den simple grunn at vi da kanskje vil føle oss dummere enn maskinen. Kanskje ikke alternativ B var det beste eksempelet i dette tilfellet, men i hvert fall når det kommer til AI med "aimbot" kan jeg forstå hva mange mener.

Problemet med skikkelig smart AI som snur seg når du velter en vase er jo at du har en veldig begrenset evne til å manipulere figuren du spiller i spillet. Hadde du faktisk vært i rommet er det godt mulig at du lett hadde forutsett at du kom til å rive ned den vasen dersom du ikke løftet armen opp en halvmeter mens du gikk fremover. Dette kan du ikke gjøre i de fleste spill i dag.

Lenke til kommentar
Det er da vitterlig ikke vanskelig å lage en maskin som er god i sjakk? Det finnes flere "master" program som til enhver tid regner ut hele kampen fra (alle potensielle utfall) og velger det mest optimale hver gang.

 

Kan du nevne noen eksempler på slike programmer? Det høres veldig, veldig usannsynlig ut for meg, selv med en superdatamaskin som ikke gjør annet enn å kalkulere i flere minutter av gangen.

 

TiLT42, prosessor kraft? Virkelig? Hvorfor greier da så få spill å 1) bruke alle fire kjernene mine samtidig og 2) sjeldent drar meg opp i noe som nærmer seg 90-100% CPU usage? Det blir for dumt å si at maskinene er for svake når den nå gamle spill PC'n min fortsatt ikke får CPU'en sin presset. GPU'en derimot måtte byttes for en stund tilbake....

 

Dette blir litt banalt, men skitt au. Du stilte spørsmålene, så da får jeg svare:

 

1) Fordi spillet ikke er programmert for å bruke alle fire kjernene dine samtidig. Dette er fordi de fleste spill er optimalisert for 3-kjernearkitekturen til Xbox 360. Rene PC-spill er ofte bedre til å utnytte systmer med 4+ kjerner, men selv her kan det variere ettersom mengden kjerner hos brukerne varierer en god del. Hvis utviklerne lager et spill som utnytter mange kjerner veldig effektivt har det gjerne en implisitt konsekvens at brukere med få kjerner vil slite med å i det hele tatt kjøre spillet.

 

2) Fordi 100% CPU-bruk krever at alle kjernene utnyttes (se over). Samtidig er utviklere VELDIG forsiktige med å tyne en PC maksimalt, for det har en stygg tendens til å forårsake permanente skader på hardware. Jeg har hørt om tilfeller hvor utviklere har måttet patche et spill til å inkludere rutiner som får programmet til å vente en mikroskopisk mengde tid hver frame, utelukkende slik at spillet ikke skulle bruke 100% kapasitet og dermed smelte hardware (hovedsaklig skjermkort, men det er fordi de er mye lettere å utnytte maksimalt enn CPU). 100% bruk av CPU får også de aller fleste PCer til å høres ut som jetfly.

  • Liker 2
Lenke til kommentar

Grunnen til at nesten ingen spill ikke utnytter i nærheten av 100% CPU kraft (bortsett fra trekjerneoptimalisering på 360)er at det faktisk er temmelig vanskelig å få mange veldig forskjellige oppgaver til å bli ferdig prosessert akkurat samtidig på flere forskjellige kjerner. Det er veldig vanlig at en kjerne som kanskje fikk en mye lettere samling oppgaver ble ferdig med sitt lenge før en annen kjerne, som fører til at denne kjernen da må tvinne tommeltotter til alt det andre er ferdig utregnet.

 

Og jeg kan ikke si jeg har hørt om mange tilfeller der maksimal utnyttelse førte til permanent skade på hardware, med mindre det var snakk om produksjonsfeil.

Endret av Pseudopod
Lenke til kommentar

Grunnen til at nesten ingen spill ikke utnytter i nærheten av 100% CPU kraft (bortsett fra trekjerneoptimalisering på 360)er at det faktisk er temmelig vanskelig å få mange veldig forskjellige oppgaver til å bli ferdig prosessert akkurat samtidig på flere forskjellige kjerner. Det er veldig vanlig at en kjerne som kanskje fikk en mye lettere samling oppgaver ble ferdig med sitt lenge før en annen kjerne, som fører til at denne kjernen da må tvinne tommeltotter til alt det andre er ferdig utregnet.

 

Og jeg kan ikke si jeg har hørt om mange tilfeller der maksimal utnyttelse førte til permanent skade på hardware, med mindre det var snakk om produksjonsfeil.

 

Maksimal ytelse fører ikke til permanent skade, men maksimal ytelse over flere timer har potensiale til å gjøre det for enkelte typer hardware.

 

Du har rett i at timing og synkronisering mellom ulike prosesser er vanskelig, og det er kanskje den viktigste grunnen til at få utviklere gidder gjøre mye mer enn å optimalisere for 360 og PS3, for deretter å la PC benytte systemet for 360 (hvis de gidder). I forbindelse med AI er det ikke fullt så farlig ettersom kalkulasjonene gjerne er designet for å kunne avbrytes når hovedtråden er klar. AI-trådene gjør unna så mye de klarer før de blir avbrutt. Dette er f.eks. måten spill som Civilization 5 fungerer på.

Lenke til kommentar

*snip*

 

Eller B: Er en dum AI en AI som ikke snur seg når du kommer snikende, selv om du har veltet en vase rett bak ryggen på den?

 

*snip*

Problemet med skikkelig smart AI som snur seg når du velter en vase er jo at du har en veldig begrenset evne til å manipulere figuren du spiller i spillet. Hadde du faktisk vært i rommet er det godt mulig at du lett hadde forutsett at du kom til å rive ned den vasen dersom du ikke løftet armen opp en halvmeter mens du gikk fremover. Dette kan du ikke gjøre i de fleste spill i dag.

Det er også et veldig godt poeng! Red Dead Redemption, som jeg kommer på i farten, hadde naturlige bevegelser som potensielt kunne gjort dette scenarioet virkelig. Karakteren din ville ikke nødvendigvis stoppe nøyaktig i dét du slapp stikken når du løp fremover, men heller fortsette en meter eller to før han/hun stoppet helt. Autentisk? Ja. Litt frustrerende? Til tider, ja. Har gått på tryne ned noen klipper i starten av dette spillet fordi jeg ikke har timet stoppene riktig. Men det blir dog en vanesak etter hvert.

 

Dette ble litt off-topic, men forstår hva du mener. Bare med armer, og ikke bein som i mitt eksempel.

Endret av Smål
Lenke til kommentar

Hverken FEAR eller Crysis har helt ok AI, men ikke god. Husker soldatene i Half-Life når det først kom i 1998, ble sykt imponert over hvor smarte de var, brukte cover, kastet granater og flanket!

 

Det aller første F.E.A.R. hadde faktisk innmari god AI, og sannsynligvis den beste jeg kan huske å ha vært borti. Soldatene jobba faktisk på spreng for å overrumple deg, og tok stadig vekk nye veier. Jeg kan ikke huske å ha sett lignende.

 

Synd, for jeg er enig med Enceladus, jeg ønsker meg jevnt over bedre AI.

Lenke til kommentar

Rage har temmelig god AI, ihvertfall på fiender. Eksemplet med Skyrim og bøtta på hodet er både logisk og ulogisk. Logisk fordi ei bøtte hindrer sikten, og NPCer har jo en field of vision. På den andre siden er det ulogisk at en person som får ei bøtta over hodet ikke merker det. Og tar den av :p Men rent generelt er Skyrim et for stort spill til at AIen kan være enda mer detaljert. Det kommer nok sannsynligvis i senere titler. Men for nå er dette sannsynligvis det beste man får til av den balansen som må til.

Lenke til kommentar

 

 

Samtidig kan en veldig intelligent boss bli urettferdig god også. I motsetning til spilleren kan f.eks. en datakontrollert spiller kjenne til spillverdenen 100%, den skjønner spillereglene til punkt og prikke, kjenner til hver minste lille avkrok, vet nøyaktig hvor alle objekter befinner til enhver tid, vet nøyaktig hvordan fysikken fungerer etc.

Jeg vil ikke si at dette er eksempel på god AI. Jeg vil tro alle utviklere er i stand til å programmere fiendene i spillene sine til å skyte deg i hodet så fort de har klar skuddlinje. Det er jo et eksempel på en motstander som kjenner spillereglene til punkt å prikke, som du sier, men er det god AI?

 

Nei, god AI i denne sammenhengen er vel å være mest mulig menneskelig. Med andre ord må ikke CPU-motstanderen ha mer informasjon om situasjonen enn spilleren, f.eks. hvor mye den kan se og høre. Den bør heller ikke reagere unaturlig raskt og f.eks. ta headshot 1 hundredel etter den har oppdaget spilleren.

 

 

Ikke at jeg kan noe om AI-programmering, men GPGPU-er og massevis av kjerner i framtiden kan vel hjelpe til en del? AI-prosedyrer er vel stort sett binære trestrukturer av handlinger man kan parallellisere ganske bra?

 

AI-en må jukse. Dersom fiendane i Mass Effect og mine eigne folk skulle blitt styrt kun etter kva dei såg og høyrde so ville eg ha skutt alt som rørte seg før det hadde reagert. Dette er rett og slett fordi ei datmaskina starter frå 0 kver gang den tar ein beslutning (den har ingen impulsar), den kan ikkje gjer som oss og ta opp ein plan for deretter å bytte midtveis. Dette krever i so fall at den på nytt analyserer situasjonen utfrå no-situasjonen. Dette virker sømløst dersom den har ferdiglagde waypoints, uten ville det tatt sabla lang tid. det handler berre om å få den til å jukse på ein tilfeldig og menneskelig måte. At ikkje alle AI units handlar likt er då utruleg viktig for å unngå dette. Stort sett alle spel kan utnyttast sidan alle AI units har samme svakheit.

 

Eg har faktisk ofte tenkt på å lage to AI-ar eller fleire AI-ar som utfylle kvarandre sine svakheite men handla uavhengig av kvarandre. Dette burde jo redusert antallet exploits betydeleg.

 

Det utlimate målet burde jo være å lage fleire AI-ar som lærer for deretter å køyre dei på ei eller fleire supermaskiner i eit år eller to berre for å forbetre dei. Det er jo ein kar (som eg ikkje hugser kva heiter i farten) som har laga ein eigen turnering for sjakk bottar der han speler dei mot kvarandre. Ganske artigt konsept sjøl om eg ikkje hugsa ka turneringa heiter akuratt no.

Lenke til kommentar

Forumbrukeren Enceladus ergerer seg over treg AI-utvikling.

But then he took an arrow to the knee...

 

F.E.A.R. må vel være det spillet jeg har latt meg imponere mest over. Der klarer soldatene å være overbevisende i kamp, men de slipper jo tross alt å føre en dialog med spilleren på samme måte som man må i f.eks. Skyrim. Slik jeg ser det så er det spill som Skyrim som virkelig sliter med å ha en overbevisende A.I. nettopp fordi NPCene må samhandle mye mer med spilleren enn f.eks. soldater som bare hopper i dekning og skyter vilt etter deg samtidig som de handler ut i fra hvor du befinner deg og hvilken vei man ser. I grunn er ikke A.I. fra F.E.A.R. så vanvittig avansert, men den virker akkurat slik den skal. Det samme kan jeg dessverre ikke si om spill som bruker AI for å samhandle med spilleren.

Endret av Nedward
Lenke til kommentar

Forumbrukeren Enceladus ergerer seg over treg AI-utvikling.

But then he took an arrow to the knee...

 

F.E.A.R. må vel være det spillet jeg har latt meg imponere mest over. Der klarer soldatene å være overbevisende i kamp, men de slipper jo tross alt å føre en dialog med spilleren på samme måte som man må i f.eks. Skyrim. Slik jeg ser det så er det spill som Skyrim som virkelig sliter med å ha en overbevisende A.I. nettopp fordi NPCene må samhandle mye mer med spilleren enn f.eks. soldater som bare hopper i dekning og skyter vilt etter deg samtidig som de handler ut i fra hvor du befinner deg og hvilken vei man ser. I grunn er ikke A.I. fra F.E.A.R. så vanvittig avansert, men den virker akkurat slik den skal. Det samme kan jeg dessverre ikke si om spill som bruker AI for å samhandle med spilleren.

 

Synes faktisk ikke AI'en i HL2 er så verst :) mtp Alyx og fks, de gjør en god nok jobb der.

Lenke til kommentar
Gjest Slettet+513

Beste spill-Aien jeg har sett er vel i GTA 4. GTA 5 blir vel ikke dårligere på kunstig intelligens.

 

GTA Aien er helt klart smartere enn det jeg har sett i feks Skyrim.

Endret av Slettet+513
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...