Spel artificiell intelligens

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 februari 2014; kontroller kräver 39 redigeringar .

Spel artificiell intelligens är en  uppsättning mjukvarutekniker som används i datorspel för att skapa en illusion av intelligens i beteendet hos datorstyrda karaktärer . Game AI, förutom metoderna för traditionell artificiell intelligens , inkluderar också algoritmer för kontrollteori , robotik , datorgrafik och datavetenskap i allmänhet.

Implementeringen av AI påverkar i hög grad gameplay , systemkrav och budget för spelet, och utvecklare balanserar dessa krav och försöker göra intressant och resurssnål AI till en låg kostnad. Därför skiljer sig inställningen till spel AI på allvar från inställningen till traditionell AI - alla möjliga förenklingar, bedrägerier och emuleringar används ofta . Till exempel: å ena sidan, i förstapersonsskjutare, ger den felfria rörelsen och omedelbara siktningen som är inneboende i bots ingen chans för en person, så dessa förmågor reduceras på konstgjord väg. Å andra sidan måste bots gå i bakhåll, agera som ett lag, etc., för detta används "kryckor" i form av kontrollpunkter placerade på nivån.

Citat

Huvuduppgiften för AI är inte att vinna mot spelaren, utan att överlämna sig till honom vackert.

Timur Bukharaev, Nival [1]

Karaktärerna i datorspel som kontrolleras av spelets artificiella intelligens är indelade i:

Historik

Ursprungligen var datorspel och gameplay inom forskningsområdet för olika forskare. År 1951, med hjälp av Ferranti Mark I , världens första kommersiellt tillgängliga dator, vid Manchester University skrev Christopher Strachey ett program som spelade dam , och Dietrich Prinz skrev ett program för schack [3] . Dessa var några av de första datorprogrammen som någonsin skrivits. Draftsimulatorn, utvecklad av Arthur Samuel i mitten av 50-talet och början av 60-talet, uppnådde så småningom tillräckligt med skicklighet för att utmana världsmästaren [4] . Arbetet med datorpjäser och schack kulminerade 1997 när Deep Blue vann en schackmatch mot världsmästaren Garry Kasparov på det tredje försöket [5] .

En generalisering av sådana program är universella spelprogram som kan fungera som en partner i ett antal logiska spel, vars regler måste beskrivas på ett speciellt deklarativt språk , ett exempel på en kommersiell implementering av detta tillvägagångssätt är spelet Zillions of Games .

De första datorspelen utvecklades på 1960-talet och början av 1970-talet, som Spacewar! , Pong och Gotcha (1973), var spel byggda på diskret logik och strikt fokuserade på konkurrens (kamp) mellan två spelare utan AI.

Spel som innehöll ett enspelarläge och datorrivaler började dyka upp på 1970-talet. De första anmärkningsvärda spelen var arkadspelen Qwak (andjakt) och Pursuit (kampsimulator). Två textbaserade datorspel från 1972, Hunt the Wumpus och Star Trek , gav också datorrivaler .  Fiendens rörelse var baserad på förbevarade mönster.

Arkadspelet Space Invaders från 1978 hade en varierande svårighetsnivå, distinkta rörelsemönster och händelser i spelet beroende på hash-funktioner baserade på spelarens input. Arkadskjutaren Galaxian (1979) presenterade mer komplexa och varierande fienderörelser.

Det populära arkadspelet Pac-Man (1980) applicerade dessa mönster på spelets labyrint, samt lade till skillnader för varje fiende. Karate Champ (1984) lade till liknande beteenden till fightingspel , även om dålig spel-AI drev på en andra version av spelet.

Spel som Madden Football , Earl Weaver Baseball och Tony La Russa Baseball byggde sin AI kring att försöka replikera träningen eller hanteringen av en utvald kändis på en dator. Spelutvecklingsteamen Madden, Weaver och La Russa har gjort ett omfattande arbete för att maximera noggrannheten i dessa spel. Nyare sportspel har tillåtit användare att "justera" variabler i spelets AI för att skapa en spelardefinierad organisations- eller träningsstrategi.

Framväxten av nya spelgenrer på 1990-talet sporrade användningen av formella AI-verktyg som finita tillståndsmaskiner . Realtidsstrategier ( eng.  RTS ) sätter många nya uppgifter för spelets artificiella intelligens: ofullständig medvetenhet, hitta en väg, fatta beslut i realtid och ekonomisk planering [6] . De första spelen i denna genre hade kända problem. Till exempel, i en av Herzog Zweis tidiga strategier , var vägsökning nästan bruten, och i Dune II var mycket viktiga tretillståndsmaskiner för att kontrollera enheter trasiga, vilket fick datormotståndare att fungera felaktigt. Efterföljande spel i genren har haft mycket bättre spel-AI.

Nyare spel har använt icke-deterministiska AI-tekniker, allt från den första användningen neurala nätverk i 1996 års spel Battlecruiser 3000AD till oförutsägbart beteende och utvärdering spelarnas handlingar i spel som Creatures och Black & White

GoldenEye 007 (1997) var ett av de första first-person shooter-spelen där spelrobotar reagerade på spelarens rörelser och handlingar, och även använde cover och rolled för att undvika att komma in i dem. Botarna var också kapabla att kasta handgranater vid rätt tidpunkt. Senare förbättrade skaparna av detta spel spelets AI i Perfect Dark . En viktig brist i spelets AI i båda spelen var att botarna alltid visste var spelaren var exakt, även om ingen av dem såg honom.

Halo (2001) innehöll ett spel AI som kunde använda fordon och som hade grundläggande laghandlingsprinciper. Botarna kunde känna igen hot som kastade granater och framryckande fiendefordon, och kunde följaktligen flytta ut ur farozonen som skapas av dessa hot.

First-person shootern Far Cry (2004) innehöll mycket avancerad spel-AI för sin tid, dock inte utan buggar. Fiender kan reagera på spelarens spelstil och försöka omge dem när det är möjligt. I kampen mot spelaren använde robotarna riktig militär taktik. Fiender hade inte "fuskande" AI i den meningen att de inte visste den exakta platsen för spelaren, utan bara agerade enligt positionen de kom ihåg.

Ett betydande bidrag till utvecklingen av spelets AI gjordes av first-person shootern FEAR , som släpptes av Monolith Productions 2005. För sin tid innehöll den en väldigt "avancerad" AI, som mottogs mycket positivt av alla spelrecensenter och analytiker. Strid i spelet äger rum inomhus; robotar arbetar i ett lag, använder miljön som skydd, tillämpar olika taktiker på spelaren beroende på situationen, stormar, drar sig tillbaka, kallar på förstärkning, använder granater för att ”röka ut” spelaren, reagerar adekvat på granater som kastas av spelaren [7] .

Datorrollspelet The Elder Scrolls IV: Oblivion använde ett ganska komplext spel AI för icke-spelare. NPCs uppges ha ett schema dygnet runt och följa sina egna mål på sina egna vägar, men NPC:er kan ibland ses stå på samma plats i timmar i sträck (bartender i baren på natten när det inte finns några kunder). Ja, de äter, sover och utför sina dagliga uppgifter. Händelser som händer i spelet kan förändra deras dagliga rutin och beteende. De kan förändras från bra stadsbefolkning till dödliga mördare.

Det PC PC-exklusiva spelet STALKER: Shadow of Chernobyl , som släpptes i mars 2007, hade ett ganska komplext spel AI som utvecklarna kallade "A-Life". Detta system började utvecklas sedan 2002, men i den slutliga versionen av spelet var de flesta funktionerna i "A-Life" "klippta ut". Delvis "A-Life" slutfördes i spelet " STALKER: Clear Sky " 2008. Mer information om spelets AI i dessa spel kan hittas här [8] .

Online-co-op first-person shootern Left 4 Dead (2008) använder ett nytt AI-system i spelet som heter "The Director " [ 9 ] .  "Director" används för att procedurmässigt generera en annan spelupplevelse för spelarna varje gång spelet startas. Utvecklarna av spelet hänvisar till hur regissören fungerar som "Procedural Narrative ". Istället för stela och statiska svårighetsnivåer analyserar "Regissören" spelarnas handlingar och "överlevnadsgrad" och lägger dynamiskt till efterföljande händelser i enlighet med detta, vilket gör spelet intressant, men också acceptabelt. Men tillsammans med "Director" i spelet finns det också svårighetsgrader som påverkar hållbarheten och graden av skada på spelkaraktärerna [10] [11] .

Spelets artificiella intelligens fortsätter att utvecklas med målet att nå en sådan nivå att spelaren inte kan skilja mellan en datormotståndare och en mänsklig.

Visningar

Vissa spelprogrammerare betraktar vilken teknik som helst som används för att skapa en illusion av intelligens som en del av spelets AI. Denna uppfattning är dock kontroversiell, eftersom den inkluderar tekniker som används ofta utanför spelets AI-motor. Till exempel är information om potentiella framtida kollisioner en viktig input till algoritmer som hjälper till att bygga bots som är smarta nog att undvika kollisioner med objekt. Men samma kollisionsdetekteringstekniker är en nödvändig och en av de viktigaste komponenterna i en fysikmotor . På liknande sätt är resultaten av en bots testriktning av sikte ( en:Line of sight (gaming) ) vanligtvis viktiga indata i en bots siktningssystem; dessa data används dock i stor utsträckning vid rendering i en grafikmotor . Ett sista exempel är scripting , som kan vara ett praktiskt verktyg för alla aspekter av spelutveckling, men som ofta är starkt förknippat med att kontrollera beteendet hos NPC:er.

Purister tror att uttrycket "artificiell intelligens" i termen "artificiell intelligens" är en överdrift, eftersom spel-AI inte beskriver intelligens och använder få av grenarna av den akademiska vetenskapen "Artificiell intelligens". Medan "riktig" AI adresserar grenar av självlärande system och beslutsfattande som är baserade på godtycklig datainmatning, och till och med det slutliga målet med "stark" AI som kan resonera, består spel-AI ofta av några få tumregler och heuristik . som är tillräckligt för att ge spelaren ett bra spelupplägg, känsla och upplevelse av spelet.

Spelutvecklarnas ökande förståelse för akademisk AI och det växande intresset från den akademiska världen för datorspel väcker frågan om hur och i vilken utsträckning spel AI skiljer sig från klassisk AI. Betydande skillnader mellan olika tillämpningsområden för artificiell intelligens gör dock att spel-AI fortfarande kan betraktas som ett separat delområde av AI. Särskilt förmågan att legitimt lösa vissa AI-problem i spel genom bedrägeri gör en viktig skillnad. Att till exempel sluta sig till positionen för ett osynligt föremål från tidigare observationer kan vara ett svårt problem när AI tillämpas på robotik, men i datorspel kan en NPC helt enkelt slå upp positionen i spelgrafen ( en:Scene graph ). Sådant bedrägeri kan leda till orealistiskt beteende och är därför inte alltid önskvärt. Men dess förmåga att särskilja spel-AI leder till nya problem, som när och hur man använder bedrägeri.

Användning

Heuristiska algoritmer för spelets artificiella intelligens används i många olika branscher inom spelet. Den mest uppenbara användningen av spel AI är i kontrollen av NPC:er, även om scripting också är en mycket vanlig form av kontroll. Pathfinding är en annan utbredd användning av spel AI, särskilt i realtidsstrategispel. Pathfinding är en metod för att bestämma hur en NPC ska förflytta sig från en punkt på kartan till en annan: terräng, hinder och eventuellt " krigsdimma " måste tas med i beräkningen. Game AI är också relaterat till dynamisk spelbalansering .

Begreppet emergent  AI har utforskats[ av vem? ] i spel som Creatures, Black & White och Nintendogs , och i leksaker som Tamagotchi . "Husdjuren" i dessa spel har förmågan att "lära sig" av de handlingar som spelaren vidtar och deras beteende förändras därefter. Även om dessa lösningar är hämtade från en begränsad uppsättning möjliga lösningar, ger det ofta den önskade illusionen av intelligens på andra sidan av skärmen.

Fuska AI

I spel där spelarens kreativitet är viktig kan AI inte slåss på lika villkor som en människa. För att utjämna chanserna använder de fusk eller vilseledande AI.

Den vilseledande AI:n kompenserar för bristen på strategiskt tänkande med några andra fördelar gentemot spelaren. Till exempel: fler liv , snabbare rörelser eller ignorera krigets dimma [12] . Begreppet "fusk" används endast i förhållande till privilegier av artificiell karaktär: till exempel omänsklig reaktion, snabbhet och precision som är inneboende i datorer anses inte vara fusk [12] .

Citat

Du kan läsa den, men du kan inte se den. Det är bättre att göra många små fusk än ett stort.

Timur Bukharaev, Nival [1]

Naturligtvis har datorn alltid en fördel framför människan - människan måste förlita sig på syn och hörsel med sina begränsningar, medan datorn har direkt (om än begränsad) tillgång till motorns abstraktioner . "True" spel AI måste ha och använda visuella bearbetningsalgoritmer, men att återskapa mänsklig vision är för närvarande ett ouppnåeligt mål för maskinseendesystem.

Nedan är ett vanligt exempel på fuskspel AI som finns i många racingspel . Om AI-spelaren hamnar tillräckligt långt bakom mainstream-åkarna får de plötsligt en enorm fartökning eller annan statistik som gör att de kan komma ikapp andra åkare och bli konkurrenskraftiga igen. Denna metod är känd som "rubber banding " eller Catch-Up eftersom den tillåter AI-karaktären att omedelbart hoppa tillbaka till en konkurrenskraftig position. En liknande metod används också i sportspel som Madden NFL -serien. I mer avancerade spel kan konkurrenskraften hos NPC:er eller botar uppnås genom dynamisk spelbalansering, som kan anses vara mer rättvis, men fortfarande tekniskt fusk, eftersom AI-spelare fortfarande drar nytta av även om de följer reglerna i den virtuella världen.

Flera NPC:er slåss mot varandra

AI infighting , monster infighting är en  term som populariserats av förstapersonsskjutare som Doom som släpptes på 1990-talet. Detta fenomen uppstår när två eller flera datorstyrda karaktärer av misstag attackerar varandra och sedan hämnar sig genom att orsaka en serie ömsesidiga attacker. Detta kan enklast uppnås genom att flytta spelarkaraktären så att han tillfälligt är i linje med två motståndare. I den här situationen kommer en bot att attackera spelaren oavsett om dennes allierade, en annan bot, befinner sig i skottlinjen, framför eller bakom det avsedda målet, vilket utsätter sin följeslagare för vänskaplig eld . En AI-karaktär som attackerades av en annan AI-karaktär av misstag kommer oftast att ändra sin status relativt angriparen till "fientlig" och kommer att attackera honom som svar, vilket möjligen får andra bots att attackera sig själva.

Detta fenomen gynnar spelaren på två sätt: det minskar antalet fiender som attackerar spelaren, och det låter spelaren spara ammunition, magiska poäng och träffa poäng . Bot friendly fire har blivit en ny aspekt av Doom, och introducerar denna aspekt för andra first-person shooters. Men i de flesta nyare first-person shooters är bots och NPC inte programmerade att hämnas om de får vänlig eld från andra AI-karaktärer.

Anteckningar

  1. 1 2 Timur Bukharaev. Artificiell intelligens i Heroes of Might and Magic V. Gamer.ru (29 september 2006). Hämtad: 21 januari 2010.
  2. OpenAI-bots vinner 99,4 % av matcherna mot människor
  3. Jack Copeland. En kort historia om  datoranvändning . AlanTuring.net (juni 2000). Tillträdesdatum: 13 februari 2018.
  4. Crevier, 1993 , sid. 58.
  5. McCorduck, 2004 , s. 480-483.
  6. Schwab, 2004 , s. 97-112.
  7. Vladimir Goryachev. FEAR recension . Absolute Games (24 oktober 2005). Hämtad: 15 mars 2009.
  8. Vitaly Kazunov (Lockust). STALKER: Clear Sky - en intervju om problemen med artificiell intelligens överlevnad i Tjernobyl-zonen . GameTech (13 juni 2008). — Intervju med Dmitry Yasenev, huvudutvecklaren av spel AI i spelet. Hämtad 14 maj 2009.
  9. Left 4  Dead . ventilbolag . Arkiverad från originalet den 18 november 2008.
  10. Left 4 Dead Hands-on  Preview . Left 4 Dead 411 . Arkiverad från originalet den 27 mars 2012.
  11. Gabe Newell. Gabe Newell skriver för  Edge . edge-online.com (21 november 2008). — "Händelserna försöker ge dem en känsla av berättande. Vi tittar på händelseförlopp och försöker ta vad deras handlingar är för att generera nya sekvenser. Om de har blivit särskilt utmanade av en sorts varelse kan vi använda den informationen för att fatta beslut om hur vi använder den varelsen i efterföljande möten. Det är detta som gör procedurberättelsen mer till en berättande enhet än, säg, en enkel svårighetsmekanism.” Hämtad 22 november 2008. Arkiverad från originalet 6 januari 2009.
  12. 12 Scott , 2002 , s. 19–20.

Litteratur

Länkar