- นี่ไม่ใช่เครื่องมือสำหรับเล่นฐานใหม่ใน Factorio แต่เป็นโปรเจกต์ทดลองที่ให้ สำรวจการทำงานของฐาน 2D เดิมในพื้นที่ 3D ของ UE5
- ขั้นตอนการสร้างแอสเซ็ตดำเนินตามลำดับ โมเดลด้วย Cinema4D, ทำเท็กซ์เจอร์ใน Photoshop, ส่งออกเป็น FBX, แล้วนำไปใช้เชดเดอร์ใน UE5 โดยอ้างอิงจากสไปรต์ในเกม
- เมื่อม็อด FUE5 exporter ส่งออกข้อมูลภายในของ Factorio เป็น JSON แล้ว FUE5 จะอ่านชนิดอาคาร ทิศทาง และการเชื่อมต่อสายเคเบิล เพื่อประกอบฐานขึ้นใหม่ในเชิงภาพ
- สายพาน รถไฟ และหุ่นยนต์โลจิสติกส์ ใช้บลูพรินต์และ spline ของ UE5 โดยรถไฟจะเคลื่อนที่ตามเส้นทางที่ Factorio คำนวณไว้ล่วงหน้า
- ในฐานขนาดใหญ่เกิดปัญหา FPS ลดลงและอีเวนต์ของบลูพรินต์ทำงานไม่เสถียร จึงต้องปรับแต่งโดยลดจำนวนโพลิกอน เท็กซ์เจอร์ พาร์ติเคิล การอัปเดตแบบ on-tick และ LOD เพื่อให้ได้เป้าหมาย 30~60 FPS
เป้าหมายของ FUE5
- FUE5 ย่อมาจาก Factorio in Unreal Engine 5 เป็นโปรเจกต์ทดลองสำหรับแสดงภาพโลก 2D ของ Factorio ในพื้นที่ 3D
- สร้างโดย Hurricane ศิลปิน 3D และ Nuke ม็อดเดอร์ของ Factorio เป็นเวลาประมาณ 5 เดือน ตั้งแต่วันที่ 10 มกราคม 2023
- เป็น สภาพแวดล้อมการแสดงผล 3D ที่นำฐานจาก Factorio มาจำลองการทำงานในเชิงภาพ โดยไม่มีเกมเพลย์รวมอยู่ด้วย
- ผู้ใช้สามารถบินสำรวจรอบฐานของตัวเองในพื้นที่ 3D ได้
การสร้างแอสเซ็ตและการรวมเข้ากับ UE5
- แอสเซ็ตของ Factorio เช่น assembling machine และ inserter จำเป็นต้องสร้าง โมเดล 3D และแอนิเมชัน ขึ้นใหม่โดยอ้างอิงจากสไปรต์ในเกม
- ขั้นตอนการผลิตมีดังนี้
- ทำโมเดล 3D ด้วย Cinema4D
- สร้างเท็กซ์เจอร์ด้วย Adobe Photoshop
- ส่งออกจาก Cinema4D เป็นไฟล์ FBX
- นำเข้าไปยัง Unreal Engine 5 แล้วใส่เชดเดอร์ เช่น กระจก โลหะ และควันปล่อง
- ลอจิกหลักอย่างสายพาน รถไฟ และระบบโลจิสติกส์ ถูกสร้างด้วย ระบบโหนด Blueprint พื้นฐานของ UE5
- เพื่อให้การจัดแนวของรถไฟที่เคลื่อนที่และไอเท็มบนสายพานตรงกัน จำเป็นต้องใช้โมเดล 3D ที่มีขนาดแม่นยำ จึงสร้างลอจิกของระบบหลังจากทำโมเดลส่วนใหญ่เสร็จแล้ว
- การส่งออกฐาน Factorio จากในเกมโดยตรงแล้วนำเข้าไปยังสภาพแวดล้อม Unreal Engine ช่วยลดเวลาการสร้างฐานด้วยมือภายใน UE5 ลงอย่างมาก
วิธีนำข้อมูล Factorio เข้า FUE5
- ระบบสิ่งปลูกสร้างจะสร้างโครงสร้างในลักษณะคล้ายกับวิธีวางอาคารภายใน Factorio
- ม็อด FUE5 exporter จะอ่านข้อมูลภายในเกมแล้วส่งออกเป็นไฟล์ JSON
- ชนิดของอาคาร
- ทิศทางของอาคาร
- การเชื่อมต่อสายเคเบิล
- FUE5 จะอ่านไฟล์ JSON นี้เพื่อคัดลอกโครงสร้างของฐานจริงและการทำงานของยานพาหนะในเชิงภาพ
สายพาน รถไฟ และระบบโลจิสติกส์
-
สายพานลำเลียง
- ไม่ได้ต้องการแค่โมเดล 3D ของสายพานแต่ละชิ้นเท่านั้น แต่ยังต้องมีกลไกที่ทำให้ไอเท็มเคลื่อนที่ไปตามสายพานด้วย
- สายพานลำเลียงถูกแสดงด้วย spline
- เมื่อ FUE5 exporter ส่งออกฐาน ช่วงต่อเนื่องของสายพานที่เชื่อมกันซึ่งไปจบที่อุโมงค์ จบลงเอง หรือวนเป็นลูป จะถูกจัดการเป็นระบบอิสระแยกกัน
- FUE5 จะสร้าง spline สำหรับแต่ละช่วง และไอเท็มจะเคลื่อนที่ตามเส้นทางเดียวกับในเกมจริง
-
รถไฟ
- เนื่องจากการจำลองตารางเดินรถ สัญญาณ และการหาเส้นทางของหัวรถจักรขึ้นมาใหม่โดยตรงทำได้ยาก จึงใช้ระบบหาเส้นทางพื้นฐานของ Factorio
- หากต้องการให้รถไฟถูกสร้างและเคลื่อนที่ใน FUE5 ต้องตั้งปลายทางและให้สัญญาณเขียวก่อนส่งออกฐาน
- จากนั้นจะอ่านเส้นทางรถไฟที่ Factorio คำนวณไว้ล่วงหน้า มาสร้างเป็น spline และควบคุมการเคลื่อนที่ของรถไฟใน FUE5
-
หุ่นยนต์โลจิสติกส์
- ไม่รวม construction robot โดยการสร้างอาคารใช้ระบบ Construction Script พื้นฐานของ UE5 แทน
- แต่จะเน้นการทำ หุ่นยนต์โลจิสติกส์ ซึ่งเป็นองค์ประกอบภาพสำคัญในฐาน Factorio ระดับกึ่งพัฒนา
- roboport แต่ละแห่งจะสุ่มสร้างคลัสเตอร์ของหุ่นยนต์โลจิสติกส์ตามความน่าจะเป็นที่กำหนด
- หุ่นยนต์แต่ละตัวจะค้นหากล่องโลจิสติกส์รอบข้างแล้วบินไปมาระหว่างจุดเหล่านั้นเพื่อจำลองการขนส่งทรัพยากรในเชิงภาพ
- เมื่อขนส่งเสร็จ จะเคลื่อนที่ไปยังตำแหน่ง roboport ที่ใกล้ที่สุดแล้วหายไป
ปัญหาด้านประสิทธิภาพและการปรับแต่ง
- เมื่อนำฐานขนาดใหญ่มาเข้า FUE5 จะเกิดอาการ FPS ลดลงอย่างมาก และผลลัพธ์ของอีเวนต์บลูพรินต์ไม่เสถียร
- เพื่อให้รันได้ที่ 30~60 FPS จึงต้องปรับแต่งโดยลดองค์ประกอบต่อไปนี้
- จำนวนโพลิกอน
- ความละเอียดของเท็กซ์เจอร์
- พาร์ติเคิล
- จำนวนการอัปเดตแบบ on-tick
- อาการกระตุกจำนวนมากในช่วงแรกเกิดจากระบบสายพานลำเลียง และมีการปรับลดในส่วนนี้เพื่อเพิ่มประสิทธิภาพ
- ชิ้นส่วนแอนิเมชันของสิ่งปลูกสร้างถูกปรับ LOD เพื่อเพิ่ม FPS เพิ่มเติม
- ตัวอย่าง: กระบอกหมุนของ centrifuge
- ตัวอย่าง: เฟืองและลูกสูบบนหลังคา assembling machine
- ยังต้องได้รับการอนุมัติจาก Wube Software ผู้พัฒนา Factorio ด้วย และโปรเจกต์นี้ได้รับอนุญาตให้เผยแพร่ภายใต้เงื่อนไขว่าใช้เพื่อวัตถุประสงค์ที่ไม่ใช่เชิงพาณิชย์เท่านั้น
เทรลเลอร์และการกำกับภาพ
- หลังจากช่วงสองเดือนแรกที่จัดระเบียบแนวคิดพื้นฐานและทำต้นแบบส่วนใหญ่เสร็จ การจำลองแอสเซ็ตและระบบต่าง ๆ ของ Factorio ก็ทำได้ง่ายขึ้น
- หลังจากนั้นจุดโฟกัสได้ย้ายไปที่ความสมบูรณ์ของงานภาพโดยรวมและการสร้าง เทรลเลอร์เปิดตัวหลัก
- เทรลเลอร์นี้แสดงฐานขนาดใหญ่ที่สร้างด้วย FUE5 exporter และองค์ประกอบหลากหลายที่ทำได้ในสภาพแวดล้อม FUE5
- การส่งออกเพียงแค่ฐานจากในเกม Factorio ยังไม่ให้ผลลัพธ์ที่สะอาดและเป็นภาพยนตร์พอ จึงมีการ ปรับแต่งด้วยมือ หลายส่วนให้เข้ากับกล้อง
- เมื่อเทียบกับโครงสร้างที่วางอาคารเดี่ยวต่อยาวเพื่อ SPM สูงแล้ว ฐานแบบ spaghetti base ที่ซับซ้อนพันกันกลับดูน่าสนใจกว่าในเชิงภาพ
เงื่อนไขการใช้งานและแผนการเผยแพร่
- FUE5 ไม่ใช่เกมและไม่มีส่วนติดต่อผู้ใช้ ดังนั้นหากต้องการใช้งานจำเป็นต้องมี ความรู้พื้นฐานด้าน UE5
- วิธีใช้งานสรุปไว้ใน หน้า GitHub
- ขั้นตอนพื้นฐานคือ ติดตั้ง UE5 และรันโปรเจกต์ จากนั้นเลือกชังก์ของฐานที่ต้องการส่งออกแล้วส่งออกไปยัง FUE5
- ขั้นตอนโดยละเอียดดูได้จาก how-to guide
- โปรเจกต์นี้ถูกแชร์เป็นโอเพนซอร์สผ่าน GitHub โดยมีเป้าหมายเพื่อให้ชุมชน Factorio ได้สัมผัสโลกที่คุ้นเคยในมิติใหม่และสร้างผลงานแบบใหม่ขึ้นมาได้
- ขณะนี้กำลังปรับปรุงระบบเดิมให้ใช้งานง่ายขึ้นและทำงานได้ดีกับฐานขนาดใหญ่ และกำลังพิจารณาการเพิ่มเนื้อหาจากม็อดในอนาคต
1 ความคิดเห็น
ความเห็นจาก Hacker News
ใน Factorio ปกติ การยิงจรวดคือชัยชนะ แต่ใน Space Exploration มันไปต่อจากตรงนั้น คุณจะได้สร้างฐานบนดาวหลายดวงในระบบสุริยะ ใช้ทรัพยากรเฉพาะของแต่ละดาวเพื่อพัฒนาทั้งระบบสุริยะ ก่อนจะขยายไปสู่อวกาศระหว่างดวงดาวและระบบสุริยะอื่น
ตรงกลางจะมีหน้าจอชัยชนะที่เหมือนเป็น “ผ่านไปหนึ่งในสี่” แต่ยังมีหน้าจอชัยชนะอีกแบบที่ต้องสำรวจปริศนาซึ่งครอบคลุมทั้งจักรวาลที่รู้จัก และยังต้องใช้ความรู้คณิตศาสตร์พอสมควรด้วย เป็นเกมที่เล่นได้หลายร้อยชั่วโมงและทำออกมาได้สมบูรณ์มาก
มันเปลี่ยนเกมให้ใช้แผนที่ดาวและระบบสุริยะเพื่อเดินทางระหว่างดาวด้วยยานอวกาศได้ ซึ่งโดยรวมแล้วทำงานได้ดีมาก แต่ควร ลดจำนวนบิทเตอร์ลงเยอะๆ ม็อดนี้ต้องการความอดทน และความเข้มข้นของการต่อสู้ไม่ค่อยเข้ากับจังหวะนั้น ตัวม็อดเองก็มีป็อปอัปบอกตอนเริ่มให้ลดบิทเตอร์ลง
จำนวนโรงงานและสายการผลิตที่ต้องสร้างเพื่อไปยังขั้นถัดไปจะเพิ่มขึ้นเรื่อยๆ จำได้ว่าต้องเล่นไปเกือบ 100 ชั่วโมงกว่าจะถึงจุดที่ต้องนำเข้าสินค้าสองสายจากดาวดวงอื่นสำหรับวิทยาศาสตร์ขั้นต่อไป
เคล็ดลับเพิ่มเติมคือแนะนำให้ เพิ่มค่าใช้จ่ายด้านวิทยาศาสตร์ เพราะการขยายไปขั้นถัดไปใช้เวลาหลายชั่วโมง และมักเกิดสถานการณ์ที่ของให้วิจัยหมดก่อน ทำให้เหมือนโรงงานหยุดเพราะไม่มีอะไรให้ทำ
SE ยอดเยี่ยมมาก แต่ก็เป็นตัวดูดเวลาขนานแท้ ฉันเล่น Factorio มาเกิน 3500 ชั่วโมงแล้ว น่าจะมีอะไรผิดปกติ
ถึงอย่างนั้น การได้เห็น Factorio ในแบบ 3D ก็เท่มากและน่าประทับใจจริงๆ
pyanodons เพิ่มสายการแปรรูปแร่ที่สมจริงมาก กระบวนการปิโตรเคมี กลไกการผลิตไฟฟ้า การยกเครื่องชิ้นส่วนอิเล็กทรอนิกส์ และองค์ประกอบด้านเกษตรกรรมที่รวมทั้งพืชและสัตว์ ผู้พัฒนาหลัก pyanodon ทำงานประจำเป็นวิศวกรเคมี
การเล่น py แบบเต็มๆ ใช้เวลาเกิน 1500 ชั่วโมงได้สบายๆ มันอาจไม่ได้สนุกเป็นพิเศษสำหรับผู้เล่นวานิลลาส่วนใหญ่ แต่ถ้าคุณชอบม็อดอย่าง Space Exploration หรือ Nullius ก็น่าจะเจอความสนุกได้
[0]: https://mods.factorio.com/user/pyanodon
และสำหรับคนที่คิดก่อนเลยว่า “สิ่งนี้ถูกกฎหมายได้ยังไง?” ก็ขออ้างข้อความนี้: “เมื่อถูกถามถึงความถูกต้องตามกฎหมายของงานนี้ ทาง Factorio แสดงความเข้าใจอย่างมาก และอนุญาตให้เผยแพร่โปรเจกต์ได้ตราบใดที่ไม่ใช้ในเชิงพาณิชย์”
จากมุมของคนที่เคยเห็นซอร์สโค้ดต้นฉบับ โค้ดถือว่าค่อนข้างโอเคแต่ไม่ได้ถึงขั้นน่าตื่นตะลึง มันเป็น C++ ที่ใช้ multiple inheritance และอ็อบเจ็กต์ในเกมก็เรียกเมธอดหากันข้ามหลายชั้น รวมถึงมีโค้ดประเภท “อาจไม่ใช่วิธีที่ดีที่สุด แต่ใช้งานได้และเราจะยังไม่แก้มันตอนนี้” อยู่พอสมควร
สิ่งที่ทำให้ทั้งหมดนี้เดินได้ดีคือ การทดสอบอัตโนมัติที่ครอบคลุมมาก และวัฒนธรรมที่ถ้าคุณส่ง PR พร้อมโค้ดที่ optimize น้อยกว่าเดิม Rseding จะเข้ามาจัดการให้ ส่วนที่น่าสนใจจริงๆ คืออัลกอริทึม ซึ่งมีพูดถึงใน Friday Facts
และ https://old.reddit.com/r/factorio/comments/13bsf3s/technical... ก็อ่านได้เพลินมากเช่นกัน มีเรื่องอย่างการใช้ doubly linked list และ multiple inheritance เป็นต้น
https://www.factorio.com/blog/
https://physics.highpoint.edu/~bbarlow/courses/phy2100/docum...
สีส้ม และในมุมมอง ‘GUI’ จะมีไทล์สีเทาปรากฏด้วย
ช่วงต้นเกมที่ค่อนข้างช้าและกราฟิก 2D แบบไอโซเมตริกที่ดูไม่ค่อยมีชีวิตชีวานักไม่ค่อยเข้ากับตัวเองเท่าไร แต่บทความในบล็อกน่าสนใจมาก และเพราะผู้คนยังคงยกย่องกันไม่ขาดสาย พอติดตั้งครั้งที่ 4 ก็เลยตัดสินใจอดทนและเล่นให้คืบหน้าไปจริงจังสักหน่อย
ตอนนี้มองว่ามันเป็น หนึ่งในเกมที่ดีที่สุดตลอดกาล เลย ในเชิงเทคนิคน่าประทับใจแบบเหลือเชื่อ และแม้จะเป็นฐานขนาดมหึมาที่เต็มไปด้วยรถไฟ สายพาน หุ่นยนต์ และอินเซอร์เตอร์ ก็ยังรันได้ที่ 60FPS. ไม่แครชด้วย สนุกมากและติดหนึบ ม็อดก็ดี ชุมชนก็ดี
ตื่นเต้นกับภาคเสริมมาก รู้สึกว่าอาจสมมติได้เลยว่ามันจะขัดเกลามาดีพอ ๆ กับ Factorio ตั้งแต่วันแรก
มันเริ่มได้เร็วกว่า จัดการกับกระบวนการในโลกจริง มีการปรับเปลี่ยนภูมิประเทศ และในความเห็นผมก็ดีกว่า Factorio แทบทุกด้าน ผมคิดว่า Factorio คือเกมที่นิยามแนวนี้ขึ้นมา และ Satisfactory กับ Dyson Sphere Program ก็เกือบจะก้าวข้ามมันได้แล้ว แต่เพราะความเป็น 3D ทำให้ปริศนาแก้ง่ายขึ้น
Captain of Industry มีมิติมากกว่า แต่ก็ยังทำให้ปริศนายากได้พอ ๆ กับ Factorio และยังมีทรัพยากรให้ต้องบริหารมากกว่ามาก
คิดว่าน่าจะมีระบบต่อสู้สไตล์ Factorio บน UE5 โผล่ออกมาสักแบบ
ลองนึกถึงเกมที่ต้องบริหารและบำรุงรักษาโรงงาน ขณะเดียวกันก็มีผู้เล่น PvP แบบยิงมุมมองบุคคลที่หนึ่งวิ่งสู้กันอยู่ในโรงงานและคอยพังเส้นทางลำเลียงเสบียงตลอดเวลา ซึ่งคุณก็ต้องคอยซ่อมมัน คุณอาจอยู่ฝ่ายทีมดูแลโรงงาน หรือจะเป็นผู้เล่น PvP ที่กวาดศัตรูให้ราบพร้อมกับทุบสายส่งเสบียงของโรงงานฝั่งตรงข้ามไปด้วยก็ได้
แน่นอนว่าโมเดลสำหรับพิมพ์ 3D ไม่จำเป็นต้องมี UV mapping หรือการทำเท็กซ์เจอร์อย่างถูกต้อง งานของผมเลยง่ายกว่ามากจริง ๆ
เครื่องมือบางอย่างดีขึ้นมากจริง ๆ ตัวอย่างเช่น Substance 3D สำหรับทำเท็กซ์เจอร์ช่วยได้มาก โดยเฉพาะเมื่อระบบ auto UV ให้ผลลัพธ์ที่ใช้การได้ แต่ตัวเครื่องมือทำโมเดล 3D พื้นฐานเองก็ไม่ได้ต่างจากเมื่อก่อนในระดับรากฐานมากนัก
โมเดลในภาพหน้าจอก็ดูมีโครงสร้าง topology ที่ละเอียดแน่นมาก เลยคิดว่าน่าจะใช้แรงไปเยอะพอสมควร
เล่นแบบบ้าคลั่งอยู่ 3 สัปดาห์แล้วต้องฝืนวางลงเอง เป็นเกมที่โดดเด่นไม่มีใครเหมือนจริง ๆ