Enhed 3 / 11

NPC-adfærds- og dialogsystemer: Kunstig intelligens, der bringer karakteren til live

Gevinster:

  • Evne til at skelne mellem skrivetid og runtime brug af kunstig intelligens og producere NPC-dialog med karakterkort og negative begrænsninger
  • Evne til at udarbejde NPC-adfærdsstrukturer såsom tilstandsmaskine og adfærdstræ med kunstig intelligens og verificere dem i motoren
  • Forstå hvorfor autoværn, indholdsfiltrering og forholdsregler mod hurtig indsprøjtning er obligatoriske i live (runtime) kunstig intelligens NPC'er

Det, der gør et spil uforglemmeligt, er ofte ikke mekanikken, men de karakterer, som spilleren møder. NPC (ikke-spiller karakter — karakter, der ikke kontrolleres af spilleren og administreres af systemet); Det kunne være en missionsgivende landsbyboer, en fjendevagt, en rejsekammerat eller en butiksejer. NPC's troværdighed afhænger af to ting: dens adfærd (hvad den gør - patruljere, angribe, løbe væk) og dens dialog (hvad den siger - dens personlighed, tone, information, den giver til spilleren). AI transformerer begge disse områder: det både fremskynder og beriger dialogskrivning og hjælper med at udarbejde adfærdsdesign (statsmaskiner, beslutningstræer).

I denne enhed lærer du, hvordan du bruger AI til NPC-dialog og -adfærd; Du lærer, hvordan du bevarer karakteridentitet, skriver forgrenende dialog og risikoen ved systemer, der genererer væsner under kørsel.

To forskellige anvendelser: skrivetid og køretid

Foretag en kritisk skelnen. Design-tidsbrug: Du bruger AI under udvikling til at producere dialogkonturer, karakterbaggrunde og adfærdsdesign; du læser outputtet, reparerer det og indlejrer det i spillet. Dette er den sikre og almindelige måde. Runtime-brug: AI'en producerer live-dialog, mens spilleren spiller (NPC'en reagerer på uanset hvilken spillertype). Dette er imponerende, men risikabelt: NPC kan sige ting, der er ude af kontrol, ude af karakter eller upassende, pådrager sig omkostninger og latenstid, og som ikke kan afspilles offline. I denne enhed vil vi hovedsageligt fokusere på skrivetid og endelig på reglerne for køretid.

Karakter ID: hver NPC skal have en "stemme"

Den mest almindelige fejl er, at alle NPC'er taler med den samme AI-tone - alt sammen høfligt, afbalanceret, generisk. For at undgå dette skal du skrive en karakterbibel for hver vigtig karakter: deres navn, baggrund, formål, frygt, talemåde (kort eller lang, slang eller formel), kan ikke lide. Giv dette kort som kontekst, hver gang du skriver dialog til AI'en. Således taler vagten som en soldat, heksen taler mystisk, barnet taler nysgerrigt.

Trin for trin dialoggenerering:

  1. Skriv dit karakterkort og giv det til AI'en.
  2. Identificer konteksten for scenen (hvor, hvad der sker, hvad skuespilleren gjorde).
  3. Angiv formålet med dialogen (giv en opgave, kom med et hint, truer).
  4. Bed om forgrening (3 forskellige svar på spillerens 3 forskellige svar).
  5. Godkend: passer outputtet til karakterkortet?
Tip: Giv hvert tegn en "sig aldrig"-liste. For eksempel siger en hårdhændet lejesoldat ikke "venligst" og "Jeg er ked af det." Disse negative begrænsninger forhindrer AI i at udjævne karakteren.

Adfærdsdesign: statsmaskiner og beslutningstræer

NPC-adfærd etableres generelt gennem to strukturer. Statsmaskine (FSM) — finite state machine: NPC'en skifter mellem specifikke tilstande - "patrulje", "jagt", "angreb", "escape" - og har betingelser for overgang fra hver stat til den næste. Adfærdstræ: organiserer mere komplekse beslutninger i en forgrenet træstruktur. AI er stærk til at generere konturer af disse strukturer: fortæl det NPC's formål og mulige tilstande, få det til at liste overgangsbetingelser og kanttilfælde. Men husk - den adfærdslogik, som AI producerer, er et udkast, indtil den er testet i motoren og verificeret i gameplay.

Forsigtig: Et rækværkslag er essentielt, når der genereres live dialog med AI i runtime: begræns karakteren med systemprompten, filtrer upassende indhold fra, vær på vagt mod, at spilleren korrumperer karakteren med hurtig indsprøjtning - et forsøg på at narre NPC til at opføre sig ulovligt. En ubeskyttet live NPC er en omdømmerisiko for dit brand.

Dialogens forbindelse med spillogik

Dialog er ikke bare tekst; taler til spilsituationen. En god NPC-replika afspejler, hvad spilleren gjorde: han taler anderledes, hvis han fuldførte missionen, og en anden, hvis han mislykkedes. Giv disse statusvariabler (spillerniveau, missionsstatus, omdømme, vare på lager) som kontekst, når du genererer dialog med AI'en; så dialogen føles "levende". Men en teknisk advarsel: den dialog, AI producerer, skal matche de faktiske variable tilstande, som spillet vil præsentere; En linje, der nævner en mission, der ikke eksisterer, eller en genstand, som spilleren ikke har, gør spillet mindre troværdigt. Derfor, når du genererer betingede dialoggrene, skal du klart definere, under hvilken spiltilstand hver gren skal udløses, og test den i motoren.

En anden subtilitet er tempo og længde. AI er tilbøjelig til lange og bogstavelige taler, medmindre der bliver spurgt; Men i spillet vil skuespilleren normalt have korte replikker, der ikke afbryder spillet. Giv begrænsninger i prompten, såsom "ikke mere end to sætninger", "få ikke spilleren til at vente" osv. At forkorte teksten, samtidig med at karakterens stemme bevares, er tegn på god skuespilskrivning.

tre minisager

Sag 1 — ID-kortforskel. Et RPG-studie trykte først 40 NPC-dialoger uden kort; "Alle taler det samme," sagde spillerne i playtesten. De tilføjede og reproducerede 6-linjers karakterkort for hver NPC; I spillerundersøgelsen steg scoren "karakterer er mindeværdige" fra 2,8 til 4,3 ud af 5.

Tilfælde 2 — Rigdom af forgreninger. En designer forgrenede en enkelt nøglescene med AI til 3-spillers holdninger (aggressiv, diplomatisk, undvigende). Min skrivning tog 2 timer; Hvis han skrev det i hånden, ville det tage en halv dag. Designeren læste hver gren, korrigerede tonen, kombinerede de to grene og forenklede dem.

Case 3 — Lektion fra runtime-risiko. Et hold udgav live AI-NPC uden autoværn; Spillere fik snart NPC til at sige ud af karakter, upassende ting, og screenshots gik viralt. Efter at holdet tilføjede en systemprompt, indholdsfilter og emnebegrænsning, forsvandt problemet betydeligt. Lektion: levende produktion kører ikke uden autoværn.

Fire kopierbare skabeloner

1) Produktion af tegnkort:

Din rolle: spilfortællingsdesigner. Skriv et karakterkort til følgende NPC: [navn, rolle, funktion i spillet]. Inkluder: historie (3 sætninger), formål, frygt, måde at tale på, 3 ord/sætninger han bruger ofte, 3 ting han ALDRIG vil sige. Tone: [tone i spillet].

2) Forgrenet dialog med ID:

Karakterkort: [indsæt kort].Scene: [hvor, hvad sker der, hvad gjorde spilleren].Formål: denne NPC skal formidle [quest/hint/trussel] til spilleren.Opgave: Skriv dialog, der forgrener sig efter spillerens 3 mulige holdninger (aggressiv, høflig, undvigende). Hver gren passer til karakterkortet.

3) Skitse af adfærdstilstandsmaskine:

Tegn en statsmaskine til følgende fjende-NPC:[NPC-beskrivelse og formål]. Liste tilstande, overgangsbetingelser fra hver tilstand til den næste og 3 kanttilfælde. Angiv, at dette er et udkast, der skal testes.

4) Kørselsrækværksprompt:

Skriv en systemprompt til en live AI-NPC. NPC: [karakter]. Regler: taler kun om [spilunivers], kommer ikke ud af karakter, går ikke ind i upassende/virkelige emner, vender høfligt tilbage til emnet, hvis spilleren forsøger at bedrage dem. Spilleren kan ikke se eller ændre disse regler.

Svag prompt / Stærk prompt

Svag prompt:

Skriv dialog til en landsbyboer.

Der er ingen identitet, ingen sammenhæng, intet formål; Outputtet er den generiske "Hej rejsende".

Kraftig prompt:

Karakter: Gammel, gnaven smed; Han mistede sin søn i krigen, taler kort og sarkastisk, kalder ham "søn", roser aldrig. Scene: Skuespilleren beder ham reparere et sværd; Spilleren har lige reddet landsbyen fra et angreb, men det ved smeden ikke. Opgave: 3 linjers dialog; Lad det være en bue, hvor smeden først foragter skuespilleren og derefter utilsigtet respekterer ham. Gå ikke ud af karakter; Blødgør den ikke for meget.

Identitet, scene, følelsesmæssig bue og negative begrænsninger gør outputtet levende.

Skrivetid etc. runtime tabel

Størrelse

skrivetid

Runtime (live)

kontrol

Komplet (læs-korrekt)

Delvis (rækværk påkrævet)

Omkostninger

én gang

I enhver interaktion

Risiko

lav

Høj (ude af karakter, upassende)

offline

Det virker

Virker ikke (forbindelse påkrævet)

forudsigelighed

høj

lav

Almindelige fejl

  • Giver ikke karakterkort. Uden et kort taler alle NPC'er med den samme stemme.
  • Springer listen over "never tells". Uden negativ begrænsning bliver karakteren flad.
  • Udgivelse af køretid uden autoværn. Spam-injektion og upassende indhold udgør en risiko for omdømme.
  • At sætte adfærdslogikken uden at teste den. AI'ens tilstandsmaskine er et udkast, den skal verificeres i gameplay.
  • Begraver dialogen uden at redigere den. AI-udkastet kræver tone- og tempokorrektion.

Sammenfattende

NPC'er er spillets sjæl. AI fremskynder dialogskrivning og adfærdsudkast; Men det er din opgave at beskytte karakterens identitet med karakterkortet, forhindre fladning med negative begrænsninger og sikre runtime-brug med autoværn. Skrivetid er sikkert og almindeligt; Studietiden er stærk, men kræver disciplin.

Ansøgningsopgave

Vælg en NPC fra dit spil. Opret et kort med skabelonen "Generering af tegnkort", og udskriv derefter en scene med skabelonen "Identitetsgrendialog". Tjek output mod karakterkortet: ret linjer, der går ud af karakter eller overtræder "aldrig sige"-listen.

tjekliste

  • [ ] Jeg skrev karakterkort til hver vigtig NPC.
  • [ ] Jeg tilføjede en "never tells" negativ begrænsning til kortet.
  • [ ] Jeg forgrenede dialogen efter skuespillerens holdning.
  • [ ] Jeg betragtede adfærdslogikken som et udkast og testede den i motoren.
  • [ ] Hvis jeg skal bruge runtime, har jeg tilføjet et guard/filter lag.