การเล่าเรื่องที่สมจริง

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เช่นเดียวกับการสาธิต Beyond the Dark การตัดสินใจขั้นแรกของเราคือการเล่าเรื่องและการเล่นเกมให้มากที่สุดภายในโลกของเกมเอง นี่อาจเป็นกระบวนการที่ยากเมื่อคุณต้องการสมดุลระหว่างการสื่อสารความก้าวหน้าไปยังผู้เล่นผ่านทางส่วนติดต่อผู้ใช้ในขณะที่ทำให้พวกเขารู้สึกว่าพวกเขาอยู่ภายในโลกที่คุณสร้างขึ้นจริงๆ เพื่อให้บรรลุเป้าหมายเหล่านี้ในประสบการณ์ของเรา เราจึงแบ่งวิธีการสื่อสารข้อมูลกับผู้เล่นออกเป็นสี่เทคนิค:

  1. สัญญาณภาพ - วัตถุ ภาพ หรือการจัดเรียงของทรัพยากรที่ช่วยเสริมเรื่องราวหรือให้ข้อมูลแก่ผู้เล่นเมื่อมันมีความเหมาะสมกับโลก
  2. เรื่องราว - เมื่อผู้เล่นคลิก/แตะที่วัตถุเฉพาะในบ้าน ข้อมูลเรื่องราวที่สำคัญจะแสดง บนหน้าจอทั้งหมด การเล่านี้จะมองเห็นได้เฉพาะผู้เล่นที่คลิก/แตะวัตถุนั้น เสียงข้อความให้ข้อมูลในโทนและการพูดที่เป็นข้อมูลเสมอ
  3. ฟองความคิด - เมื่อผู้เล่นคลิก/แตะที่วัตถุเฉพาะในบ้าน ข้อความ "ปฏิกิริยา" จะปรากฏ ใกล้วัตถุ การเล่านี้จะมองเห็นได้เฉพาะผู้เล่นที่คลิก/แตะวัตถุนั้น โทนเสียงจะเป็นแบบบุคคลที่หนึ่งและสังเกตการณ์เสมอ
  4. การประกาศ - เมื่อผู้เล่นคลิก/แตะที่วัตถุที่มีการบิดเบือนในบ้าน ข้อความในบุคคลที่สามจะแสดง บนหน้าจอของผู้เล่นทุกคนในคราวเดียว การเล่านี้บางครั้งจะเปลี่ยนผู้เล่นทุกคนไปยังสถานะที่บิดเบือนของห้องที่พวกเขาอยู่

ในส่วนนี้ เราจะสาธิตว่าเราใช้เทคนิคเหล่านี้และฟีเจอร์เฉพาะอย่างไรเพื่อทำให้ผู้เล่นตื่นตาตื่นใจในเรื่องราวของเราในขณะที่ยังส่งเสริมการสำรวจ สื่อสารความก้าวหน้า และทำให้การเล่นเกมทั้งใกล้ชิดกับผู้เล่นแต่ละคนและยุติธรรมในประสบการณ์หลายผู้เล่น

การประกาศที่แสดงบนหน้าจอซึ่งแสดงถึงความคิดภายในของตัวละคร
ฟองความคิดหรือข้อความบทสนทนาที่แสดงเมื่อคุณเลือกวัตถุบางอย่าง

สัญญาณภาพ

สัญญาณภาพเป็นเครื่องมือที่สำคัญในการเสริมสร้างเรื่องราวและบอกผู้เล่นว่าพวกเขาจำเป็นต้องรู้เกี่ยวกับวัตถุประสงค์ของพวกเขา โดยไม่ใช้คำพูด โดยการจัดเรียงของทรัพยากร เช่น กระดานชนวน รูปปั้น และกระดาษผนัง เราสามารถให้ข้อมูลเชิงลึกเกี่ยวกับตัวละครหลักของ Duvall Drive และแนวทางในการแก้ไขปริศนาโดยไม่ต้องรวมส่วนติดต่อผู้ใช้อันเป็นการรบกวน เราเริ่มกระบวนการนี้โดยการทำความเข้าใจสิ่งที่เราต้องการสื่อสารกับผู้เล่น จากนั้นเราจะหาทางสื่อสารอย่างไรภายในโลกของประสบการณ์ เราต้องการให้ผู้เล่นเข้าใจว่าปู่ของพวกเขาหมกมุ่นอยู่กับภารกิจในการท้าทายความตาย ดังนั้นเราจึงทิ้งห้องของเขาให้ยุ่งเหยิงด้วยเอกสารการวิจัยของเขาและผนังหลายแห่งที่มีความคิดที่เขาขีดเขียนไว้

ขีดเขียนทั่วห้องของปู่สื่อสารถึงธรรมชาติที่บีบบังคับของปู่
รูปปั้นและภาพอ้างอิงจำนวนมากแสดงให้เห็นว่าลูกสาวเป็นศิลปิน

กฎข้อแรกของเราคือ หากเราต้องการใช้สัญญาณภาพเพื่อสอนผู้เล่นอะไรบางอย่าง มันต้องมีเหตุผลที่จะมีอยู่แม้ว่าผู้เล่นจะไม่ได้อยู่ที่นั่น หากเราวางป้ายขนาดใหญ่ที่มีคำแนะนำชัดเจนเกี่ยวกับการทำปริศนา นี้จะดูไม่เหมาะสมในบ้าน อย่างไรก็ตาม หากเราตั้งค่าปู่ที่ชอบวาดทุกอย่าง รวมถึงผนังห้องนอนของเขา สิ่งนี้จะทำให้เชื่อถือได้มากขึ้นที่จะมีการ์ดชนวนที่วางแผนไว้ให้ผู้เล่นติดตาม

กฎข้อที่สองของเราคือเราไม่จำเป็นต้องบอกผู้เล่นว่าต้องทำอะไรหรือจะต้องแก้ไขปริศนาอย่างไรเสมอไป เพราะพวกเขาสามารถเข้าใจสิ่งแวดล้อมของตนได้ ตัวอย่างเช่น บางครั้งสายไฟที่ตกอยู่ในน้ำจะเป็นสัญญาณภาพที่เพียงพอที่จะสื่อสารว่าผู้เล่นอยู่ในอันตรายที่จะถูกไฟฟ้าช็อตหากพวกเขายังคงเคลื่อนที่ไปในทิศทางนั้น

เรื่องราว

นอกจากการใช้สัญญาณภาพเพื่อชี้นำผู้เล่นอย่างไม่รู้ตัว เรายังเลือกที่จะแสดงข้อมูลเรื่องราวที่สำคัญเกี่ยวกับครอบครัว บนหน้าจอทั้งหมด ก่อนที่จะเริ่มการปริศนาของห้องเมื่อใดก็ตามที่ผู้เล่นคลิกหรือแตะวัตถุเฉพาะในบ้าน เพื่อชี้นำผู้เล่นไปยังวัตถุที่พวกเขาต้องเลือกเพื่อให้เรื่องราวแสดงออก เราใช้เอฟเฟกต์ไฮไลต์ใหม่เพื่อทำให้วัตถุเฉพาะโดดเด่นจากสภาพแวดล้อมของพวกเขา เอฟเฟกต์นี้ช่วยให้คุณสามารถวาดเส้นรอบๆ และ/หรือทับวัตถุด้วยสีเฉพาะที่เหมาะกับรูปร่างของวัตถุเอง และเลือกว่าผลิตภัณฑ์อื่นๆ จะสามารถซ่อนไฮไลต์หากใกล้กล้องมากกว่าได้หรือไม่

เราเคยใช้ Highlight สำหรับทุกวัตถุที่ผู้เล่นสามารถโต้ตอบได้ แต่เสียงรบกวนที่ปรากฏนั้นรบกวนเกินไปและผู้เล่นจะไม่รู้ว่าต้องโต้ตอบกับอะไรเพื่ออ่านเรื่องราว เราจึงตัดสินใจที่จะใช้เพื่อไฮไลต์เฉพาะรายการที่มีการบิดเบือนหรืออาจอันตราย และการตอบรับทางภาพนี้ช่วยให้ผู้เล่นสามารถขับเคลื่อนเรื่องราวไปข้างหน้าได้อย่างง่ายดาย

ข้อมูลที่น่าสนใจ: เราเคยมีเรื่องราวบนทุกอย่างที่คุณสามารถคลิกได้! นี้ไม่เป็นประโยชน์เพราะผู้เล่นไม่แน่ใจว่าเนื้อหาไหนสำคัญและอะไรคือเพียงแค่ตกแต่ง ในที่สุดเราก็ลบเรื่องราวส่วนหนึ่งออกไปและใช้สัญญาณภาพเพื่อปล่อยให้ส่วนที่เหลือของเรื่องอยู่ในจินตนาการของผู้เล่น

หลังจากที่ผู้เล่นคลิกที่วัตถุที่มีเรื่องราว เราจำเป็นต้องมีวิธีในการแสดงข้อมูลบนส่วนบนของหน้าจอ เราจึงตัดสินใจสร้างโอเวอร์เลย์โดยใช้ ScreenGui เป็นตัวเก็บ UI บนหน้าจอของเราด้วย Frame เด็กเพื่อควบคุมขนาดและการปรับขนาดของ TextLabels และ ImageLabels ของมัน เราได้ตั้งค่าตำแหน่งและขนาดของคุณสมบัติ TextLabels และ ImageLabels เพื่อให้พวกมันจัดวางเข้ากันได้อย่างสวยงามและจะปรับขนาดสำหรับอุปกรณ์ที่แตกต่างกันที่ผู้เล่นใช้เพื่อเข้าถึงประสบการณ์นี้

TextLabels และ ImageLabels จะมีผลต่อองค์ประกอบทางภาพของข้อความและภาพของพวกเขา รวมถึงสี ความโปร่งใส ขนาด และการจัดเรียง สำหรับ TextLabels โดยเฉพาะ คุณสามารถปรับค่าคุณสมบัติ TextLabel.TextScaled และ TextLabel.RichText เพื่อควบคุมเลย์เอาต์และสไตล์ภาพของข้อความ TextLabel.TextScaled ช่วยให้คุณปรับขนาดข้อความให้เติมเต็มพื้นที่ทั้งหมดขององค์ประกอบ UI มารดา และ TextLabel.RichText ช่วยให้คุณใช้แท็กการทำเครื่องหมายอย่างง่ายเพื่อจัดรูปแบบส่วนต่างๆ ของข้อความให้เป็นตัวหนา ตัวเอียง สี หรือแม้แต่ฟอนต์ที่แตกต่างกัน

เราทราบว่าผู้เล่นจะเข้าถึงประสบการณ์นี้จากหลากหลายอุปกรณ์ รวมถึง PC คอนโซล และอุปกรณ์มือถือ และพวกเขาจำเป็นต้องสามารถคลิกหรือแตะที่หน้าจอเพื่อโต้ตอบกับประสบการณ์ เราไม่ต้องการให้มีปุ่มจำนวนมากบนหน้าจอที่รบกวนจากเรื่องราว ดังนั้นเราจึงสร้างปุ่มกลับที่มองไม่เห็นซึ่งมีขนาดเท่ากับทั้งหน้าจอ เพื่อให้ผู้เล่นสามารถคลิกหรือแตะที่ไหนสักแห่งบนโอเวอร์เลย์เรื่องราวเพื่อปิดเนื้อหาและกลับไปสู่การเล่นเกม

ฟองความคิด

เราจำเป็นต้องมีวิธีให้ตัวละครของผู้เล่นสื่อสารความคิดกับผู้เล่น เช่น การให้รสชาติเรื่องราวเพิ่มเติมหรือเสริมสิ่งที่พวกเขาจำเป็นต้องทำ วิธีแก้ปัญหาของเราคือการแสดงฟองความคิด หรือ การตอบสนองเป็นข้อความจากตัวละครของผู้เล่น ใกล้วัตถุที่ไม่ใช่เรื่องราวเมื่อใดก็ตามที่ผู้เล่นเลือกมัน การเล่านี้จะแสดงเพียงแค่ผู้เล่นที่คลิกหรือแตะวัตถุนั้น และโทนเสียงจะเป็นแบบบุคคลที่หนึ่งและสังเกตการณ์เสมอ

ระบบที่ค่อนข้างง่ายแต่ทรงพลังในการให้โลกตอบสนองต่อการโต้ตอบของผู้เล่น!

ในการสร้างฟองความคิด เราได้เชื่อมโยง BillboardGui พร้อมด้วย TextLabel ที่เป็นเด็กกับวัตถุที่ไม่ใช่เรื่องราว ซึ่งช่วยให้เราสามารถแสดงบทสนทนาในพื้นที่ 3D ใกล้วัตถุได้โดยไม่ต้องมีข้อความกินพื้นที่ทั้งหน้าจอ คล้ายกับกระบวนการของเราที่สร้างเรื่องราว เราใช้คุณสมบัติ TextLabel.RichText เพื่อจัดรูปแบบข้อความและเพิ่มเอฟเฟกต์ทางภาพ เช่น สิ่งมีชีวิตจากโลกอื่นที่มาขัดจังหวะความคิดของผู้เล่นเอง ต่อไปนี้คือตัวอย่าง HTML RichText ที่ใช้ในการทำให้ภาพด้านล่าง

"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

โดยการใช้ TextLabels แทนภาพ เราทำให้ข้อความสามารถอ่านได้โดย Roblox และเราสามารถแปลข้อความนี้เป็นภาษาต่างๆ โดยอัตโนมัติและทำให้เข้าถึงผู้เล่นมากขึ้นโดยไม่ต้องทำอะไรเพิ่มเติม! สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้ ดูที่ การแปลโดยอัตโนมัติ.

การประกาศ

ในขณะที่เราต้องการให้ตัวละครของผู้เล่นมีปฏิกิริยาต่อโลก เราก็ต้องการให้โลกเป็นปฏิกิริยาต่อการมีอยู่ของพวกเขาเช่นกัน เพื่อให้บรรลุเป้าหมายนี้ เราได้รวมการประกาศ หรือบทสนทนาในบุคคลที่สาม ที่แสดง บนหน้าจอของผู้เล่นทุกคนในคราวเดียว คล้ายกับเรื่องราว เราได้สร้างการประกาศโดยใช้ ScreenGui เป็นตัวเก็บ UI บนหน้าจอของเราด้วย TextLabel เด็ก นอกจากนี้เรายังได้ใช้คุณสมบัติ TextLabel.RichText เพื่อเปลี่ยนสี ขนาด และฟอนต์ของบทสนทนาเพื่อช่วยส่งเสริม "เอนทิตี" ที่แตกต่างกันที่พูดกับผู้เล่นในบ้าน

การประกาศที่มีข้อความขาวธรรมดาคือปฏิกิริยาของตัวละครผู้เล่นที่เป็นทั่วไปในพื้นที่ ไม่ใช่เฉพาะวัตถุอย่างเทคนิคการเล่าของเรื่องราว
การประกาศที่มีข้อความสีม่วงคือปฏิกิริยาจากสิ่งมีชีวิตที่บิดเบือน
การประกาศที่มีข้อความสีเหลืองคือปฏิกิริยาจากสิ่งมีชีวิตที่ฟื้นคืนชีพ

โดยการใช้คุณสมบัติ TextLabel.RichText และการให้คำสั่ง HTML บางอย่างในนั้นเพื่อขับเคลื่อนการเปลี่ยนแปลง เรายังสามารถทำการเปลี่ยนแปลงในระหว่างประโยคได้! ตัวอย่างเช่น การทำเครื่องหมายข้อความที่มีรวยนี้ทำให้เราสามารถขัดจังหวะปฏิกิริยาของตัวละครผู้เล่นด้วยความคิดของสิ่งมีชีวิตที่บิดเบือน:

What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

เรามีการประกาศประเภทนี้หลายรายการ ซึ่งเป็นผลมาจากปริมาตรของส่วนที่มองไม่เห็นที่ผู้เล่นเดินเข้าไป หรือจากการบรรลุเป้าหมายบางอย่าง เพื่อหลีกเลี่ยงการใช้ ScreenGuis แต่ละรายการจำนวนมาก เราจึงใช้สคริปต์แยกในเดโมที่อนุญาตให้เราจัดเตรียมข้อความที่สคริปต์จะเพิ่มเข้าไปในวัตถุเดี่ยวที่เราชื่อว่า StoryNote ในโฟลเดอร์ PlayerGui ของเรา วัตถุนี้เป็น ScreenGui เดียวที่มี TextLabel เด็ก โดยการใช้สคริปต์ เราสามารถแทรกวลีใด ๆ ที่เราต้องการโดยตรงลงใน TextLabel เดียว ทำให้สะดวกในการทำการเปลี่ยนแปลงเมื่อเราพบวิธีการและสิ่งที่เราต้องการจะสื่อสารกับผู้เล่น!

StoryNote เป็นวัตถุที่เราเรียกใช้สำหรับเหตุการณ์ที่เกิดขึ้นผ่านไปยังสคริปต์ วัตถุเดียวนี้จะจัดเตรียมข้อความและการจัดรูปแบบที่เราต้องการสำหรับแต่ละเหตุการณ์
ตัวอย่างของสคริปต์ที่เรียกใช้วัตถุและกำหนดข้อความต่อเหตุการณ์
TextLabel จริงๆ แล้วว่างเปล่า และเราสามารถแทรก RichText ตามที่จำเป็นกับวัตถุเดียวกันได้ด้วยสคริปต์
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ