Vienetas 3 / 11

NPC elgesio ir dialogo sistemos: dirbtinis intelektas, kuris atgaivina charakterį

Pelnas:

  • Gebėjimas atskirti rašymo laiką ir vykdymo laiką dirbtinio intelekto naudojimą ir sukurti NPC dialogą su simbolių kortele ir neigiamais apribojimais
  • Gebėjimas kurti NPC elgesio struktūras, tokias kaip būsenos mašina ir elgsenos medis su dirbtiniu intelektu ir patikrinti jas variklyje
  • Supratimas, kodėl apsauginiai turėklai, turinio filtravimas ir atsargumo priemonės nuo greito įterpimo yra privalomi tiesioginio (vykdymo) dirbtinio intelekto NPC

Žaidimą nepamirštamu dažnai daro ne mechanika, o veikėjai, su kuriais susiduria žaidėjas. NPC (ne žaidėjo personažas – veikėjas, kurio nevaldo žaidėjas ir valdo sistema); Tai gali būti užduočių teikiantis kaimo gyventojas, priešo sargybinis, kelionės draugas ar parduotuvės savininkas. NPC patikimumas priklauso nuo dviejų dalykų: jo elgesio (ką jis daro – patruliuoja, puola, bėga) ir dialogo (ką jis sako – jo asmenybės, tono, informacijos, kurią jis suteikia žaidėjui). Dirbtinis intelektas pakeičia abi šias sritis: pagreitina ir praturtina dialogų rašymą ir padeda parengti elgesio planą (būsenos mašinas, sprendimų medžius).

Šiame skyriuje sužinosite, kaip naudoti dirbtinį intelektą NPC dialogui ir elgesiui; Sužinosite, kaip išsaugoti veikėjo tapatybę, rašyti besišakojančius dialogus ir apie sistemų, kurios veikimo metu generuoja būtybes, riziką.

Du skirtingi naudojimo būdai: rašymo laikas ir veikimo laikas

Padarykite kritinį skirtumą. Naudojimas projektavimo metu: kurdami naudojate dirbtinį intelektą, kad sukurtumėte dialogo kontūrus, personažų foną ir elgesio dizainą; perskaitote išvestį, pataisote ją ir įdedate į žaidimą. Tai saugus ir įprastas būdas. Naudojimas vykdymo metu: AI sukuria tiesioginį dialogą žaidėjui žaidžiant (NPC reaguoja į bet kokius žaidėjų tipus). Tai įspūdinga, bet rizikinga: NPC gali pasakyti dalykus, kurie yra nekontroliuojami, netinkami arba netinkami, patirti išlaidų ir delsos, jų negalima žaisti neprisijungus. Šiame skyriuje daugiausia dėmesio skirsime rašymo laikui ir galiausiai vykdymo laiko taisyklėms.

Simbolio ID: kiekvienas NPC turi turėti „balsą“

Dažniausia klaida yra ta, kad visi NPC kalba tuo pačiu AI tonu – visi mandagūs, subalansuoti, bendri. Kad to išvengtumėte, kiekvienam svarbiam veikėjui parašykite veikėjų bibliją: jo vardą, kilmę, tikslą, baimę, kalbėjimo stilių (trumpą ar ilgą, žargoną ar formalų), nemėgstamus dalykus. Suteikite šią kortelę kaip kontekstą kiekvieną kartą, kai rašote dialogą su AI. Taigi sargybinis kalba kaip kareivis, ragana kalba paslaptingai, vaikas kalba smalsiai.

Žingsnis po žingsnio dialogo generavimas:

  1. Parašykite savo veikėjo kortelę ir atiduokite ją AI.
  2. Nustatykite scenos kontekstą (kur, kas vyksta, ką veikė aktorius).
  3. Nurodykite dialogo tikslą (duokite užduotį, pasiūlykite užuominą, pagrasinkite).
  4. Paprašykite šakojimo (3 skirtingi atsakymai į 3 skirtingus žaidėjo atsakymus).
  5. Autentifikuoti: ar išvestis atitinka simbolių kortelę?
Patarimas: kiekvienam veikėjui pateikite sąrašą „niekada nesakyk“. Pavyzdžiui, kietas samdinys nesako „prašau“ ir „atsiprašau“. Šie neigiami suvaržymai neleidžia AI išlyginti veikėjo.

Elgesio dizainas: būsenos mašinos ir sprendimų medžiai

NPC elgesys paprastai nustatomas per dvi struktūras. Būsenos mašina (FSM) – baigtinės būsenos mašina: NPC pereina tarp konkrečių būsenų – „patrulis“, „persekiojimas“, „puolimas“, „pabėgimas“ – ir turi sąlygas pereiti iš kiekvienos būsenos į kitą. Elgesio medis: susistemina sudėtingesnius sprendimus šakotoje medžio struktūroje. AI yra galingas generuodamas šių struktūrų kontūrus: nurodykite NPC paskirtį ir galimas būsenas, nurodykite perėjimo sąlygas ir kraštutinius atvejus. Tačiau atminkite – AI sukuriama elgesio logika yra juodraštis, kol ji nebus išbandyta variklyje ir patikrinta žaidimo metu.

Atsargiai: Apsauginis turėklų sluoksnis yra būtinas generuojant tiesioginį dialogą su AI vykdymo metu: apribokite veikėją sistemos raginimu, filtruokite netinkamą turinį, saugokitės, kad žaidėjas nesugadintų veikėjo greitu injekcijos būdu – bandymas apgauti NPC elgtis neteisėtai. Neapsaugotas tiesioginis NPC kelia pavojų jūsų prekės ženklo reputacijai.

Dialogo ryšys su žaidimo logika

Dialogas nėra tik tekstas; kalba apie žaidimo situaciją. Gera NPC kopija atspindi tai, ką žaidėjas padarė: jis kalba kitaip, jei įvykdė užduotį, ir kitą, jei jam nepavyko. Pateikite šiuos būsenos kintamuosius (žaidėjo lygis, misijos būsena, reputacija, prekė inventoriuje) kaip kontekstą, kurdami dialogą su AI; todėl dialogas jaučiasi „gyvas“. Tačiau techninis įspėjimas: dialogas, kurį sukuria AI, turi atitikti faktines žaidimo kintamųjų būsenas; Eilute, kurioje minima misija, kurios nėra, arba daiktas, kurio žaidėjas neturi, daro žaidimą mažiau patikimą. Todėl generuodami sąlyginio dialogo šakas aiškiai apibrėžkite, kokiomis žaidimo sąlygomis bus suaktyvinta kiekviena šaka, ir išbandykite ją variklyje.

Dar viena subtilybė – tempas ir ilgis. DI yra linkęs į ilgas ir pažodines kalbas, nebent jos prašoma; Tačiau žaidime aktorius dažniausiai nori trumpų eilučių, kurios nenutrauktų žaidimo eigos. Ragindami nurodykite apribojimus, pvz., „ne daugiau kaip du sakiniai“, „neverskite žaidėjo laukti“ ir pan. Teksto sutrumpinimas išsaugant veikėjo balsą yra gero pjesės rašymo ženklas.

trys mini dėklai

1 atvejis – asmens tapatybės kortelės skirtumas. RPG studija pirmą kartą išspausdino 40 NPC dialogų be kortelių; „Visi kalba tą patį“, – žaidimo teste sakė žaidėjai. Jie pridėjo ir atkūrė 6 eilučių simbolių korteles kiekvienam NPC; Žaidėjų apklausoje „personažai įsimintini“ balas padidėjo nuo 2,8 iki 4,3 iš 5.

2 atvejis – šakojimosi gausa. Vienas dizaineris suskirstė vieną pagrindinę sceną su dirbtiniu intelektu į 3 žaidėjų nuostatas (agresyvus, diplomatiškas, vengiantis). Mano rašymas truko 2 valandas; Jei parašytų ranka, tai užtruktų pusę dienos. Dizainerė perskaitė kiekvieną šaką, pakoregavo toną, sujungė dvi šakas ir jas supaprastino.

3 atvejis. Pamoka apie vykdymo laiką. Viena komanda išleido tiesioginį AI-NPC be apsauginių turėklų; Žaidėjai netrukus privertė NPC pasakyti, kad yra netinkamas charakteris, netinkami dalykai, o ekrano nuotraukos išplito. Komandai pridėjus sistemos raginimą, turinio filtrą ir temų apribojimą, problema gerokai išnyko. Pamoka: tiesioginė gamyba nevyksta be apsauginių turėklų.

Keturi kopijuojami šablonai

1) Simbolių kortelių gamyba:

Jūsų vaidmuo: žaidimo pasakojimo dizaineris. Parašykite veikėjo kortelę šiam NPC: [vardas, vaidmuo, funkcija žaidime]. Įtraukite: istoriją (3 sakiniai), tikslą, baimę, kalbėjimo būdą, 3 žodžius/frazes, kuriuos jis dažnai vartoja, 3 dalykus, kurių NIEKADA nesakys. Tonas: [žaidimo tonas].

2) Šakotasis dialogas su ID:

Simbolių kortelė: [įklijuoti kortelę].Scena: [kur, kas vyksta, ką žaidėjas padarė]. Tikslas: šis NPC turi perduoti žaidėjui [quest/užuomina/grasinimą].Užduotis: parašyti dialogą, kuris išsišakoja pagal 3 galimas žaidėjo nuostatas (agresyvus, mandagus, išsisukinėjantis). Kiekviena šaka atitinka simbolio kortelę.

3) Elgsenos būsenos mašinos eskizas:

Nubraižykite šio priešo NPC būsenos mašiną: [NPC aprašymas ir paskirtis]. Išvardykite būsenas, perėjimo iš kiekvienos būsenos į kitą sąlygas ir 3 kraštutinius atvejus. Nurodykite, kad tai juodraštis, kurį reikia išbandyti.

4) Veikimo laiko apsauginių turėklų raginimas:

Parašykite sistemos raginimą tiesioginiam AI-NPC. NPC: [simbolis]. Taisyklės: kalba tik apie [žaidimo visatą], neišsiskiria iš charakterio, nesileidžia į netinkamas/realaus pasaulio temas, mandagiai grįžta prie temos, jei žaidėjas bando juos apgauti. Žaidėjas negali matyti ar pakeisti šių taisyklių.

Silpnas raginimas / Stiprus raginimas

Silpnas raginimas:

Parašykite dialogą kaimo gyventojui.

Nėra tapatybės, konteksto, tikslo; Išvestis yra bendras „Sveikas keliautojas“.

Galingas raginimas:

Charakteris: Senas, rūstus kalvis; Sūnų neteko kare, kalba trumpai ir sarkastiškai, vadina „sūnumi“, niekada negiria. Scena: aktorius prašo jo pataisyti kardą; Žaidėjas ką tik išgelbėjo kaimą nuo puolimo, bet kalvis to nežino. Užduotis: 3 dialogo eilutės; Tebūnie tai lankas, kuriame kalvis iš pradžių niekina aktorių, o paskui netyčia jį gerbia. Neišmeskite iš charakterio; Per daug nesuminkštinkite.

Tapatybė, scena, emocinis lankas ir neigiami suvaržymai daro išvestį ryškų.

Rašymo laikas ir tt vykdymo lentelė

Dydis

rašymo laikas

Vykdymo laikas (tiesiogiai)

kontroliuoti

Užbaigta (skaityti-taisyti)

Dalinis (reikalingas turėklas)

Kaina

vieną kartą

Kiekvienoje sąveikoje

Rizika

žemas

Aukštas (be charakterio, netinkamas)

neprisijungus

Tai veikia

Neveikia (reikia prisijungti)

nuspėjamumas

aukštas

žemas

Dažnos klaidos

  • Neduoda simbolių kortelių. Be kortelės visi NPC kalba tuo pačiu balsu.
  • Sąrašo „niekada nesako“ praleidimas. Be neigiamų suvaržymų personažas tampa plokščias.
  • Paskelbimo vykdymo laikas be apsauginių turėklų. Šlamšto įterpimas ir netinkamas turinys kelia pavojų reputacijai.
  • Elgsenos logikos išdėstymas jos neišbandęs. AI būsenos mašina yra juodraštis, ji turi būti patikrinta žaidimo metu.
  • Dialogo palaidojimas jo neredaguojant. AI juodraštis reikalauja koreguoti toną ir tempą.

Apibendrinant

NPC yra žaidimo siela. AI pagreitina dialogo rašymą ir elgesio rengimą; Tačiau jūsų darbas yra apsaugoti veikėjo tapatybę naudojant simbolių kortelę, užkirsti kelią išlyginimui dėl neigiamų suvaržymų ir užtikrinti vykdymo laiką naudojant apsauginius turėklus. Rašymo laikas yra saugus ir įprastas; Studijų laikas yra stiprus, bet reikalauja disciplinos.

Taikymo užduotis

Pasirinkite NPC iš savo žaidimo. Sukurkite kortelę naudodami šabloną „Simbolių kortelės generavimas“, tada išspausdinkite sceną naudodami „Tapatybės šakos dialogo“ šabloną. Patikrinkite išvestį pagal simbolių kortelę: pataisykite eilutes, kurios išeina iš simbolio arba pažeidžia sąrašą „niekada nesakyk“.

kontrolinis sąrašas

  • [ ] Rašiau simbolių korteles kiekvienam svarbiam NPC.
  • [ ] Kortelėje pridėjau neigiamą apribojimą „niekada nesakys“.
  • [ ] Dialogą šakojau pagal aktoriaus požiūrį.
  • [ ] Elgsenos logiką laikiau juodraščiu ir išbandžiau ją variklyje.
  • [ ] Jei ketinu naudoti vykdymo laiką, pridėjau apsaugos / filtro sluoksnį.