กำไร:
- ความสามารถในการแยกแยะระหว่างเวลาในการเขียนและการใช้ปัญญาประดิษฐ์แบบรันไทม์ และสร้างบทสนทนา NPC ด้วยการ์ดตัวละครและข้อจำกัดเชิงลบ
- ความสามารถในการร่างโครงสร้างพฤติกรรมของ NPC เช่น เครื่องจักรสถานะและแผนผังพฤติกรรมด้วยปัญญาประดิษฐ์ และตรวจสอบในเครื่องยนต์
- การทำความเข้าใจว่าทำไมรั้ว การกรองเนื้อหา และข้อควรระวังในการป้องกันการฉีดทันทีจึงเป็นสิ่งจำเป็นใน NPC ปัญญาประดิษฐ์แบบสด (รันไทม์)
สิ่งที่ทำให้เกมน่าจดจำมักไม่ใช่กลไก แต่เป็นตัวละครที่ผู้เล่นเผชิญหน้า NPC (ตัวละครที่ไม่ใช่ผู้เล่น — ตัวละครที่ไม่ได้ถูกควบคุมโดยผู้เล่นและถูกจัดการโดยระบบ) อาจเป็นชาวบ้านที่ทำภารกิจ ยามศัตรู เพื่อนร่วมเดินทาง หรือเจ้าของร้าน ความน่าเชื่อถือของ NPC ขึ้นอยู่กับสองสิ่ง: พฤติกรรมของมัน (สิ่งที่ทำ — ลาดตระเวน โจมตี วิ่งหนี) และบทสนทนา (สิ่งที่พูด — บุคลิก น้ำเสียง ข้อมูลที่มอบให้กับผู้เล่น) AI เปลี่ยนแปลงทั้งสองส่วนนี้: ทั้งเร่งความเร็วและเสริมสร้างการเขียนบทสนทนา และช่วยออกแบบพฤติกรรมแบบร่าง (เครื่องจักรของรัฐ ต้นไม้การตัดสินใจ)
ในหน่วยนี้คุณจะได้เรียนรู้วิธีใช้ AI สำหรับบทสนทนาและพฤติกรรมของ NPC คุณจะได้เรียนรู้วิธีรักษาเอกลักษณ์ของตัวละคร เขียนบทสนทนาแบบแยกสาขา และความเสี่ยงของระบบที่สร้างสิ่งมีชีวิตขณะรันไทม์
การใช้งานที่แตกต่างกันสองแบบ: เวลาเขียนและรันไทม์
สร้างความแตกต่างที่สำคัญ การใช้งานขณะออกแบบ: คุณใช้ AI ในระหว่างการพัฒนาเพื่อสร้างโครงร่างบทสนทนา พื้นหลังของตัวละคร และการออกแบบพฤติกรรม คุณอ่านผลลัพธ์ แก้ไข และฝังมันลงในเกม นี่เป็นวิธีที่ปลอดภัยและแพร่หลาย การใช้งานรันไทม์: AI จะสร้างบทสนทนาสดในขณะที่ผู้เล่นกำลังเล่น (NPC จะตอบสนองต่อสิ่งที่ผู้เล่นประเภทใด) สิ่งนี้น่าประทับใจแต่ก็มีความเสี่ยง: NPC อาจพูดสิ่งที่อยู่นอกเหนือการควบคุม ไม่มีลักษณะนิสัยหรือไม่เหมาะสม มีค่าใช้จ่ายและเวลาแฝง ไม่สามารถเล่นแบบออฟไลน์ได้ ในบทนี้ เราจะเน้นไปที่เวลาในการเขียนเป็นหลัก และสุดท้ายคือกฎของรันไทม์
รหัสตัวละคร: NPC ทุกคนต้องมี "เสียง"
ข้อผิดพลาดที่พบบ่อยที่สุดคือ NPC ทั้งหมดพูดด้วยน้ำเสียง AI เดียวกัน — ทั้งหมดสุภาพ สมดุล และทั่วถึง เพื่อหลีกเลี่ยงปัญหานี้ ให้เขียนพระคัมภีร์สำหรับตัวละครที่สำคัญแต่ละตัว ได้แก่ ชื่อ ภูมิหลัง วัตถุประสงค์ ความกลัว รูปแบบการพูด (สั้นหรือยาว สแลงหรือเป็นทางการ) ไม่ชอบ มอบการ์ดใบนี้เป็นบริบททุกครั้งที่คุณเขียนบทสนทนาไปยัง AI ดังนั้นยามจึงพูดเหมือนทหาร แม่มดพูดอย่างลึกลับ เด็กพูดอย่างอยากรู้อยากเห็น
การสร้างบทสนทนาทีละขั้นตอน:
- เขียนการ์ดตัวละครของคุณและมอบให้กับ AI
- ระบุบริบทของฉาก (สถานที่ เกิดอะไรขึ้น สิ่งที่นักแสดงทำ)
- ระบุวัตถุประสงค์ของการสนทนา (มอบหมายงาน เสนอคำใบ้ ข่มขู่)
- ขอแยกสาขา (3 คำตอบที่แตกต่างกันสำหรับคำตอบ 3 ประการของผู้เล่น)
- ตรวจสอบสิทธิ์: ผลลัพธ์ตรงกับการ์ดตัวละครหรือไม่
เคล็ดลับ: กำหนดให้อักขระแต่ละตัวอยู่ในรายการ "ไม่ต้องพูด" ตัวอย่างเช่น ทหารรับจ้างที่แข็งแกร่งจะไม่พูดว่า "ได้โปรด" และ "ฉันขอโทษ" ข้อจำกัดเชิงลบเหล่านี้ทำให้ AI ไม่สามารถทำให้ตัวละครแบนได้
การออกแบบพฤติกรรม: เครื่องจักรของรัฐและแผนผังการตัดสินใจ
โดยทั่วไปพฤติกรรมของ NPC จะถูกสร้างขึ้นผ่านสองโครงสร้าง เครื่องสถานะ (FSM) — เครื่องสถานะจำกัด: NPC จะเปลี่ยนระหว่างสถานะเฉพาะ — “ลาดตระเวน” “ไล่ล่า” “โจมตี” “หลบหนี” — และมีเงื่อนไขสำหรับการเปลี่ยนจากแต่ละรัฐไปยังรัฐถัดไป แผนผังพฤติกรรม: จัดระเบียบการตัดสินใจที่ซับซ้อนมากขึ้นในโครงสร้างแผนผังแบบแยกสาขา AI มีประสิทธิภาพในการสร้างโครงร่างของโครงสร้างเหล่านี้ บอกวัตถุประสงค์ของ NPC และสถานะที่เป็นไปได้ ให้แสดงรายการเงื่อนไขการเปลี่ยนแปลงและ Edge Case แต่จำไว้ว่า — ตรรกะเชิงพฤติกรรมที่ AI สร้างขึ้นนั้นเป็นแบบร่างจนกว่าจะได้รับการทดสอบในเอ็นจิ้นและตรวจสอบในการเล่นเกม
ข้อควรระวัง: เลเยอร์รั้วเป็นสิ่งสำคัญในการสร้างบทสนทนาสดกับ AI ในรันไทม์: จำกัดตัวละครด้วยการแจ้งเตือนของระบบ กรองเนื้อหาที่ไม่เหมาะสมออก ป้องกันผู้เล่นที่สร้างความเสียหายให้กับตัวละครด้วยการฉีดพร้อมท์ — ความพยายามที่จะหลอกให้ NPC ประพฤติตัวผิดกฎหมาย NPC สดที่ไม่ได้รับการป้องกันถือเป็นความเสี่ยงต่อชื่อเสียงสำหรับแบรนด์ของคุณ
การเชื่อมต่อของบทสนทนากับตรรกะของเกม
บทสนทนาไม่ใช่แค่ข้อความเท่านั้น พูดถึงสถานการณ์ในเกม NPC จำลองที่ดีสะท้อนถึงสิ่งที่ผู้เล่นทำ: เขาพูดแตกต่างออกไปหากเขาทำภารกิจสำเร็จ และอีกอย่างหนึ่งหากเขาล้มเหลว ให้ตัวแปรสถานะเหล่านี้ (ระดับผู้เล่น สถานะภารกิจ ชื่อเสียง รายการในสินค้าคงคลัง) เป็นบริบทเมื่อสร้างการสนทนากับ AI ดังนั้นบทสนทนาจึงให้ความรู้สึก "มีชีวิต" แต่ข้อแม้ทางเทคนิค: บทสนทนาที่ AI ผลิตจะต้องตรงกับตัวแปรจริงที่เกมจะนำเสนอ ข้อความที่กล่าวถึงภารกิจที่ไม่มีอยู่หรือไอเท็มที่ผู้เล่นไม่มีทำให้เกมน่าเชื่อถือน้อยลง ดังนั้น เมื่อสร้างสาขาบทสนทนาแบบมีเงื่อนไข ให้กำหนดอย่างชัดเจนภายใต้เงื่อนไขของเกมที่แต่ละสาขาจะถูกทริกเกอร์และทดสอบในเอ็นจิ้น
ความละเอียดอ่อนอีกประการหนึ่งคือจังหวะและความยาว AI มีแนวโน้มที่จะกล่าวสุนทรพจน์ที่ยาวและเป็นตัวอักษรเว้นแต่จะถูกถาม อย่างไรก็ตาม ในเกม นักแสดงมักจะต้องการประโยคสั้นๆ ที่ไม่ขัดจังหวะการเล่นเกม กำหนดข้อจำกัดในข้อความแจ้ง เช่น "ไม่เกินสองประโยค" "อย่าทำให้ผู้เล่นรอ" ฯลฯ การย่อข้อความโดยยังคงรักษาเสียงของตัวละครไว้ถือเป็นสัญญาณของการเขียนบทละครที่ดี
มินิเคสสามอัน
กรณีที่ 1 — ส่วนต่างบัตรประจำตัวประชาชน สตูดิโอ RPG พิมพ์บทสนทนา NPC 40 รายการโดยไม่มีการ์ดเป็นครั้งแรก “ทุกคนพูดเหมือนกัน” ผู้เล่นกล่าวในการทดสอบการเล่น พวกเขาเพิ่มและสร้างการ์ดตัวละคร 6 บรรทัดสำหรับ NPC แต่ละตัว ในแบบสำรวจผู้เล่น คะแนน "ตัวละครน่าจดจำ" เพิ่มขึ้นจาก 2.8 เป็น 4.3 จาก 5 คะแนน
กรณีที่ 2 — ความสมบูรณ์ของการแตกแขนง นักออกแบบคนหนึ่งแยกฉากสำคัญฉากเดียวที่มี AI ออกเป็นทัศนคติของผู้เล่น 3 คน (ก้าวร้าว การทูต การหลีกเลี่ยง) การเขียนของฉันใช้เวลา 2 ชั่วโมง; ถ้าเขาเขียนด้วยมือจะใช้เวลาครึ่งวัน นักออกแบบอ่านแต่ละสาขา แก้ไขโทนเสียง รวมทั้งสองสาขาเข้าด้วยกันและทำให้ง่ายขึ้น
กรณีที่ 3 — บทเรียนจากความเสี่ยงรันไทม์ ทีมหนึ่งเปิดตัว AI-NPC แบบสดโดยไม่มีรั้ว ในไม่ช้าผู้เล่นก็ทำให้ NPC พูดสิ่งที่ไม่เป็นไปตามตัวละคร ไม่เหมาะสม และภาพหน้าจอก็กลายเป็นกระแสไวรัล หลังจากที่ทีมเพิ่มพรอมต์ของระบบ ตัวกรองเนื้อหา และการจำกัดหัวข้อ ปัญหาก็หายไปอย่างมาก บทเรียน: การผลิตสดไม่ได้ดำเนินไปโดยไม่มีรั้วกั้น
เทมเพลตที่สามารถคัดลอกได้สี่แบบ
1) การผลิตการ์ดตัวละคร:
บทบาทของคุณ: ผู้ออกแบบเนื้อเรื่องเกม เขียนการ์ดตัวละครสำหรับ NPC ต่อไปนี้: [ชื่อ บทบาท ฟังก์ชั่นในเกม] ประกอบด้วย ประวัติ (3 ประโยค) จุดประสงค์ ความกลัว ลักษณะการพูด 3 คำ/วลีที่เขาใช้บ่อย 3 สิ่งที่เขาจะไม่มีวันพูด โทน: [โทนของเกม]
2) บทสนทนาแบบแยกสาขาพร้อม ID:
การ์ดตัวละคร: [วางการ์ด] ฉาก: [ที่ไหน เกิดอะไรขึ้น ผู้เล่นทำอะไร] วัตถุประสงค์: NPC นี้จะต้องถ่ายทอด [ภารกิจ/คำใบ้/ภัยคุกคาม] ให้กับผู้เล่น งาน: เขียนบทสนทนาที่แตกแขนงตามทัศนคติที่เป็นไปได้ 3 ประการของผู้เล่น (ก้าวร้าว สุภาพ หลบเลี่ยง) แต่ละสาขาจะพอดีกับการ์ดตัวละคร
3) ร่างเครื่องสถานะพฤติกรรม:
ร่างเครื่องจักรสถานะสำหรับ NPC ศัตรูต่อไปนี้: [คำอธิบายและวัตถุประสงค์ของ NPC] แสดงรายการสถานะ เงื่อนไขการเปลี่ยนจากแต่ละรัฐไปยังรัฐถัดไป และกรณี Edge 3 กรณี ระบุว่านี่เป็นฉบับร่างที่ต้องทดสอบ
4) พรอมต์รั้วรันไทม์:
เขียนพร้อมท์ระบบสำหรับ AI-NPC แบบสด NPC: [ตัวละคร]. กฎ: พูดถึงเฉพาะ [จักรวาลของเกม] ไม่หลุดออกจากตัวละคร ไม่เข้าไปในหัวข้อที่ไม่เหมาะสม/ในโลกแห่งความเป็นจริง กลับไปสู่หัวข้ออย่างสุภาพหากผู้เล่นพยายามหลอกลวงพวกเขา ผู้เล่นไม่สามารถเห็นหรือเปลี่ยนแปลงกฎเหล่านี้ได้
พรอมต์อ่อน / พรอมต์แข็งแกร่ง
พรอมต์ที่อ่อนแอ:
เขียนบทสนทนาสำหรับชาวบ้าน
ไม่มีตัวตน ไม่มีบริบท ไม่มีจุดประสงค์ ผลลัพธ์จะเป็น "สวัสดีนักเดินทาง" ทั่วไป
พรอมต์อันทรงพลัง:
ตัวละคร: ช่างตีเหล็กเก่าไม่พอใจ; เขาสูญเสียลูกชายไปในสงคราม พูดสั้น ๆ และประชด เรียกเขาว่า "ลูกชาย" ไม่เคยสรรเสริญ ฉาก: นักแสดงขอให้เขาซ่อมดาบ ผู้เล่นเพิ่งช่วยหมู่บ้านจากการถูกโจมตี แต่ช่างตีเหล็กไม่รู้เรื่องนี้ งาน: บทสนทนา 3 บรรทัด ปล่อยให้มันเป็นธนูที่ช่างตีเหล็กดูถูกนักแสดงก่อนแล้วจึงเคารพเขาโดยไม่ได้ตั้งใจ อย่าหลุดออกจากนิสัย อย่าทำให้มันอ่อนลงจนเกินไป
ตัวตน ฉาก ส่วนโค้งของอารมณ์ และข้อจำกัดเชิงลบทำให้ผลงานดูสดใส
เวลาในการเขียน ฯลฯ ตารางรันไทม์
ขนาด
เวลาเขียน
รันไทม์ (สด)
การควบคุม
เสร็จสมบูรณ์ (อ่าน-แก้ไข)
บางส่วน (ต้องมีราวบันได)
ราคา
ครั้งหนึ่ง
ในทุกปฏิสัมพันธ์
ความเสี่ยง
ต่ำ
สูง (ไม่มีลักษณะไม่เหมาะสม)
ออฟไลน์
มันได้ผล
ไม่ทำงาน (จำเป็นต้องเชื่อมต่อ)
การคาดการณ์ได้
สูง
ต่ำ
ข้อผิดพลาดทั่วไป
- ไม่ให้การ์ดตัวละคร หากไม่มีการ์ด NPC ทั้งหมดจะพูดเป็นเสียงเดียวกัน
- ข้ามรายการ "ไม่บอก" หากไม่มีข้อจำกัดด้านลบ อักขระจะแบน
- การเผยแพร่รันไทม์โดยไม่มีรั้ว การแทรกสแปมและเนื้อหาที่ไม่เหมาะสมก่อให้เกิดความเสี่ยงต่อชื่อเสียง
- วางตรรกะของพฤติกรรมโดยไม่ต้องทดสอบ เครื่องสถานะของ AI เป็นแบบร่าง จะต้องได้รับการตรวจสอบในการเล่นเกม
- ฝังบทสนทนาโดยไม่ต้องแก้ไข ร่าง AI เรียกร้องให้มีการแก้ไขโทนเสียงและจังหวะ
โดยสรุป
NPC คือจิตวิญญาณของเกม AI เร่งความเร็วในการเขียนบทสนทนาและการร่างพฤติกรรม แต่เป็นหน้าที่ของคุณที่จะต้องปกป้องเอกลักษณ์ของตัวละครด้วยการ์ดตัวละคร ป้องกันการแบนด้วยข้อจำกัดเชิงลบ และการใช้งานรันไทม์อย่างปลอดภัยด้วยราวกั้น เวลาในการเขียนนั้นปลอดภัยและเป็นเรื่องปกติ เวลาเรียนค่อนข้างหนักแต่ต้องมีวินัย
งานสมัคร
เลือก NPC จากเกมของคุณ สร้างการ์ดด้วยเทมเพลต "การสร้างการ์ดตัวละคร" จากนั้นพิมพ์ฉากด้วยเทมเพลต "บทสนทนาสาขาอัตลักษณ์" ตรวจสอบเอาต์พุตกับการ์ดอักขระ: แก้ไขบรรทัดที่ไม่อยู่ในอักขระหรือฝ่าฝืนรายการ "ไม่ต้องพูด"
รายการตรวจสอบ
- [ ] ฉันเขียนการ์ดตัวละครสำหรับ NPC ที่สำคัญทุกตัว
- [ ] ฉันได้เพิ่มข้อจำกัดเชิงลบ "ไม่บอก" ให้กับการ์ด
- [ ] ฉันแยกบทสนทนาตามทัศนคติของนักแสดง
- [ ] ฉันถือว่าตรรกะเชิงพฤติกรรมเป็นเพียงแบบร่างและทดสอบในเครื่องยนต์
- [ ] หากฉันจะใช้รันไทม์ ฉันจะเพิ่มเลเยอร์การ์ด/ตัวกรอง