เกมอินดี้ VVVVVV สร้างโดย Terry Cavanagh พร้อมดนตรีโดย Magnus Pålsson ได้เปิดเผยซอร์สโค้ดสู่สาธารณะ ก่อให้เกิดการสนทนาที่สำคัญในหมู่นักพัฒนาและแฟนเกม เกมแพลตฟอร์มที่มีการพลิกแรงโน้มถ่วงนี้ ซึ่งเริ่มเป็นที่รักของผู้เล่นในปี 2010 ยังคงมีตำแหน่งพิเศษในชุมชนเกมอินดี้แม้จะผ่านไปกว่าทศวรรษหลังจากการเปิดตัว
การเดินทางผ่านประวัติศาสตร์การพัฒนา
การเปิดเผยซอร์สโค้ดแสดงให้เห็นถึงเส้นทางการพัฒนาที่น่าสนใจซึ่งผู้แสดงความคิดเห็นหลายคนได้สังเกตเห็น เดิมทีเขียนด้วย Flash เกมนี้ถูกพอร์ตไปยัง C++ ในสิ่งที่เรียกว่าอัปเดต 2.0 โดย Simon Roth ตามด้วยอัปเดต 2.2 ที่รวม SDL2, PhysicsFS และการผสานรวม Steamworks โดย Ethan Lee วิวัฒนาการจาก Flash ไปสู่เทคโนโลยีที่แข็งแกร่งกว่านี้สะท้อนให้เห็นถึงภูมิทัศน์ที่เปลี่ยนแปลงของการพัฒนาเกมอินดี้ในช่วงทศวรรษที่ผ่านมา เรพอสิทอรีประกอบด้วยทั้งเวอร์ชัน C++ สำหรับเดสก์ท็อปและเวอร์ชัน ActionScript สำหรับมือถือ สร้างสถาปัตยกรรมที่ผู้ใช้บางคนอธิบายว่าสับสนในตอนแรก
ผู้แสดงความคิดเห็นคนหนึ่งชี้ให้เห็นถึงแง่มุมทางเทคนิคที่น่าสนใจของโค้ดเบส:
แย่อย่างแท้จริง เป็นวิธีที่ดีในการอธิบาย ส่วนที่ผมชอบที่สุดคือฟังก์ชัน Game::updatestate() ที่มี 3300 บรรทัดและคำสั่ง switch ขนาดใหญ่มหึมา
ความคิดเห็นนี้เน้นย้ำว่าโครงสร้างโค้ด แม้อาจจะไม่ได้ทำตามแนวปฏิบัติที่ดีที่สุดในปัจจุบัน แต่เป็นตัวแทนภาพจริงของการพัฒนาเกมอินดี้จากยุคนั้น
วิวัฒนาการทางเทคนิคของ VVVVVV
- เวอร์ชันดั้งเดิม (2010): พัฒนาด้วย Flash/ActionScript
- เวอร์ชันเดสก์ท็อป: เขียนใหม่ด้วย C++ (2011) เพื่อรองรับหลายแพลตฟอร์มได้ดีขึ้น
- เวอร์ชันมือถือ: แยกพัฒนาจากโค้ดต้นฉบับ Flash เวอร์ชัน 1.0
- ลักษณะโค้ดที่โดดเด่น: มีฟังก์ชัน updatestate() ขนาด 3,300 บรรทัดที่ประกอบด้วย switch statement ขนาดใหญ่
ความโหยหาอดีตของชุมชนและผลกระทบทางวัฒนธรรม
การเปิดตัวนี้ได้กระตุ้นคลื่นความโหยหาอดีตในหมู่ผู้เล่นที่จำ VVVVVV ได้จากยุคแรกๆ ของเกมอินดี้ ผู้แสดงความคิดเห็นหลายคนกล่าวถึงประสบการณ์ของพวกเขากับเกมในช่วงยุคแรกของ Humble Bundle ซึ่งสำหรับหลายคนเป็นช่วงเวลาสำคัญในชีวิตการเล่นเกมของพวกเขา ความท้าทายที่โดดเด่นของเกม โดยเฉพาะส่วน Veni Vidi Vici ที่มีชื่อเสียง ยังคงชัดเจนในความทรงจำของผู้เล่นแม้เวลาจะผ่านไป
การสนทนายังเผยให้เห็นว่า VVVVVV ยังคงรักษาความเกี่ยวข้องทางวัฒนธรรมตลอดหลายปีที่ผ่านมา กระทู้ Hacker News หลายกระทู้เกี่ยวกับเกมตั้งแต่ปี 2011 ถึง 2021 แสดงให้เห็นถึงผลกระทบที่ยั่งยืน โดยมีหัวข้อตั้งแต่การเปิดตัวเชิงพาณิชย์ของเกมไปจนถึงการอภิปรายเกี่ยวกับคุณค่าของการเปิดซอร์สโค้ดเกม สำหรับนักพัฒนาหลายคน การเปิดเผยซอร์สโค้ดนี้ให้ทั้งคุณค่าทางการศึกษาและมุมมองที่โหยหาอดีตเกี่ยวกับแนวปฏิบัติในการพัฒนาเกมจากช่วงต้นปี 2010
เครดิตเกม VVVVVV
- สร้างโดย: Terry Cavanagh
- ดนตรีโดย: Magnus Pålsson
- ซาวด์แทร็กเมทัลโดย: FamilyJules
- ชื่อห้องโดย: Bennett Foddy
- อัปเดต 2.0 (การพอร์ตเป็น C++) โดย: Simon Roth
- อัปเดต 2.2 (การพอร์ต SDL2/PhysicsFS/Steamworks) โดย: Ethan Lee
- โค้ดดิ้งเพิ่มเติมโดย: Misa Kai
- ทดสอบเบต้าโดย: Sam Kaplan และ Pauli Kohberger
- ภาพตอนจบโดย: Pauli Kohberger
คุณค่าของการเปิดซอร์สเกม
ความคิดเห็นเผยให้เห็นการสนทนาที่ดำเนินอยู่เกี่ยวกับประโยชน์ของการเปิดเผยซอร์สโค้ดเกมต่อสาธารณะ การอ้างอิงถึงการสนทนาก่อนหน้านี้บ่งชี้ว่า Terry Cavanagh เองได้พูดถึงการตัดสินใจเปิดซอร์ส VVVVVV ในเชิงบวก การเคลื่อนไหวนี้สอดคล้องกับแนวโน้มที่เพิ่มขึ้นของนักพัฒนาที่เปิดเผยซอร์สโค้ดเกมเชิงพาณิชย์ที่เก่ากว่าเพื่อวัตถุประสงค์ทางการศึกษาและการอนุรักษ์
ในขณะที่เกมยังคงมีจำหน่ายเชิงพาณิชย์สำหรับผู้ที่ต้องการสนับสนุน การเปิดตัวโอเพนซอร์สช่วยให้สามารถคอมไพล์และศึกษาส่วนตัวได้ ความสมดุลระหว่างความเป็นไปได้เชิงพาณิชย์และการเข้าถึงแบบเปิดนี้ดูเหมือนจะได้รับการตอบรับที่ดีจากชุมชน ซึ่งอาจเป็นแบบอย่างสำหรับนักพัฒนาอินดี้รายอื่นที่กำลังพิจารณาเส้นทางที่คล้ายคลึงกันสำหรับเกมเก่าของพวกเขา
การเปิดเผยซอร์สโค้ดของ VVVVVV ไม่เพียงแต่รักษาชิ้นส่วนสำคัญของประวัติศาสตร์เกมอินดี้ แต่ยังให้ข้อมูลเชิงลึกที่มีค่าเกี่ยวกับแนวปฏิบัติในการพัฒนาเกมจากช่วงต้นปี 2010 ดังที่ผู้แสดงความคิดเห็นคนหนึ่งได้กล่าวไว้ มันยืนยันว่าเกมอินดี้มักประสบความสำเร็จไม่ใช่ผ่านความสมบูรณ์แบบทางเทคนิค แต่ผ่านวิสัยทัศน์สร้างสรรค์และการดำเนินการที่คิดนอกกรอบ
อ้างอิง: VVVVVV