Winst:
- Mogelijkheid om onderscheid te maken tussen schrijftijd en runtime-gebruik van kunstmatige intelligentie en NPC-dialoog te produceren met karakterkaart en negatieve beperkingen
- Mogelijkheid om NPC-gedragsstructuren, zoals de statusmachine en de gedragsboom, op te stellen met kunstmatige intelligentie en deze in de engine te verifiëren
- Begrijpen waarom guardrail, inhoudfiltering en voorzorgsmaatregelen tegen snelle injectie verplicht zijn in live (runtime) NPC's met kunstmatige intelligentie
Wat een game onvergetelijk maakt, zijn vaak niet de mechanica, maar de personages die de speler tegenkomt. NPC (niet-spelerkarakter – karakter dat niet door de speler wordt bestuurd en door het systeem wordt beheerd); Het kan een dorpeling zijn die opdrachten geeft, een vijandelijke bewaker, een reisgenoot of een winkelier. De geloofwaardigheid van de NPC hangt af van twee dingen: zijn gedrag (wat hij doet – patrouilleren, aanvallen, wegrennen) en zijn dialoog (wat hij zegt – zijn persoonlijkheid, toon, informatie die hij aan de speler geeft). AI transformeert beide gebieden: het versnelt en verrijkt het schrijven van dialogen en helpt bij het opstellen van gedragsontwerp (staatsmachines, beslissingsbomen).
In deze unit leer je hoe je AI kunt gebruiken voor NPC-dialoog en -gedrag; Je leert hoe je de karakteridentiteit behoudt, vertakkende dialogen schrijft en de risico's van systemen die tijdens runtime wezens genereren.
Twee verschillende toepassingen: schrijftijd en looptijd
Maak een kritisch onderscheid. Gebruik in ontwerptijd: u gebruikt AI tijdens de ontwikkeling om dialoogcontouren, karakterachtergronden en gedragsontwerp te produceren; je leest de uitvoer, repareert deze en sluit deze in het spel in. Dit is de veilige en gebruikelijke manier. Runtimegebruik: De AI produceert live dialoog terwijl de speler speelt (de NPC reageert op wat de speler ook typt). Dit is indrukwekkend maar riskant: NPC kan dingen zeggen die uit de hand lopen, uit de toon vallen of ongepast zijn, kosten en latentie met zich meebrengen en niet offline kunnen worden gespeeld. In deze unit zullen we ons vooral concentreren op de schrijftijd en ten slotte op de regels van runtime.
Karakter-ID: elke NPC moet een "stem" hebben
De meest voorkomende fout is dat alle NPC’s met dezelfde AI-toon spreken – allemaal beleefd, evenwichtig en generiek. Om dit te voorkomen, schrijf je een karakterbijbel voor elk belangrijk personage: hun naam, achtergrond, doel, angst, stijl van spreken (kort of lang, jargon of formeel), antipathieën. Geef deze kaart als context elke keer dat u een dialoog aan de AI schrijft. Zo spreekt de bewaker als een soldaat, de heks spreekt mysterieus, het kind spreekt nieuwsgierig.
Stap voor stap dialooggeneratie:
- Schrijf je karakterkaart en geef deze aan de AI.
- Identificeer de context van de scène (waar, wat er gebeurt, wat de acteur deed).
- Geef het doel van de dialoog aan (een taak geven, een hint geven, dreigen).
- Vraag om vertakking (3 verschillende antwoorden op de 3 verschillende antwoorden van de speler).
- Authenticeren: komt de uitvoer overeen met de karakterkaart?
Tip: Geef elk personage een 'zeg nooit'-lijst. Een stoere huursoldaat zegt bijvoorbeeld niet 'alsjeblieft' en 'het spijt me'. Deze negatieve beperkingen voorkomen dat de AI het personage plat maakt.
Gedragsontwerp: staatsmachines en beslissingsbomen
NPC-gedrag wordt over het algemeen tot stand gebracht via twee structuren. Staatsmachine (FSM) – eindige toestandsmachine: De NPC gaat over tussen specifieke staten – ‘patrouilleren’, ‘achtervolgen’, ‘aanvallen’, ‘ontsnappen’ – en heeft voorwaarden voor de overgang van de ene staat naar de volgende. Gedragsboom: organiseert complexere beslissingen in een vertakte boomstructuur. AI is krachtig in het genereren van contouren van deze structuren: vertel het doel van de NPC en mogelijke toestanden, laat het overgangsvoorwaarden en randgevallen opsommen. Maar onthoud: de gedragslogica die de AI produceert is een concept totdat deze in de engine wordt getest en in de gameplay wordt geverifieerd.
Let op: Een vangraillaag is essentieel bij het genereren van live dialoog met de AI tijdens runtime: beperk het personage met de systeemprompt, filter ongepaste inhoud eruit, bescherm tegen de speler die het personage corrumpeert met snelle injectie - een poging om de NPC te misleiden om zich illegaal te gedragen. Een onbeschermde live NPC is een reputatierisico voor uw merk.
De verbinding van dialoog met spellogica
Dialoog bestaat niet alleen uit tekst; spreekt over de spelsituatie. Een goede NPC-replica weerspiegelt wat de speler deed: hij spreekt anders als hij de zoektocht heeft voltooid, en een andere als hij faalt. Geef deze statusvariabelen (spelerniveau, missiestatus, reputatie, item in inventaris) als context bij het genereren van een dialoog met de AI; dus de dialoog voelt "levend". Maar een technisch voorbehoud: de dialoog die de AI produceert moet overeenkomen met de daadwerkelijke variabeletoestanden die het spel zal presenteren; Een regel die een missie vermeldt die niet bestaat of een item dat de speler niet heeft, maakt het spel minder geloofwaardig. Daarom moet u bij het genereren van voorwaardelijke dialoogvertakkingen duidelijk definiëren onder welke spelconditie elke vertakking zal worden geactiveerd en deze in de engine testen.
Een andere subtiliteit is tempo en lengte. AI is vatbaar voor lange en letterlijke toespraken, tenzij daarom wordt gevraagd; In de game wil de acteur echter meestal korte lijnen die de gameplay niet onderbreken. Geef beperkingen op in de prompt, zoals "niet meer dan twee zinnen", "laat de speler niet wachten", enz. Het inkorten van de tekst met behoud van de stem van het personage is een teken van goed toneelschrijven.
drie minikoffers
Geval 1 — Verschil in identiteitskaart. Een RPG-studio drukte eerst 40 NPC-dialogen zonder kaarten; "Iedereen praat hetzelfde", zeiden de spelers in de playtest. Ze hebben voor elke NPC karakterkaarten met 6 regels toegevoegd en gereproduceerd; In de spelersenquête is de score 'personages zijn gedenkwaardig' gestegen van 2,8 naar 4,3 op 5.
Geval 2 — Rijkdom aan vertakkingen. Eén ontwerper heeft een enkele sleutelscène met de AI onderverdeeld in de houding van drie spelers (agressief, diplomatiek, ontwijkend). Mijn schrijven duurde 2 uur; Als hij het met de hand schreef, zou het een halve dag duren. De ontwerper las elke tak, corrigeerde de toon, combineerde de twee takken en vereenvoudigde ze.
Geval 3 — Les uit runtime-risico. Eén team heeft live AI-NPC vrijgegeven zonder vangrails; Spelers lieten de NPC al snel afwijkende en ongepaste dingen zeggen, en screenshots gingen viraal. Nadat het team een systeemprompt, inhoudsfilter en onderwerpbeperking had toegevoegd, verdween het probleem aanzienlijk. Les: liveproductie verloopt niet zonder vangrails.
Vier kopieerbare sjablonen
1) Productie van karakterkaarten:
Jouw rol: game-verhaalontwerper. Schrijf een karakterkaart voor de volgende NPC: [naam, rol, functie in het spel]. Neem op: geschiedenis (3 zinnen), doel, angst, manier van spreken, 3 woorden/zinnen die hij vaak gebruikt, 3 dingen die hij NOOIT zal zeggen. Toon: [toon van het spel].
2) Vertakte dialoog met ID:
Karakterkaart: [plakkaart].Scène: [waar, wat gebeurt er, wat heeft de speler gedaan].Doel: deze NPC moet [zoektocht/hint/bedreiging] aan de speler overbrengen. Taak: schrijf een dialoog die vertakt volgens de 3 mogelijke houdingen van de speler (agressief, beleefd, ontwijkend). Elke tak past op de karakterkaart.
3) Schets van gedragstoestandsmachines:
Schets een staatsmachine voor de volgende vijandelijke NPC: [NPC-beschrijving en doel]. Maak een lijst van de toestanden, de overgangsvoorwaarden van elke toestand naar de volgende, en 3 randgevallen. Geef aan dat dit een concept is dat moet worden getest.
4) Runtime vangrailprompt:
Schrijf een systeemprompt voor een live AI-NPC. NPC: [karakter]. Regels: praat alleen over [game-universum], raakt niet buiten zijn karakter, gaat niet in op ongepaste/echte wereldonderwerpen, keert beleefd terug naar het onderwerp als de speler hem probeert te misleiden. De speler kan deze regels niet zien of wijzigen.
Zwakke prompt/sterke prompt
Zwakke prompt:
Schrijf een dialoog voor een dorpeling.
Er is geen identiteit, geen context, geen doel; De uitvoer is de algemene tekst 'Hallo reiziger'.
Krachtige prompt:
Karakter: Oude, knorrige smid; Hij verloor zijn zoon in de oorlog, spreekt kort en sarcastisch, noemt hem 'zoon' en prijst hem nooit. Scène: De acteur vraagt hem een zwaard te repareren; De speler heeft zojuist het dorp gered van een aanval, maar de smid weet dit niet. Taak: 3 dialooglijnen; Laat het een buiging zijn waarin de smid de acteur eerst veracht en hem vervolgens onbedoeld respecteert. Raak niet uit je karakter; Maak het niet te zacht.
Identiteit, scène, emotionele boog en negatieve beperkingen maken de output levendig.
Schrijftijd etc. runtimetabel
Grootte
schrijftijd
Runtime (live)
controle
Compleet (lezen-correct)
Gedeeltelijk (reling vereist)
Kosten
een keer
Bij elke interactie
Risico
laag
Hoog (buiten karakter, ongepast)
offline
Het werkt
Werkt niet (verbinding vereist)
voorspelbaarheid
hoog
laag
Veel voorkomende fouten
- Geen karakterkaarten geven. Zonder kaart spreken alle NPC's met dezelfde stem.
- Het overslaan van de ‘never tell’-lijst. Zonder negatieve beperkingen wordt het karakter vlak.
- Publicatieruntime zonder vangrails. Spaminjectie en ongepaste inhoud brengen reputatierisico's met zich mee.
- De logica van gedrag weergeven zonder het te testen. De staatsmachine van de AI is een concept en moet tijdens het spelen worden geverifieerd.
- De dialoog begraven zonder deze te bewerken. Het AI-concept roept op tot toon- en tempocorrectie.
Samengevat
NPC's zijn de ziel van het spel. AI versnelt het schrijven van dialogen en het opstellen van gedrag; Maar het is jouw taak om de identiteit van het personage te beschermen met de personagekaart, afvlakking met negatieve beperkingen te voorkomen en runtime-gebruik veilig te stellen met vangrails. Schrijftijd is veilig en gebruikelijk; De studietijd is sterk, maar vereist discipline.
Applicatie taak
Kies een NPC uit je spel. Maak een kaart met de sjabloon "Karakterkaart genereren" en druk vervolgens een scène af met de sjabloon "Identiteitstakdialoog". Controleer de uitvoer aan de hand van de karakterkaart: corrigeer regels die buiten het karakter vallen of de 'zeg nooit'-lijst schenden.
controlelijst
- [ ] Ik schreef karakterkaarten voor elke belangrijke NPC.
- [ ] Ik heb een negatieve beperking "nooit verteld" aan de kaart toegevoegd.
- [ ] Ik heb de dialoog vertakt volgens de houding van de acteur.
- [ ] Ik beschouwde de gedragslogica als een concept en testte deze in de engine.
- [ ] Als ik runtime ga gebruiken, heb ik een bewakings-/filterlaag toegevoegd.