2 คะแนน โดย GN⁺ 2023-11-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ทีม Northlight ของ Remedy ได้สร้างเทคโนโลยีหลักใหม่หรือปรับปรุงครั้งใหญ่ ตั้งแต่โครงสร้างเอนจินไปจนถึงการเรนเดอร์ เพื่อ Alan Wake 2 วางรากฐานให้รองรับโลกที่ใหญ่และซับซ้อนยิ่งขึ้น
  • โมเดลอ็อบเจ็กต์เกมแบบ ECS ใหม่ ช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำและการรันแบบขนานอย่างปลอดภัย ทำให้สร้างโลกที่ไดนามิกมากขึ้นบนฮาร์ดแวร์ที่มีจำนวนคอร์ CPU แตกต่างกันได้
  • ตัวควบคุมตัวละครแบบ voxel-based และการเคลื่อนที่ของ NPC ที่ขับเคลื่อนด้วยแอนิเมชัน ช่วยให้ตัวละครเคลื่อนไหวได้อย่างเป็นธรรมชาติแม้ในพื้นที่แคบและซับซ้อน ส่วนเครื่องมือ Scattering ช่วยสนับสนุนการสร้างพืชพรรณที่หนาแน่น
  • การเรนเดอร์ใช้ GPU-driven pipeline ร่วมกับ mesh shader, การ culling แบบ meshlet, แอนิเมชันพืชพรรณบน GPU, HDR และการเรนเดอร์ความโปร่งใสแบบ MBOIT เพื่อจัดการ geometry จำนวนมากขึ้น รวมถึงหมอกและเอฟเฟกต์โปร่งใส
  • เวอร์ชัน PC ใช้ DLSS Frame Generation, DLSS Ray Reconstruction และ Path Traced Indirect Lighting เมื่อการตั้งค่าฮาร์ดแวร์เอื้ออำนวย เพื่อให้ ray tracing แม่นยำและแข็งแกร่งกว่า Control

เอนจิน Northlight และเทคโนโลยีพื้นฐานของเกมเพลย์

  • ระหว่างการพัฒนา Alan Wake 2 นั้น Northlight ได้เปลี่ยนไปใช้ เฟรมเวิร์กอ็อบเจ็กต์เกมแบบ data-oriented ใหม่ทั้งหมด
    • โมเดลใหม่นี้อิงกับ Entity Component System(ECS)
    • ECS ทำให้จัดเก็บข้อมูลอย่างมีประสิทธิภาพต่อหน่วยความจำ และรันแบบขนานได้อย่างมีประสิทธิภาพและปลอดภัย
    • รองรับจำนวนคอร์ของฮาร์ดแวร์เป้าหมายที่หลากหลายได้อย่างมีประสิทธิภาพ ทำให้สร้างโลกที่ใหญ่ขึ้น ไดนามิกขึ้น และสมบูรณ์ยิ่งขึ้นได้
  • เครื่องมือ Scattering สำหรับวางพืชพรรณจำนวนมากก็ใช้ประโยชน์จาก ECS เช่นกัน
    • สามารถวางเอนทิตีในโลกได้มากขึ้น
    • ลดความจำเป็นในการสร้างโซลูชันเฉพาะแยกต่างหากสำหรับการกระจายอ็อบเจ็กต์
  • ในการทำเกมเพลย์ ECS ยังช่วยเร่งความเร็วของงานที่ต้องทำซ้ำ
    • ใช้ในการสร้าง Case Board ซึ่งเป็นสตอรีบอร์ดภาพที่ Saga ใช้รวบรวมหลักฐาน
    • ทำให้เพิ่มหรือแก้ไขระบบใหม่และอ็อบเจ็กต์เกมได้ง่ายขึ้น
    • พบว่าประสิทธิภาพดีขึ้นในการบันทึกและโหลด Case Board

การควบคุมตัวละครและการเคลื่อนที่ของ NPC

  • Alan Wake 2 เป็นผลงานที่ทำให้ต้องออกแบบระบบควบคุมตัวละครของ Northlight ใหม่
    • ตัวควบคุมตัวละครแบบ voxel-based ใหม่ช่วยให้การนำทางลื่นไหลในสภาพแวดล้อมที่แคบ ซับซ้อน และไดนามิก
    • การเคลื่อนไหวของตัวละครเปลี่ยนไปเป็นธรรมชาติและลื่นไหลมากขึ้น
    • โฟกัสอยู่ที่การลดปัญหาตัวละครชนอ็อบเจ็กต์หรือติดค้างในพื้นที่แคบ
  • การเคลื่อนที่ของ NPC ก็ได้รับการปรับปรุงครั้งใหญ่
    • NPC ทุกตัวใช้การเคลื่อนที่ที่ขับเคลื่อนด้วยแอนิเมชันร่วมกับ Motion Matching แบบอิงระยะทาง ใหม่
    • คุณภาพการเคลื่อนที่สูงขึ้น และควบคุมได้ดีขึ้นว่าแอนิเมชันถูกใช้เมื่อใดและอย่างไร

ลม พืชพรรณ และเครื่องมือสคริปต์

  • ลมที่สมจริงใน Alan Wake 2 ส่งผลต่อฟิสิกส์ พาร์ติเคิล และผ้า
    • game designer สามารถกำหนดความเร็วลมที่แตกต่างกันสำหรับพื้นที่ในร่มและกลางแจ้งได้อย่างง่ายดาย
    • การเปลี่ยนผ่านระหว่างสองพื้นที่เกิดขึ้นอย่างราบรื่นและไม่ต้องเก็บสถานะ
    • ในรถที่ Saga และ Casey นั่ง มีการใช้ wind box ที่เคลื่อนที่ได้เพื่อกำหนดภายในรถเป็นพื้นที่ในร่มที่ไม่มีลม
  • ระบบลมสร้างอยู่บนวิธี Signed Distance Fields(SDF)
    • wind box ใช้เป็น primitive ที่กำหนดฟิลด์ความแรงลมทั่วโลกอย่างนุ่มนวล
    • ทำหน้าที่เหมือนบล็อกพื้นฐานสำหรับกำหนดความแรงลมของแต่ละพื้นที่ ทำให้รูปแบบลมระหว่างในร่มกับกลางแจ้งราบรื่น
  • เครื่องมือ Scattering ใหม่พัฒนาขึ้นเพื่อสร้างพืชพรรณและพร็อพสภาพแวดล้อมในสเกลใหญ่
    • ใช้สร้างสภาพแวดล้อมของ Alan Wake 2 ที่หนาแน่น สมบูรณ์ และมีชีวิตชีวามากขึ้น
    • ใช้ร่วมกับ ระยะการมองเห็น(draw distance) ที่ไกลกว่าเดิม ทำให้ผู้เล่นมองเห็นอ็อบเจ็กต์และรายละเอียดที่อยู่ไกลขึ้นได้
  • ภาษาสคริปต์เปลี่ยนจากภาษาของตนเองไปเป็น Luau ซึ่งเป็นภาษา embedded scripting ที่ Roblox สืบทอดจาก Lua
    • Luau เปิดเผยฟังก์ชันของเอนจินได้กว้างขวางและรองรับการแก้ไขแบบ live editing
    • ใช้กับระบบเกมเพลย์หลายส่วน เช่น level scripting และระบบอัปเกรดอาวุธ
    • ทีมเกมสามารถทำ prototype และ implement ฟีเจอร์เกมและเอฟเฟกต์ VFX ได้หลากหลายโดยไม่ต้องอาศัยความช่วยเหลือจากโปรแกรมเมอร์เอนจิน
    • Remedy สร้างส่วนขยาย language server สำหรับ VS Code ของตนเองและผสานเข้ากับ development pipeline
    • การนำ Luau มาใช้ทำให้ลบโค้ดที่ไม่จำเป็นต้องบำรุงรักษาอีกต่อไปได้ราว 80,000 บรรทัด

การเรนเดอร์ที่เน้น GPU และแอนิเมชันพืชพรรณ

  • Alan Wake 2 แสดงให้เห็น GPU-driven rendering pipeline ใหม่ของ Northlight
    • สามารถใส่ geometry ในโลกได้มากขึ้นโดยไม่ต้องเสียสละประสิทธิภาพ
    • การเรนเดอร์แบบ GPU-driven ที่ใช้ mesh shader ทำให้ทำ occlusion culling ได้แม่นยำระดับพิกเซลเดียว
    • องค์ประกอบทั้งหมดในฉากสามารถใช้เป็นตัวบังได้
    • ด้วยความสามารถในการวาดเฉพาะสิ่งที่มองเห็น โลกของ Alan Wake 2 จึงมีรายละเอียดเชิงเรขาคณิตมากกว่าผลงานที่วางจำหน่ายก่อนหน้า
  • rendering pipeline ทำการ culling ไม่ใช่แค่ mesh แต่รวมถึง meshlet ด้วย
    • meshlet คือกลุ่มสามเหลี่ยมขนาดเล็กกว่าและปรับให้เหมาะสมแล้ว ซึ่งดึงมาจาก mesh
    • สามารถดูโครงสร้าง meshlet ได้จากตัวอย่างตำแหน่งร้านสะดวกซื้อที่ Cauldron Lake
  • สภาพแวดล้อมป่าดึกดำบรรพ์อันกว้างใหญ่สร้างด้วย ระบบพืชพรรณแบบ shader-based ใหม่
    • ระบบนี้อิงกับระบบ skinning ใหม่ที่ทำงานทั้งหมดบน GPU
    • รองรับแอนิเมชัน bone shader ที่ art-driven
    • ใน Alan Wake 2 ทำให้สามารถใช้ริกแบบตัวละครกับพืชพรรณทั้งหมดที่เห็นในสภาพแวดล้อมได้
  • bone shader เปิดเผย API ที่ให้ศิลปินเขียนโค้ด shader เองและเชื่อมต่อกับระบบพื้นฐานได้
    • ในทางเทคนิคสามารถนำไปใช้ได้ไม่เฉพาะกับพืชพรรณ แต่ยังรวมถึงอ็อบเจ็กต์ที่ไหวอยู่บนผิวน้ำ หรือสายไฟที่ไหวตามลม
    • ที่ Cauldron Lake มีการประมวลผล bone เกือบ 300,000 ชิ้น ในทุกเฟรม

HDR, การเรนเดอร์ความโปร่งใส, VFX, ray tracing

  • Alan Wake 2 รองรับ HDR อย่างเต็มรูปแบบ
    • ปรับแต่งมาให้ดูดีทั้งบนจอ SDR และ HDR ตั้งแต่ค่าเริ่มต้น
    • การรองรับ HDR ต้องใช้แนวทางใหม่ในการทำ tone mapping
    • การปรับสีทำโดย colorist จริงตามมาตรฐาน HDR เพื่อรักษาสไตล์ศิลป์ บรรยากาศ และการเล่าเรื่องที่เป็นเอกลักษณ์ไว้ทั้งใน HDR และ SDR
  • ฉากหมอกหนาอิงกับการปรับปรุงการเรนเดอร์ความโปร่งใส
    • Northlight ปรับปรุงการเรนเดอร์ความโปร่งใสใหม่ทั้งหมดระหว่างการพัฒนา Alan Wake 2
    • ใช้ MBOIT(Moment-Based Order-Independent Transparency) เพื่อให้พื้นผิวโปร่งใสที่มีระดับรายละเอียดต่างกันผสมกันได้อย่างนุ่มนวล
    • วาดองค์ประกอบโปร่งใสด้วย MBOIT ที่สามระดับความละเอียด
    • สามารถ blend หมอก geometry โปร่งใส และเอฟเฟกต์ได้อย่างไร้รอยต่อ
    • pipeline สำหรับควบคุมการวางหมอกในโลกอย่างละเอียดขึ้นก็ได้รับการปรับปรุงด้วย
    • รวมการจัดแสงโปร่งใสระดับพิกเซลกับ reflection ที่ได้รับผลจากหมอก ทำให้องค์ประกอบทึบแสงและโปร่งใสเข้ากันได้ดีกว่าโปรเจกต์ก่อนหน้า
    • หมอกประมาณค่า multiple light scattering เพื่อสร้างบรรยากาศที่หนาแน่นและสมจริง
  • เครื่องมือ VFX แบบ node-based ของ Northlight พัฒนาไปมากทั้งด้านฟีเจอร์สนับสนุนและประสิทธิภาพ runtime
    • ศิลปิน VFX สามารถสร้างเอฟเฟกต์ที่ซับซ้อนและไดนามิก เช่น ฝน ความเปียก การจำลองน้ำ และบาดแผลของตัวละคร
    • เครื่องมือ VFX ยังได้ประโยชน์จาก GPU-driven rendering ทำให้ประมวลผล geometry จำนวนมากผ่าน GPU ได้
    • เช่น ใช้เมื่อเรนเดอร์อ็อบเจ็กต์ rain blocker ลงใน dynamic mask เพื่อไม่ให้เห็นฝนในอาคารหรือใต้ที่กำบัง
  • ray tracing รองรับ ray-traced direct lighting เต็มรูปแบบ
    • ร่วมกับ Nvidia ผสานอัลกอริทึม denoising และ indirect lighting ที่ได้รับการปรับปรุง
    • ray tracing ของ Alan Wake 2 แม่นยำและแข็งแกร่งกว่าที่เห็นใน Control
    • เนื่องจากแอนิเมชันของ geometry พืชพรรณทั้งหมดสร้างและจำลองด้วย skinning จึงทำให้ ray tracing แสดงพืชพรรณที่เคลื่อนไหวได้ดีขึ้น
  • ผู้เล่น PC สามารถใช้เทคโนโลยี Nvidia DLSS รุ่นล่าสุดได้ หากการตั้งค่า GPU และ CPU เอื้ออำนวย
    • DLSS Frame Generation

    • DLSS Ray Reconstruction

      • Path Traced Indirect Lighting

1 ความคิดเห็น

 
GN⁺ 2023-11-08
ความคิดเห็นจาก Hacker News
  • ถ้าคิดว่า Remedy เป็นสตูดิโอที่ทั้งบริษัทมีคนแค่ไม่กี่ร้อยคน ก็ต้องบอกว่าเป็นบริษัทที่ทำกราฟิกได้เกินขนาดตัวเองมาโดยตลอด
    ในบรรดาสตูดิโอที่น่าจับตา ดูเหมือนมีแค่ Remedy กับ CD Projekt Red เท่านั้นที่พอจะแข่งกับเอนจินใหญ่ ๆ อย่าง Unreal, Unity, EA Frostbite ได้ในแง่คุณภาพภาพและประสิทธิภาพ
    ถ้าสนใจคอมพิวเตอร์กราฟิกส์หรือเทคนิคัลอาร์ต งานนำเสนอ GDC/SIGGRAPH ของพวกเขายอดเยี่ยมมาก
    Alan Wake 2 เป็นหนึ่งในเกมที่สวยที่สุดตลอดกาลในเชิงเทคนิค และโดยส่วนตัวผมมองว่าในเชิงศิลปะก็เช่นกัน การที่ปรับทุกอย่างลงต่ำสุดแล้วยังดูดีอยู่ถือเป็นความสำเร็จจริง ๆ เพราะการทำให้เกมขยายไปถึงฮาร์ดแวร์เก่า ๆ ได้แล้วยังดูดีนั้นเป็นเรื่องยาก
    อย่างไรก็ตาม อย่างที่นักวิเคราะห์อย่าง Digital Foundry พูดไว้ ถ้า GPU ไม่รองรับ mesh shader ประสิทธิภาพจะแย่มาก บทความนี้ก็พูดถึงการใช้ mesh shader สำหรับการ culling ซึ่งช่วยให้วัตถุอย่างถ้วยกาแฟหรือยางรถดูเป็นทรงกลมสมบูรณ์ได้ ขณะเดียวกันก็หลีกเลี่ยงปัญหาแบบ “NPC ทุกตัวมีฟัน 10,000 โพลิกอนอยู่ในปาก” ที่ทำให้ประสิทธิภาพของ Cities Skylines 2 พัง หนึ่งในข้อได้เปรียบใหญ่ ๆ ของ Nanite ใน Unreal 5 ก็อยู่ตรงนี้เช่นกัน

    • Remedy เป็นบริษัทที่เริ่มต้นโดย แฮ็กเกอร์สายเดโมซีน รวมถึงคนจาก Future Crew
      จากเดโมสุดน่าทึ่ง Second Reality ในปี 1993 มาจนถึง Alan Wake 2 ในอีก 30 ปีให้หลัง สามารถลากเส้นเชื่อมโยงได้ค่อนข้างชัดเจน
      https://www.youtube.com/watch?v=iw17c70uJes
    • น่าเสียดายที่คอมเมนต์ดี ๆ จบลงด้วยความเข้าใจผิดตรงส่วน “NPC ทุกตัวมีฟัน 10,000 โพลิกอนอยู่ในปากจนทำให้ประสิทธิภาพ Cities Skylines 2 พัง”
      ปัญหาประสิทธิภาพใหญ่กว่าการ “เรนเดอร์ฟันที่มองไม่เห็น” มาก: https://blog.paavo.me/cities-skylines-2-performance/
      ยกเป็นตัวอย่างแล้วเข้าใจง่ายก็จริง แต่ปัญหาที่ใหญ่กว่าคือ การขาด LOD และ การ culling ไม่เพียงพอ
    • ฟินแลนด์มี นักพัฒนา GPU ที่เก่งมากจริง ๆ และเดโมซีนก็น่าจะมีอิทธิพลสูง Remedy นั้นยอดเยี่ยม
      CD Projekt Red กำลังย้ายผลงานในอนาคตไป UE5 ไม่ใช่หรือ? น่าเสียดาย Cyberpunk สวยจริง ๆ และผมอยากเห็นเกมมัลติเพลเยอร์ที่ทำด้วยเอนจินนั้น
    • Remedy มีพนักงาน 360 คน
      CDPR มี 1236 คน, DICE ผู้สร้าง Frostbite มี 714 คน, Epic มี 2200 คนก่อนการปลดพนักงานครั้งล่าสุด
      ตัวเลขทั้งหมดอ้างอิงจาก Wikipedia
    • Remedy แทบจะถือได้ว่าเป็นสายสืบทอดของ Future Crew ที่โด่งดังจากเดโม Unreal/Second Reality
      ถ้าไม่ใช่คนที่นิยามและทำให้คอมพิวเตอร์กราฟิกส์สมัยใหม่เป็นที่นิยม แล้วใครล่ะจะผลัก GPU ไปจนสุดขีดได้?
  • แม้แต่ตัวอย่างแรกก็ยังมีส่วนที่เท้าลื่นไปกับพื้น หรือโดนวัตถุขวางจนไปข้างหน้าไม่ได้แต่กลับเหมือนเดินอยู่กับที่แล้วลื่น ซึ่งค่อนข้างขัดตา
    สงสัยว่าปัญหาแบบนี้จะถูกแก้ได้เมื่อไร
    แน่นอนว่าเอนจินเองน่าทึ่งมาก และเอฟเฟกต์ภาพกับระบบต่าง ๆ ก็อยู่ในระดับดีที่สุดเท่าที่เคยเห็นมา

    • มันเป็นการประนีประนอมระหว่าง การเคลื่อนไหวที่ตอบสนองไว กับ การเคลื่อนไหวที่สมจริง เสมอ
      RDR2 มีแอนิเมชันที่สมจริงมาก แต่ความรู้สึกตอนควบคุมจะออก “ลอย ๆ” อยู่บ้าง
      โดยส่วนตัวผมชอบการเคลื่อนไหวที่ฉับไว คือกดซ้ายแล้วตัวละครบนจอก็ขยับไปทางซ้ายทันที ระบบแอนิเมชันที่ดูสมจริงกว่าจะทำให้เกิดความหน่วงจนกว่าแอนิเมชันเท้าจะ “ตามทัน” อินพุตของผู้เล่น
    • จริง ๆ เป็นปัญหาที่แก้ได้แล้ว ระบบ IK หลายแบบจัดการได้ดี และบางเกมก็ให้ foot IK ตามสภาพภูมิประเทศ หรือให้ hand IK ผลักออกจากพื้นผิว
      แต่การทำ raycasting และคำนวณ IK ต่อเนื่องไม่ได้ฟรี จึงต้องแลกกับประสิทธิภาพ และยังชนกับเรื่องการตอบสนองด้วย
      หลายเกมเลือกการเคลื่อนที่ที่เร็วกว่าและการควบคุมที่ตอบสนองไวกว่า สรุปคือในเชิงเทคนิคปัญหานี้ถูกแก้มาหลายปีแล้ว แต่ก็เหมือนทุกองค์ประกอบของเกมดีไซน์ มันคือการเลือกและการประนีประนอม
    • Alan Wake II ใช้ motion matching จริง ๆ ซึ่งเท่าที่ผมรู้เป็นแนวทางที่ดีที่สุดสำหรับปัญหาแอนิเมชันนี้ และในบล็อกโพสต์ก็กล่าวถึงไว้
      เป็นวิธีที่หลายที่ใช้ รวมถึง Naughty Dog ด้วย อย่างไรก็ตาม เช่นเดียวกับคอมเมนต์อื่น ๆ ความตึงเครียดพื้นฐานระหว่างการตอบสนองกับความแม่นยำของแอนิเมชันยังคงอยู่
    • นี่อาจเป็นปัจจัยที่ค่อนข้างสำคัญ โดยปกติมุมกล้องจะจัดไม่ให้เห็นเท้าของตัวละครชัดนัก [1]
      ใน Control ซึ่งเป็นผลงานก่อนหน้าของ Northlight อาการนี้น้อยกว่า [2]
      [1] https://youtu.be/jQb07FHJ-bQ?t=628
      [2] https://youtu.be/fcDK6tnx4vM?t=6700
    • ผมเคยเห็นการสาธิตวิธีแก้ในช่อง YouTube ชื่อ Two Minute Papers
      จริง ๆ แล้วเป็นเรื่องเกี่ยวกับ อัลกอริทึม ที่ผสมแอนิเมชันเพื่อให้การเปลี่ยนผ่านดูเป็นธรรมชาติ
  • รู้สึกสดใหม่ที่ได้เห็นสิ่งอื่นที่ไม่ใช่เกมอีกเกมที่ใช้ Unreal Engine
    การมี เอนจินภายในบริษัท ของตัวเองคงยากอย่างมหาศาล ตัวเอนจินเองก็เป็นปัญหา แต่เครื่องมือสำหรับสร้างเลเวล แอนิเมชัน และอื่น ๆ อาจยากยิ่งกว่าด้วยซ้ำ
    ถึงอย่างนั้นก็น่าจะมีข้อดีอยู่ การควบคุมสถาปัตยกรรมระดับต่ำได้มากขึ้นทำให้มีโอกาสปรับแต่งประสิทธิภาพมากขึ้น ซึ่งยากกว่าในเอนจินอเนกประสงค์อย่าง Unreal
    อยากเล่นเกมนี้เร็ว ๆ

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

    • ปัญหาเรื้อรังของภาษาการตลาดดูเหมือนจะอยู่ที่ว่า ต้องเรียบเรียงทุกอย่างใหม่ให้ “เข้าใจได้” แม้กับคนที่ไม่รู้อะไรเลยเกี่ยวกับผลิตภัณฑ์ที่กำลังทำการตลาดจริง ๆ
    • ส่วนท้ายของประโยคนั้นก็ยังเป็น ภาษาการตลาด ทั้งหมดอยู่ดี
      ทั้งประโยคคือการตลาด และมุกตลกในนั้นก็เป็นการตลาดด้วย
  • สงสัยว่าตอนนี้ Remedy คิดอย่างไรกับการใช้ ภาษา D ใน ecosystem ของตน ถ้ายังใช้อยู่ ก็อยากเห็นว่าระหว่างพัฒนา AW2 เจอปัญหาอะไรบ้าง
    เอกสารอ้างอิง: Using an Emerging Language in Quantum Break (https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdceurope201...)
    DConf 2016: Quantum Break: AAA Gaming With Some D Code -- Ethan Watson (https://www.youtube.com/watch?v=7YjLW7anNfc)

    • ดูเหมือนจะไม่มีการยืนยันอย่างเป็นทางการ แต่มีคนพูดกันว่า หลัง Quantum Break ได้ ลบ D ออกจาก codebase ทั้งหมด แล้ว
      ที่แน่ ๆ ตอนนี้ก็ไม่ได้กำลังหานักพัฒนา D อยู่
      ถ้าอยากขุดหาต้นทาง ลิงก์นี้ใช้เป็นจุดเริ่มได้: https://forum.dlang.org/post/lymybpygzfalbdgoaizr@forum.dlan...
    • เช่นกัน อยากรู้มากกว่านี้
      คนที่เคยนำเสนอเรื่องนั้นไม่ได้ทำงานที่นั่นแล้ว และเมื่อเห็นที่ใหญ่ ๆ อย่าง Facebook ก็เลิกใช้ D ไปแล้ว ก็ดูเหมือนคงไม่ได้ใช้ต่อ แต่ก็อยากให้พิสูจน์ได้ว่าคิดผิด
    • ในสตูดิโอเกม การใช้ภาษาอื่นหรือเทคโนโลยีเฉพาะตัวมักขับเคลื่อนด้วย คนคนเดียวที่เป็นหัวเรี่ยวหัวแรง
      ถ้าคนนั้นออกไป หรือย้ายออกจากตำแหน่งที่สามารถ contribute และ maintain ได้ มันก็มักจะค่อย ๆ ถูกแทนที่ เว้นแต่ว่าทีมที่เหลือและสตูดิโอจะสนับสนุนและยอมรับจริง ๆ
      ได้ยินมาว่ามีคนหนึ่งที่ผลักดันให้เขียนด้วย D แต่ไม่รู้ว่ายังอยู่หรือเปล่า
  • จำได้ว่าทีมบางส่วนที่เคยทำคอนเทนต์ระดับท็อปบน Unreal Marketplace ก็มีส่วนร่วมกับเกมนี้ด้วย
    https://mawiunited.com/
    เป็นคอนเทนต์ที่ยอดเยี่ยม อยากให้มีสตูดิโอที่ทำ คอนเทนต์ UE5 แบบนี้ออกมามากขึ้น

  • น่าสนใจที่พวกเขาเปลี่ยนไปใช้ Luau ของ Roblox เป็นสภาพแวดล้อมสคริปต์
    ผมสงสัยมาตลอดว่าทำไมในเทคโนโลยีเกมถึงมีหลายที่ใช้ Lua สำหรับสคริปต์กันมากขนาดนี้ โดยเฉพาะแม้แต่ตอนออกแบบตั้งแต่ต้น

    • ตอนนี้ ต้นทุนในการผสาน Lua เข้ากับเกม แทบจะฟรีแล้ว
      อะไรก็ตามที่ใช้ C runtime ได้ ก็ฝัง Lua scripting เข้าไปได้
      นั่นจึงเป็นเหตุผลที่มันถูกใช้เหมือนตัวเลือกพื้นฐานมาตั้งแต่ Baldur’s Gate 1 ไปจนถึง Warcraft III และเกมยุคใหม่อย่าง Roblox
    • ไม่มี dependency เพิ่มเติม ควบคุมได้เต็มที่ว่าจะรวมไลบรารีอะไร และไม่มี ข้อกำหนดโครงสร้างโฟลเดอร์ ที่ไร้สาระ
    • Lua เร็วเมื่อเทียบกับภาษา scripting อื่น ๆ คุ้นเคยกันดี และฝังเข้าไปในโปรแกรม C++ ได้ง่ายอย่างเหลือเชื่อ
  • การเคลื่อนไหวของตัวละครยังรู้สึกเป็น uncanny valley อยู่พอสมควร
    ในวิดีโอ “ตัวควบคุมตัวละครแบบ voxel” ท่าเดินดูเหมือนลื่นไถล และช่วงไม่กี่วินาทีแรกของ “การเคลื่อนที่ของ NPC” การเดินก็ดูแปลก ๆ
    น่าจะเป็นเพราะแต่ละก้าวเหมือนกันเป๊ะ และใช้ระยะก้าวเท่ากันหมด เลยทำให้ตัวละครเคลื่อนไหวแบบเข้าจังหวะกันจนน่าอึดอัด
    ช่วงท้ายวิดีโอที่ตัวละครแต่ละตัวสลับระหว่างเดินกับวิ่งเอง จะเห็นการเคลื่อนไหวหลากหลายกว่าและดูสมจริงขึ้นมาก สงสัยว่าทำไมการใส่รายละเอียดความแตกต่างของการเคลื่อนไหวให้มากขึ้นโดยรวมถึงทำได้ยากขนาดนี้

    • ถ้าอยู่กลางฉากแอ็กชันจริง ๆ ส่วนใหญ่จะไม่ทันสังเกตเรื่องพวกนั้น เพราะมัวยุ่งกับการดูอย่างอื่น
      แต่เพื่อสนับสนุนประเด็นนั้น NPC ฝ่ายมิตรแทบทั้งหมดจะยืนอยู่เฉย ๆ ส่วนในพื้นที่ศัตรู พอศัตรูกรูกันเข้ามา คุณก็จะไม่มานั่งดูวิธีเดินของมันอยู่แล้ว และยังไงก็ถูกหมอกบังอยู่ด้วย
      ส่วนตัวมองว่า Control เป็น tech demo ของทั้งหมดนี้ นั่นยังอธิบายได้ด้วยว่าทำไมจำนวนศัตรูถึงน้อยกว่ามาก และถูกจัดวางเป็นเรื่องสยองขวัญ
    • สงสัยว่าสักวันจะมีอะไรอย่าง WalkGPT ที่มีโหมดปกติกับโหมดซอมบี้ออกมาหรือเปล่า
  • งั้นแปลว่าพวกเขามีทั้ง เอนจินเกม ECS, renderer ระดับ AAA, เทคโนโลยีคล้าย Nanite, เอนจิน scripting บน Lua และ facial animation ระดับ Hollywood เลยใช่ไหม?
    ควรปล่อยเอนจินออกมาได้แล้ว น่าจะเป็นคู่แข่งที่แข็งแกร่งของ Unreal ได้ ด้วย ECS จึงขยายสเกลได้มากกว่า และเขียนด้วย Luau ก็ง่ายกว่า

    • Epic Games เป็นคนออกทุนพัฒนา Alan Wake 2 และเกมก็ exclusive บน Epic Games Store
      ได้รู้เรื่องนี้แบบเจ็บปวดตอนพยายามซื้อเกมบน Linux ดังนั้นถ้าไปแข่งกับ Unreal ก็มีโอกาสสูงที่จะทำให้ความสัมพันธ์ฝั่งนั้นแย่ลง
    • สตูดิโอที่มีเทคโนโลยีแบบนั้นมีอยู่เยอะ
      แต่การเปลี่ยน ซอฟต์แวร์ภายใน ให้กลายเป็นผลิตภัณฑ์ที่คนอื่นใช้ได้ เป็นคนละเรื่องกันโดยสิ้นเชิง
    • การเรียกว่าคล้าย Nanite ดูจะเกินไปหน่อย
      จริงอยู่ที่ Remedy นำ meshlet pipeline มาใช้ แต่ในงาน rendering ระดับล้ำสมัย ตอนนี้มันแทบจะกลายเป็นกระแสหลักแล้ว ผมยังไม่เห็นการกล่าวถึงว่าใช้ compute shader เพื่อเรนเดอร์สามเหลี่ยมเล็ก ๆ จริง ๆ แบบ Nanite แต่อาจเป็นผมที่พลาดไปก็ได้
    • ตอนซื้อ 3090 ใหม่ ๆ ผมคาดหวังว่าจะได้เล่น Control แบบเปิด ray tracing ได้เสียที แต่ก็ไม่ได้
      ตอนนี้ Alan Wake 2 แม้ปิด ray tracing ก็รัน High settings ได้แบบฉิวเฉียดเท่านั้น
      ในเชิงภาพเป็นเอนจินที่น่าทึ่ง แต่ส่วนตัวคิดว่า สเปกที่ต้องการ สูงเกินไป
  • สถาปัตยกรรม Entity-Component-System (ECS) ก็ถูกใช้ในเกมเอนจินโอเพนซอร์สรุ่นใหม่ ๆ อย่าง Bevy[1] ด้วย
    แม้จะไม่ได้ทำเกมมานานแล้ว แต่พอได้ยินเรื่องสถาปัตยกรรมที่ลดทอนแนวทางเชิงวัตถุอันหนักและซับซ้อนที่เคยเห็นบ่อยในเกม ก็ทำให้อยากกลับไปลองลงมือดูอีกครั้ง
    [1]: https://bevyengine.org/

    • ECS มีประวัติการนำไปใช้กับสิ่งที่เก่ากว่านั้นมานานแล้วด้วย
      เริ่มได้รับแรงส่งมาตั้งแต่ต้นทศวรรษ 2000 และแม้ตอนนี้จะยังไม่ใช่สิ่งที่ใช้กันทั่วไป แต่ก็ถูกใช้มายาวนานเหมือนเป็นพื้นฐานอย่างหนึ่ง รวมถึงในเอนจินโอเพนซอร์สบางตัวด้วยเช่นกัน
      ตัวอย่างเช่น ดูได้ที่ https://github.com/Adelost/entity-component-systems-study#re...