YouTuber ทรมานตัวเองด้วยการสร้างเกม FPS ด้วยภาษา COBOL
ถ้าใครเคยได้ยินเรื่องราวของความมาโซคิสม์ (Masochism) คุณอาจจะนึกถึงความเจ็บปวดหรือการลงโทษตัวเอง แต่ในวันนี้เราจะมาพูดถึงความมาโซคิสม์อีกรูปแบบหนึ่งในโลกของโปรแกรมเมอร์ เมื่อ YouTuber รายหนึ่งได้ตัดสินใจทำสิ่งที่ไม่มีใครคิดจะทำ นั่นคือการสร้างเกมยิงมุมมองบุคคลที่หนึ่ง (First Person Shooter) ขึ้นมาทั้งเกมด้วยภาษาโบราณอย่าง COBOL!
YouTuber รายนี้มีช่องชื่อว่า icitry ซึ่งมีประวัติสั้นๆ ว่า “try now, suffer later” (ลองตอนนี้ ทรมานทีหลัง) ซึ่งก็นับว่าตรงกับการกระทำของเขาจริงๆ เขาได้สร้างปรากฏการณ์บนโลกอินเทอร์เน็ตด้วยการเขียนโค้ดเกม FPS ด้วยภาษาที่เก่าแก่และซับซ้อนที่สุดเท่าที่จะจินตนาการได้
YouTuber ทรมานตัวเองด้วยการสร้างเกม FPS ด้วยภาษา COBOL
สำหรับใครที่ยังไม่เคยสัมผัสกับ COBOL มาก่อน นี่คือภาษาที่พัฒนาขึ้นในช่วงปี 1960 เพื่อใช้กับระบบเมนเฟรมทางธุรกิจเป็นหลัก ซึ่งแน่นอนว่ามันไม่เคยถูกออกแบบมาเพื่อเกมกราฟิก 3D เลยแม้แต่น้อย แต่คำถามคือ ทำไมคนเราถึงอยากทำอะไรที่มันยากขนาดนี้? คำตอบของเขาเรียบง่ายมาก นั่นคือความสงสัยว่า “ภาษามันสมองที่แย่ที่สุดตัวไหนที่ยังพอจะทำเกม FPS ได้บ้าง” และผลลัพธ์ก็คือภาษา COBOL ที่ทำให้คนทำถึงกับกุมขมับ
เหตุผลเบื้องหลังความวิศวกรรมที่บ้าบิ่น
ความน่าทึ่งของโปรเจกต์ YouTuber ทรมานตัวเองด้วยการสร้างเกม FPS ด้วยภาษา COBOL นี้อยู่ที่กระบวนการแก้ปัญหาครับ เนื่องจาก COBOL ไม่มีฟังก์ชันกราฟิกเลย เขาจึงจัดการให้โปรแกรมทำหน้าที่เป็น “ตัวสร้างเฟรม” (frame generator) เพื่อคำนวณเนื้อหาในแต่ละเฟรมแล้วเขียนออกมาเป็นไฟล์ภาพ จากนั้นใช้เครื่องมืออย่าง ffplay ในการแสดงผลแทน ซึ่งถือเป็นการแก้ปัญหาแบบเฉพาะหน้าที่สุดยอดมาก
- COBOL เป็นภาษาที่มีความยืดเยื้อและซับซ้อนสูง
- ไม่มีความสามารถด้านคณิตศาสตร์เวกเตอร์ที่จำเป็นสำหรับเกม 3D
- ต้องเขียนฟังก์ชันจัดการอินพุตและคำนวณการเคลื่อนไหวใหม่ทั้งหมด
สิ่งที่เขาทำไม่ใช่แค่การเขียนเกมธรรมดา แต่เป็นการพิสูจน์ถึงความอุตสาหะของมนุษย์ที่สามารถเอาชนะข้อจำกัดทางเทคโนโลยีได้ หากคุณเคยคิดว่างานโปรแกรมมิ่งของคุณยากแล้ว ลองหันมาดูโปรเจกต์นี้สิครับ แล้วคุณจะรู้สึกว่าการเขียนโค้ดสมัยใหม่นั้นน่ารักไปเลย
บทเรียนที่ได้จากเจ้าพ่อสายทรมานคนนี้คือ ถึงแม้เครื่องมือจะไม่เอื้ออำนวย แต่ด้วยความมุ่งมั่นและไอเดียที่สร้างสรรค์ เราก็สามารถสร้างผลงานที่ “เป็นไปไม่ได้” ให้เกิดขึ้นได้จริง คุณคิดว่าอย่างไรกับวิธีการเขียนโปรแกรมสไตล์สุดโต่งแบบนี้? ลองคอมเมนต์บอกเราหน่อยว่า ถ้าคุณต้องเลือกภาษาที่แย่ที่สุดในการเขียนเกม คุณจะเลือกภาษาอะไร!
ที่มา – Masochistic YouTuber Punishes Himself by Writing a First Person Shooter Entirely in COBOL
