
ที่มาภาพ: Tom's Hardware
Paint แสดงผลเกม Doom ด้วย 35fps – โครงการ DoomPaint ของ Azure CTO
⚡ สรุป 30 วิ
Microsoft Paint ถูกใช้เป็นหน้าจอแสดงผลเพื่อรันเกม Doom ผ่านโครงการ DoomPaint ที่พัฒนาโดย CTO ของ Azure ทำให้เกมทำงานที่ประมาณ 35 fps…
Microsoft Paint ได้ถูกใช้เป็น “หน้าจอแสดงผล” เพื่อรันเกม Doom รุ่นดั้งเดิมโดยโครงการใหม่ชื่อ DoomPaint ที่พัฒนาโดย Mark Russinovich – CTO ของ Microsoft Azure โครงการนี้ทำให้ผู้ใช้สามารถเล่น Doom ผ่านคลิปบอร์ดของ Windows และเห็นภาพบนผ้าใบของ Paint ได้ถึง 35 fps ซึ่งแสดงให้เห็นถึงความคิดสร้างสรรค์และขีดจำกัดใหม่ของซอฟต์แวร์ที่ดูเหมือนจะไม่มีส่วนเกี่ยวข้องกับการทำเกมเลย
Overview
โครงการ DoomPaint นั้นเป็นการพอร์ต Doom ที่ใช้ MS Paint เป็นตัวรับภาพ (viewport) แทนหน้าจอกราฟิกแบบดั้งเดิม โดยเอาเครื่องยนต์เกมต้นฉบับจาก ViZDoom มารันไฟล์ DOOM1.WAD เวอร์ชันแชร์แวร์จริง และทำการเรนเดอร์เฟรมแต่ละภาพในโหมด headless จากนั้นคัดลอกไปยังคลิปบอร์ดของ Windows แล้วให้ Paint ทำการวางลงบนผ้าใบเป็นการแก้ไขเอกสารที่แท้จริง
Russinovich ได้อธิบายไว้บนหน้า GitHub ของโครงการว่า “ทุกเฟรมจะถูกวางบนคลิปบอร์ดและแปะเข้าไปใน Canvas ของ Paint” ซึ่งทำให้ Paint ทำหน้าที่เพียงแค่แสดงผล ไม่ได้มีส่วนคำนวณเกมใด ๆ การใช้วิธีนี้เป็นการทดลองเชิงเทคนิคที่เปิดมุมมองใหม่เกี่ยวกับการใช้แอปพลิเคชันทั่วไปเพื่อทำงานที่ไม่ใช่ฟังก์ชันเดิมของมัน
โครงการนี้ถูกจัดจำหน่ายภายใต้ MIT license ทำให้ใคร ๆ ก็สามารถดาวน์โหลดไฟล์, แหล่งข้อมูลและคำสั่งติดตั้งจาก GitHub เพื่อทดลองรันบนเครื่องของตนได้โดยไม่มีค่าใช้จ่าย
Technical Implementation
DoomPaint ใช้กระบวนการทำงานหลายขั้นตอนเพื่อแปลงภาพเกมเป็นเอกสารของ Paint ก่อนแรกจะเรียก ViZDoom ซึ่งเป็นไลบรารีเปิดที่จำลองเครื่องยนต์ Doom ดั้งเดิมให้ทำงานในโหมดไม่มีกราฟิก (headless) จากนั้นแต่ละเฟรมถูกส่งออกมาเป็นรูปแบบ bitmap แล้วคัดลอกเข้าสู่คลิปบอร์ดของ Windows ด้วย API ของ OLE
ขั้นตอนต่อมาคือการสั่ง Paint ให้รับข้อมูลจากคลิปบอร์ดและวางลงบน Canvas ขนาดที่กำหนด ซึ่งทำให้ผู้เล่นเห็นภาพเคลื่อนไหวของเกมในรูปแบบไฟล์เอกสาร Paint ที่อัปเดตทุก ๆ 1/35 วินาที (ประมาณ 35 fps) การใช้วิธีนี้ทำให้การคำนวณส่วนใหญ่เกิดขึ้นภายนอก Paint ส่วน Paint เพียงแค่รับและแสดงผลเท่านั้น
แม้ว่าโค้ดจะเรียบง่าย แต่ต้องอาศัยความเข้าใจลึกซึ้งเกี่ยวกับการจัดการคลิปบอร์ดของ Windows, การทำงานแบบ headless ของ ViZDoom และการควบคุม Paint ผ่าน COM automation ซึ่งทั้งหมดนี้ถูกบรรจุไว้ในสคริปต์ Python ที่รวมอยู่ในรีโพสิทอรี
Performance & Compatibility
จากข้อมูลที่เผยบน GitHub ผู้ใช้สามารถรัน DoomPaint ได้หลายความละเอียดโดยอิงตามประสิทธิภาพของฮาร์ดแวร์
- 320 × 200 พิกเซล – สามารถทำงานเต็ม 35 fps บนเครื่องส่วนใหญ่
- 640 × 400 พิกเซล – ให้เฟรมเรตใกล้เคียงหาก CPU มีความเร็วสูงและคลิปบอร์ดรองรับอัตราการส่งข้อมูลที่เร็ว
นอกจากนี้ DoomPaint ยังรวมระบบเสียงและเพลงจากไฟล์ WAD ดั้งเดิม ทำให้ประสบการณ์การเล่นยังคงครบถ้วน แม้ว่าบางครั้งเฟรมเรตอาจลดลงจน “ระดับสเปรดชีท” ตามคำบรรยายของผู้พัฒนา การที่ FPS สูงสุดอยู่ที่ 35 fps ถือว่าเหมาะสมเมื่อเทียบกับเกมเมอร์ยุค 1990‑s ซึ่งมักเล่นบนเครื่องที่มีข้อจำกัดทางกราฟิกคล้ายกัน
โครงการนี้ยังรองรับระบบปฏิบัติการ Windows ที่สามารถรัน Paint ได้ (Windows 10, Windows 11) แต่ไม่ได้ระบุว่ามีการทดสอบบนเวอร์ชันเก่ากว่า หรือบนแพลตฟอร์มอื่น
Licensing & Distribution
DoomPaint ถูกเผยแพร่ภายใต้ MIT license ซึ่งเป็นไลเซนส์แบบเปิดที่ให้สิทธิ์ผู้ใช้แก้ไข, กระจายและใช้ซอฟต์แวร์ได้โดยไม่มีข้อจำกัดมากนัก การเลือกไลเซนส์นี้สอดคล้องกับแนวคิดของ Russinovich ที่ต้องการให้โครงการเป็น “open‑source fun experiment” สำหรับชุมชน
ไฟล์ทั้งหมดรวมถึงซอร์สโค้ด, ไฟล์ WAD ตัวอย่างและเอกสารวิธีติดตั้งอยู่ในรีโพสิทอรี GitHub ของโครงการ ผู้ใช้สามารถดาวน์โหลดและรันตามขั้นตอนที่ระบุได้ทันทีโดยไม่ต้องเสียค่าใช้จ่าย นอกจากนี้ยังมีคำแนะนำเกี่ยวกับการคอมไพล์ ViZDoom หากต้องการแก้ไขหรือปรับแต่งเครื่องยนต์เพิ่มเติม
การเปิดเผยโค้ดสู่สาธารณะทำให้ผู้พัฒนาภายนอกสามารถตรวจสอบความปลอดภัยของวิธีการใช้คลิปบอร์ดและอาจนำแนวคิดนี้ไปประยุกต์ใช้กับแอปพลิเคชันอื่น ๆ ได้ในอนาคต
Impact
แม้ DoomPaint จะเป็นโครงการขนาดเล็กที่มุ่งเน้นความสนุกสนาน แต่ก็สะท้อนให้เห็นถึง ศักยภาพของ Windows API ที่สามารถนำไปใช้สร้างประสบการณ์ใหม่โดยไม่จำกัดอยู่แค่ฟังก์ชันดั้งเดิม การทำให้ Paint ทำหน้าที่เป็น “monitor” แสดงให้เห็นว่าการผสมผสานระหว่างเครื่องมือระบบและเกมเอนจิ้นเปิดโอกาสให้เกิดการทดลองเชิงเทคนิคที่น่าสนใจ
สำหรับวงการ retro‑gaming โครงการนี้เพิ่มมิติใหม่ให้กับการพอร์ตเกมคลาสสิก โดยใช้ซอฟต์แวร์ทั่วไปเป็นส่วนหนึ่งของขั้นตอนการเล่น ซึ่งอาจกระตุ้นให้นักพัฒนาหรือผู้สนใจสร้าง “mod” หรือ “hack” ที่คล้ายคลึงกันในอนาคต
สุดท้าย การที่ Mark Russinovich – ผู้มีบทบาทสำคัญต่อ Azure และ Windows diagnostics – ลงมือทำโครงการเช่นนี้ก็ส่งสัญญาณว่าผู้นำระดับสูงของบริษัทเทคโนโลยียังให้ความสำคัญกับการทดลองส่วนบุคคลและการสนับสนุนชุมชนโอเพนซอร์ส ซึ่งอาจเป็นแรงบันดาลใจให้พนักงานอื่น ๆ ใน Microsoft พิจารณาโครงการ “side‑project” เพื่อสร้างคุณค่าเพิ่มเติมให้กับเทคโนโลยีของบริษัท
Summary
DoomPaint นำ Microsoft Paint มาใช้เป็นหน้าจอแสดงผลสำหรับเกม Doom รุ่นต้นฉบับโดยรันบน ViZDoom ผ่านคลิปบอร์ดของ Windows สามารถทำงานได้ถึง 35 fps และเผยแพร่ภายใต้ MIT license บน GitHub การทดลองนี้เปิดโอกาสใหม่ในการประยุกต์ใช้ API ของระบบปฏิบัติการและแสดงให้เห็นถึงความคิดสร้างสรรค์ของผู้พัฒนาระดับสูงใน Microsoft.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Microsoft Paint used as a 'monitor' to run Doom at up to 35 fps, project released by firm's Azure CTO — runs actual Doom engine and loads real shareware DOOM1.WAD
- ผู้เขียน
- Mark Tyson
- แหล่ง
- Tom's Hardware
- วันที่เผยแพร่
- 2 สิงหาคม 2569 เวลา 21:14



