เปิดซอร์สโค้ดของ 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 ความคิดเห็น
ความคิดเห็นบน 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 ด้วย