Deep Dives ผู้พัฒนาเกมเป็นซีรีส์ต่อเนื่องที่มีเป้าหมายเพื่อให้ความกระจ่างเกี่ยวกับการออกแบบ ศิลปะ หรือคุณลักษณะทางเทคนิคเฉพาะภายในวิดีโอเกม เพื่อแสดงให้เห็นว่าการตัดสินใจออกแบบพื้นฐานที่ดูเหมือนเรียบง่ายนั้นไม่ได้ง่ายเลยจริงๆ

ภาคก่อนหน้านี้ครอบคลุมหัวข้อต่างๆ เช่น การออกแบบการต่อสู้ให้เข้ากับจังหวะดนตรีใน โลหะ: Hellsingergamifying กระบวนการเรียนรู้การเขียนโค้ดด้วย หนึ่งคนช่างฝันและการจัดการตัวเลือกที่มีความหมายในเกมเล่าเรื่องแบบผู้เล่นหลายคนใน สวรรค์วันสิ้นโลก. ในฉบับนี้ นักพัฒนาบน LEGO Bricktales แบ่งปันรายละเอียดทางเทคนิคบางอย่างเกี่ยวกับการสร้างรูปแบบศิลปะที่จะสร้างความคิดสร้างสรรค์และความมหัศจรรย์ของการสร้างด้วยตัวต่อ LEGO ได้อย่างแม่นยำตั้งแต่ยังเป็นเด็ก

สวัสดี เราชื่อ Nathalie Schuster-Gieb และ Stephan Sossau จาก ClockStone Studio ClockStone Studio ตั้งอยู่ในเมือง Tyrol ประเทศออสเตรีย เป็นผู้พัฒนาเกมอิสระรายเล็กๆ ซึ่งขึ้นชื่อในเรื่อง ตัวสร้างสะพาน
ซีรี่ย์ก่อนลุยงานต่อ เลโก้ Bricktalesซึ่งเรามีความยินดีที่ได้มีส่วนร่วมในฐานะศิลปิน อันที่จริง การทำซ้ำช่วงแรกสุดของเกมของเรานั้นตั้งใจให้เข้ากับแฟรนไชส์ของเราเองในฐานะa ตัวสร้างสะพาน ปั่นออกไป! อย่างไรก็ตาม เห็นได้ชัดว่ามีโอกาสปลดล็อกได้มากกว่า เหตุใดจึงต้องสร้างสะพานเฉพาะในเมื่อตัวต่อเลโก้เป็นวัสดุอเนกประสงค์

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

การเข้าถึงเมนูในเกมทำให้ผู้เล่นสามารถดูไดโอราม่าได้อย่างเต็มที่

ทุกอย่างคือตัวต่อเลโก้

ทันทีที่เราพบว่าเราต้องการค้นหาเพิ่มเติมว่าการเล่นองค์ประกอบ LEGO นั้นหมายความว่าอย่างไร เราต้องคิดอย่างจริงจังถึงความหมายของมันด้วยซ้ำ ในช่วงแรกๆ เรามุ่งมั่นที่จะสร้างไดโอรามาที่สร้างจากตัวต่อ LEGO เท่านั้น วิสัยทัศน์ของเราในฐานะศิลปินคือสิ่งที่คุณสามารถสร้าง IRL บนโต๊ะในห้องนั่งเล่นของคุณ และจากนั้นก็เล่นด้วย เช่นเดียวกับฉาก LEGO ที่วิจิตรบรรจง ทำให้เป็นแบบดิจิทัลโดยคำนึงถึงรูปลักษณ์ที่แท้จริงของต้นฉบับ นี่หมายความว่าเราต้องทำงานภายใต้กฎเกณฑ์และแนวทางที่กำหนดไว้

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

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

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

ตึกใหญ่

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

หลังจากการทดสอบบางอย่าง เราก็ได้ข้อสรุปว่าเราจะต้องพึ่งพาการแยกโทโพโลยีของไดโอรามาออกเป็นชิ้นส่วนที่สร้างจากองค์ประกอบเลโก้ ซึ่งเป็นแนวทางทั่วไปในการพัฒนาเกม เพื่อให้มีความเฉพาะเจาะจงมากขึ้น เราได้สร้างโทโพโลยีของแต่ละไทล์ตามอัลกอริธึมที่เรียกว่า “Marching Cubes” ซึ่งส่วนใหญ่ใช้สำหรับการสร้างพื้นผิวใหม่จากฟิลด์สเกลาร์ แนวคิดพื้นฐานเบื้องหลังคือคุณสร้างตาราง 3 มิติของจุดด้วยรหัสวัสดุ ในรูปแบบที่ง่ายที่สุด เรามีเพียง 2 ID: ภูมิประเทศและอากาศ ลูกบาศก์แต่ละอันประกอบด้วย 8 แต้มซึ่งสอดคล้องกับแต่ละมุมของมัน กระเบื้องปูพื้นพื้นฐานสำหรับตัวละครที่จะเดินต่อไปจะมี Terrain ID สำหรับสี่จุดที่ต่ำกว่าและ Air ID สำหรับส่วนบน สมมติว่าคุณต้องการแทรกหิ้งเข้าไปในไดโอรามาของคุณแทน จากนั้นคุณจะต้องวางลูกบาศก์โดยที่จุดล่างสองจุดมีรหัสภูมิประเทศ ในขณะที่จุดอื่นๆ ทั้งหมดเป็น Air โว้ว เราสามารถแปลตารางทุกจุดเท่าที่จะจินตนาการได้เป็นปริมาตรที่ทำจากไทล์ ตราบใดที่เราเตรียมไทล์ที่เป็นไปได้ทั้งหมดที่จำเป็น

ปั่นจักรยานผ่านกระเบื้อง “ทะเลทราย” ที่ได้รับการคัดสรร



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

ทุกอย่างเริ่มต้นด้วยตารางลูกบาศก์

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

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

ทำงานมากมายเพื่อให้น้ำไหลเหมือนเดิม

ผูกมันทั้งหมดเข้าด้วยกัน

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

โลกที่ว่างเปล่าและเศร้าโศกทางด้านซ้าย ด้านขวาคือโลกใบเดียวกัน ฟื้นคืนชีพโดยใช้อุปกรณ์ประกอบฉาก กระเบื้องพิเศษ และเอฟเฟกต์

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

มีการวิจัยมากมายเกี่ยวกับสถานที่จริงในการออกแบบภาพของ LEGO Bricktales. ตัวอย่างเช่น ป่าได้รับแรงบันดาลใจจากภาพสถานที่ต่างๆ ในกัมพูชา เช่นเดียวกับรูปปั้นที่พบในไดโอรามา แน่นอนว่าอาจมีคนสร้างการประมาณที่ดีของหัวหินที่น่าประทับใจของนครวัดด้วยวิธีอิฐบนอิฐโดยเฉลี่ยของคุณ แต่การใช้กลยุทธ์การสร้างขั้นสูงจะช่วยให้ได้รายละเอียดมากขึ้นโดยใช้พื้นที่น้อยลง ซึ่งเป็นสิ่งสำคัญเมื่อคุณต้องการเก็บไดโอรามาของคุณ ขนาดที่แน่นอน กลยุทธ์หนึ่งที่เราได้เรียนรู้คือ SNOT ซึ่งย่อมาจาก “Studs Not On Top” ซึ่งหมายถึงการเปลี่ยนการวางแนวการวางอิฐของคุณผ่านอิฐพิเศษ ตอนนี้คุณสามารถมีปุ่มสตั๊ดชี้ไปด้านข้างแทนการยกขึ้น ช่วยให้มีความยืดหยุ่นมากขึ้นและรูปลักษณ์ใหม่ทั้งหมดสำหรับโครงสร้าง

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

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

Recommended Posts