3 คะแนน โดย GN⁺ 2024-04-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เปิดซอร์สโค้ดของ Descent 3

อัปเดต (2024/04/16)

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

ทิศทางการพัฒนาและสิ่งที่ตัดสินใจแล้ว

  • จากนี้ไปจะรองรับ C++17
  • ขณะนี้ใช้ clang ในโหมด LLVM สำหรับการจัดรูปแบบโค้ด ดังนั้นโปรดรัน clang-format ก่อนส่ง PR

รีลีสแรก

  • เป็นซอร์สโค้ด Descent 3 เวอร์ชันล่าสุด ซึ่งรวมแพตช์ '1.5' ที่ Jeff Slutter และ Kevin Bentley เขียนไว้เมื่อหลายปีก่อน ตอนนั้นสามารถทำงานบน Windows, Linux และ Mac ได้
  • มีการนำไลบรารีเสียงและวิดีโอกรรมสิทธิ์บางส่วนของ Interplay ออก (ฟอร์แมต ACM, MVE) โดยยังเก็บโค้ดส่วนนั้นไว้ และกำลังมองหาผู้ที่ช่วยสร้างตัวแปลงเพื่อให้คัตซีนเก่ากลับมาทำงานได้ จำเป็นต้องใช้ความพยายามในการทำ stub out โค้ดส่วนนั้นเพื่อให้คอมไพล์ได้
  • เป้าหมายอันดับแรกคือทำให้ทุกอย่างคอมไพล์ได้อีกครั้ง และหากเป็นไปได้ก็อยากเพิ่มแอ็กชัน CI/CD ด้วย หลังจากนั้นจำเป็นต้องเก็บกวาดโค้ด เช่น ลบคอมเมนต์จากระบบควบคุมเวอร์ชันเก่าออก โค้ดส่วนใหญ่เขียนโดยทีมที่ยอดเยี่ยม แต่ต้องคำนึงด้วยว่าในเวลานั้นทุกคนยังอายุน้อยและมีประสบการณ์น้อยกว่ามาก
  • หากต้องการช่วยดูแลรักษา โปรดส่งข้อความมา มิฉะนั้นก็ยินดีรับ PR
  • นี่เป็นอัปเดตสุดท้ายที่แสดงให้เห็นว่าเกมเล่นข้ามสถาปัตยกรรมที่แตกต่างกันได้ ต้องขออภัยที่ไม่สามารถปล่อยแพตช์ 1.5 ได้ เพราะมีปัญหาด้านการดำเนินงานบางอย่างเข้ามาขัดขวาง
  • ขอขอบคุณ Jeff Slutter ที่ทำงานส่วนใหญ่ในการปรับโค้ดจากยุค 90 ให้ทันสมัย รอติดตามว่าชุมชนจะนำสิ่งนี้ไปทำอะไรต่อบ้าง!

ความเห็นของ GN⁺

  • การเปิดซอร์สโค้ดของเกมที่ได้รับความรักมานานกว่า 20 ปีน่าจะดึงดูดความสนใจจากนักพัฒนาจำนวนมาก แต่การปรับโค้ดเก่าให้ทันสมัยจะต้องใช้ความพยายามอย่างมาก
  • แม้การเปิดซอร์สโค้ดจะมีความหมายในตัวเอง แต่หากจะนำไปใช้กับตัวเกมจริง ก็ดูเหมือนยังมีอุปสรรคอีกมาก เช่น การแก้ปัญหาเรื่องไลเซนส์ การรองรับแพลตฟอร์มสมัยใหม่ และการวางกระบวนการพัฒนา
  • เพื่อให้โครงการโอเพนซอร์สดำเนินต่อได้อย่างยั่งยืน ก็ดูเหมือนว่าควรมีการกำหนดโรดแมปที่ชัดเจน จัดทำแนวทางสำหรับผู้มีส่วนร่วม และวางโครงสร้างธรรมาภิบาลให้พร้อมก่อน
  • ในฝั่งเกมเอนจินโอเพนซอร์ส มี Godot และ Cocos2d-x ที่กำลังพัฒนาอย่างคึกคักอยู่ จำเป็นต้องทำความเข้าใจข้อดีข้อเสียของพวกมันและคิดหาวิธีสร้างความแตกต่าง
  • ยังมีความกังวลว่าเกมเมื่อ 20 ปีก่อนจะยังเข้าถึงผู้เล่นในปัจจุบันได้หรือจะให้ความรู้สึกเก่าเกินไป จึงดูเหมือนจำเป็นต้องอัปเกรดองค์ประกอบหลักของเกมอย่างกราฟิก เสียง และ UI ให้ทันสมัย

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

 
GN⁺ 2024-04-17
ความคิดเห็นบน Hacker News
  • มีการเล่าถึงหลายกรณีที่ซีรีส์เกม Descent ส่งผลอย่างมากต่อชีวิตของผู้คน เช่น แต่งงานกับภรรยาที่พบกันในฟอรัม ตั้งชื่อลูกชายตามชื่อเล่นของเพื่อนจาก Descent และไปร่วมทั้งงานแต่งงานและงานศพของคนรู้จัก

  • ระบบบังคับการบินอิสระ 360 องศาของ Descent กลายเป็นต้นกำเนิดของตัวเลือกกลับแกน Y ในเกม FPS ภายหลัง มีนักพัฒนาคนหนึ่งย้อนความว่า ตอนอายุ 12 ปีเขาอ่าน Descent FAQ แล้วเริ่มเรียนรู้ IRC และ Descent ก็มีอิทธิพลอย่างมากจนทำให้เขากลายมาเป็นวิศวกรและนักพัฒนาเกมในวันนี้

  • ในหมู่ผู้เล่นสายแข่งขัน มีการใช้เทคนิคที่เรียกว่า 'trichording' เพื่อเร่งความเร็วให้สูงสุด โดยเป็นการกดหลายปุ่มพร้อมกันเพื่อเคลื่อนที่ทั้ง 3 แกนพร้อมกัน แต่ก็ยังไม่ชัดเจนว่านี่เป็นการออกแบบไว้ตั้งใจหรือเป็นบั๊ก

  • ฟอร์แมตไลบรารีเสียง/วิดีโอเก่าของ Descent 3 (ACM, MVE) ถูกถอดออกแล้ว แต่มีการแสดงเจตนาว่าจะแชร์โค้ดเพื่อช่วยพัฒนาเครื่องมือแปลงไฟล์ โดยดูเหมือนว่า FFMPEG จะรองรับฟอร์แมตเหล่านี้อยู่แล้ว

  • สำหรับวิศวกรคนหนึ่ง ซีรีส์ Descent คือประตูสู่โลกอินเทอร์เน็ต ตอนอายุ 10 ปีเขาเล่น D1 กับเพื่อนผ่านการเชื่อมต่อโทรศัพท์ และใน D2 ก็ได้สัมผัสระบบจับคู่ผ่าน Kali/Kahn จากนั้นก็เริ่มรู้จัก IRC และ ICQ พร้อมหมกมุ่นกับการอัปเกรดพีซีรุ่นใหม่ ๆ ประสบการณ์ที่น่าประทับใจคือการเคยติดอันดับโลก Top 100 ใน D3

  • ยังมีคำถามเกี่ยวกับกระบวนการและเบื้องหลังการเปิดซอร์สโค้ดของ Descent 3 รวมถึงการสอบถามถึงความเป็นไปได้ในการเปิดซอร์สโค้ดของ Hardwar ซึ่งเป็นเกมอีกเกมหนึ่งของ Interplay ด้วย