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



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


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

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

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




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

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

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

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

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

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

โดยใช้ 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>

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


