เล่น Doom บน Microsoft Paint ได้จริงหรือ?

เชื่อหรือไม่ว่าตำนานเกมสุดคลาสสิกอย่าง Doom กำลังเผชิญกับความท้าทายครั้งใหม่ที่ใครหลายคนไม่คาดคิด นั่นคือการตั้งคำถามว่า เล่น Doom บน Microsoft Paint ได้จริงหรือ? ซึ่งคำตอบสั้นๆ ก็คือ ได้! แต่แน่นอนว่ามันมีเบื้องหลังความซับซ้อนที่น่าสนใจกว่าที่คุณคิดไว้เยอะเลยครับ

เล่น Doom บน Microsoft Paint ได้จริงหรือ?

โปรเจกต์สุดบรรเจิดนี้สร้างสรรค์โดย Mark Russinovich ซึ่งเป็น CTO ของ Microsoft Azure โดยเขาใช้เครื่องมืออย่าง ViZDoom ซึ่งเป็น source port ของ ZDoom มาทำหน้าที่ประมวลผลเกมจริงๆ แทนที่จะให้โปรแกรม Paint เป็นตัวคำนวณกราฟิกเอง เพราะแน่นอนว่าโปรแกรมแต่งรูปยอดนิยมของเราไม่ได้ถูกออกแบบมาให้รันเอนจินเกมได้อยู่แล้วครับ

วิธีที่ทำให้เรา เล่น Doom บน Microsoft Paint ได้จริงหรือ?

กลไกเบื้องหลังการทำให้ เล่น Doom บน Microsoft Paint ได้จริงหรือ? นั้นน่าสนใจมาก โดย Russinovich ได้สร้าง wrapper ขึ้นมาเพื่อปิดหน้าต่างของ ViZDoom ไว้ แล้วดึงภาพแต่ละเฟรมส่งต่อไปยัง Windows Clipboard ก่อนจะวางลงในหน้าต่างของ Microsoft Paint แบบเรียลไทม์ ทำให้ดูเหมือนว่าเกม Doom กำลังทำงานอยู่ภายในโปรแกรมวาดภาพนั่นเองครับ

  • ระบบจะจับภาพหน้าจอเป็น Bitmap (DIB) เพื่อความรวดเร็ว
  • ใช้เทคนิค OLE data object เพื่อจัดการปัญหาเรื่องความหน่วงในการวางภาพ
  • รองรับทั้งเสียงประกอบผ่าน MIDI sequencer และเอฟเฟกต์เสียงผ่าน OpenAL
  • สามารถเล่นไฟล์ WAD ของ Doom และ Doom II ได้ตามต้องการ

ความยากที่แท้จริงคือการทำให้การวางภาพ (Paste) ทำงานได้อย่างลื่นไหลและเสถียร เพราะถ้าหากเราส่งเฟรมภาพเข้าไปเร็วเกินกว่าที่ Paint จะประมวลผลทัน โปรแกรมก็มักจะเกิดข้อผิดพลาดขึ้นมา ดังนั้นเคล็ดลับสำคัญคือการปรับขนาดหน้าต่างให้เล็กเข้าไว้ ซึ่งการรันที่ความละเอียด 320×200 พิกเซลจะให้ความลื่นไหลในระดับที่เล่นได้จริงอย่างน่าทึ่งเลยทีเดียวครับ

แม้หลายคนอาจจะมองว่านี่เป็นการ ‘โกง’ เล็กๆ น้อยๆ แต่ผมกลับมองว่านี่คือความพยายามเชิงสร้างสรรค์ที่แสดงให้เห็นถึงศักยภาพของซอฟต์แวร์และการเขียนโปรแกรมที่ไร้ขีดจำกัด การได้เห็นเกมระดับตำนานรันบนโปรแกรมที่เราใช้มาตั้งแต่เด็กถือเป็นประสบการณ์ที่น่าตื่นเต้นไม่น้อย หากคุณมีเวลาว่าง ลองนำไปทดลองรันดูได้ที่ GitHub ของผู้สร้าง แล้วคุณจะพบว่าขีดจำกัดของเทคโนโลยีอาจมีไว้เพื่อรอให้คนอย่างเราเข้าไปทำลายมันทิ้งครับ!

ที่มา – Today in Can It Run Doom?: Microsoft Paint!

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *