Finite State Machine: Hur det har påverkat ditt spel i över 40 år

Författare: Laura McKinney
Skapelsedatum: 4 April 2021
Uppdatera Datum: 24 Juni 2024
Anonim
Finite State Machine: Hur det har påverkat ditt spel i över 40 år - Teknologi
Finite State Machine: Hur det har påverkat ditt spel i över 40 år - Teknologi

Innehåll


Hämtmat:

AI är inte en ny teknik, utan helt enkelt en teknik som äntligen har hittat ett sätt att övervinna sina gränser och nå sin fulla potential ... särskilt med videospel.

Artificiell intelligens (AI) är en av de senaste tekniska trenderna och det är definitivt en av teknikerna med den högsta revolutionerande kraften. Men som vi förmodligen har nämnt så många andra gånger redan, är AI inte en ny teknik, men helt enkelt en teknik som har till sist hittade ett sätt att övervinna dess gränser och nå sin fulla potential.

I själva verket är ett av områdena för datavetenskap där den första mer eller mindre rudimentära AI har använts åtminstone sedan början av 80- och 90-talet ... Tja, bara videospel.

För att säga sanningen kan vi till och med hävda att de första praktiska applikationerna av finit state machine (FSM) AI är nästan lika gamla som videospel, eftersom till och med den allmänt populära ”Pac Man” använde en av de klassiska beräkningsmodellerna (mer om detta senare).


Nästan alla spel vi brukade spela, och många av de moderna spelen vi fortfarande spelar använder FSM-baserade AI. Det används inte bara för att generera något trovärdiga interaktioner mellan spelaren och de andra karaktärerna, utan också för att implementera andra kritiska element i spelutveckling, såsom grafiskt användargränssnitt (GUI), inmatningshantering, spelarkontroller och progression genom historien. (Läs hur används konstgjord intelligens i videospel?)

Så stanna hos mig och tillsammans kommer vi att borra under jordskorpan för att ta reda på hur FSM hittills har påverkat vår spelupplevelse.

Men se upp! Gör dig redo för höga nivåer av popkulturnostalgi!

Vad är en Finite State Machine?

En FSM är en abstrakt beräkningsmodell som kan existera i ett tillstånd i taget (nuvarande tillstånd), valt från ett ändligt val av värden. Med andra ord, varje stat är unikt och ömsesidigt exklusivt och därför ändlig. Ingångar signal när maskinen kan växla från initialtillstånd till nästa i en processdefinierad övergång.


Det mest kända exemplet är kanske trafikljuset. Det kan vara grönt, gult eller rött, men aldrig mer än en åt gången. När en förbipasserande trycker på knappen (ingången) kommer den att övergå från grönt till gult och sedan från gult till rött. Efter en tid kommer det att återgå till grönt och slutföra en cykel. (Läs hur används en finite state-maskin i artificiell intelligens?)

Inga buggar, ingen stress - din steg-för-steg-guide för att skapa livsförändrad programvara utan att förstöra ditt liv

Du kan inte förbättra dina programmeringsfärdigheter när ingen bryr sig om mjukvarukvalitet.

Resultatet är en otroligt enkel men elegant modell som ger alla svar som behövs av de flesta spelutvecklare, särskilt eftersom det är tillräckligt enkelt att det till och med kan användas utan programmering. Spelfunktioner kan implementeras genom att schemaera FSM: er i direkta diagram - ett enkelt och förståeligt format som lätt kan omvandlas igen till tillståndstabeller.

FSM har använts i årtionden för att modellera anständiga AI på resursbegränsade plattformar, till exempel de tidiga spelkonsolerna på 70-, 80- och 90-talet, liksom de enklare handhållna spelen från samma ålder som Tiger-spelen.

Hur används FSM: er i videospel?

Förmodligen den mest uppenbara och mest använda implementeringen av FSM: er i videospelindustrin är skapandet av rudimentära effektiva AI. Ett begränsat tillstånd kan användas för att definiera viss icke-spelbar karaktär (NPC) beteende, såsom attack, roaming eller springa. (Läs de viktigaste trenderna inom spel.)

Som vi nämnde tidigare användes FSM för att kontrollera uppförandet av Pac Mans spöken. De kunde bara ha ett driftsläge åt gången, nämligen jakt, jagad, död eller väntar på att återuppstå. I senare, mer moderna spel sprutades någon fuzzy logik på en solid grund av FSM för att lägga till lite oförutsägbarhet och få karaktärer att känna sig mindre robotiska och styva.

Till exempel i stealth-baserade actionspel som den odödliga "Commandos", "Assassin's Creed" eller den populära "Metal Gear" -franchisen, när en fiende upptäcker spelaren, kommer han att övergå från viloläget till den varnade. Efter några sekunder, om spelaren inte gömmer sig på en säker plats igen, kommer NPC att börja aktivt söka efter honom genom att växla till ett aggressivt tillstånd.

Slumpmässigheten här kan bara hittas på fiendens vägar när de strövar omkring, eller deras beslut att använda ett vapen snarare än det andra. Det är FSM AI på sitt bästa, och du kan antagligen hitta det i kärnan i ännu mer komplexa och intelligenta beteenden, såsom de som visas av - men definitivt inte den enda iterationen av - denna matematiska modell.

FSM för gränssnitt, gränssnitt och kontroller

FSM: er är oerhört enkla och kan användas som ramverk som stödjer alla spelarkontroller och hantering. Tänk på ett plattformsspel som "Super Mario Bros. 2." Din karaktär kan antingen stå eller huka sig, men aldrig båda samtidigt.

Efter att karaktären har hukat sig under en tid kommer han eller hon att övergå till laddningstillståndet och börjar blinka - ett särskilt tillstånd som ökar din hopphöjd. På samma sätt är alla de olika power-ups som används av Mario i "Super Mario Bros. 3", som eldblomman, superbladet och Starman, ingenting annat än stater som aktiverar huvudpersonens transformationer (Fire Mario, Raccoon Mario eller Invincible Mario).

Samma logik tillämpas på andra former av speltillstånd, till exempel huvudmeny, pausad, laddning, spela och avsluta. Även spel som innehåller olika spellägen som "Minecraft" som har Survival, Creative, Adventure, Spectator och Hardcore-lägen använder FSM för att växla från ett läge till det andra.

Bokstavligen alla funktioner som består av ett fast tillstånd är byggda genom ett FSM-system. Till exempel, om ett spel har ett vädersystem (regn, snö, sol, etc.), dag / nattcykler, säsongscykler, ovan kontra underjordiska tillstånd - ja, med rimlig sannolikhet kontrollerar en FSM var och en av dem. Tänk på alla skillnader i rörelseshastighet, eller attack- och försvarsbonusar när du navigerar på olika terrängen i "Heroes of Might & Magic" -franchisen, eller när du rör dig över och under marken i "Age of Wonders 3".

FSM i äventyrsspel och RPG

FSM har varit en grundläggande komponent i alla RPG / äventyrsspel sedan deras första början. Till exempel kontrollerar de alla sekvensiella dialoger i äldre skoläventyrspel som "The Curse of Monkey Island", "Rex Nebular and the Cosmic Gender Bender" eller "Leisure Suit Larry" -serien. FSM: er kan också användas för att skapa komplexa och mycket grenade berättelser.

När spelaren går igenom berättelsen kan han göra olika val som öppnar upp en väg medan han stänger en annan.

Andra element i spelet kan också påverkas av dessa val, som spelarens statistik, dialogresultat och typer av fiender som stöds på och är vanligtvis associerade med flera slutningar. Tidigare pionjärer av denna typ av olinjär berättelse inkluderar stora namn som "Chrono Trigger" och "Fallout."

Men den här typen av spel har överlevt under årens lopp och finns även i moderna berättelserika spel som "Mass Effect" och det populära indie-spelet "Undertale."

Vad vi har lärt oss

Om du är teknisk buffé eller expert på informationsteknik finns det en stor chans att du växte upp med att spela videospel mycket. Nu när du har läst den här artikeln har du upplevt FSM-modeller från första hand. I själva verket, förutom att njuta av denna nostalgi-resa, bytte du bara från det okunniga till det upplysta läget!

Du kommer förmodligen att behöva fokusera bara några sekunder för att upptäcka en FSM-kontrollerad funktion i nästan alla spel du har spelat hittills, och förmodligen i de flesta spel du kommer att spela i framtiden.