Paint แสดงผลเกม Doom ด้วย 35fps – โครงการ DoomPaint ของ Azure CTO

ที่มาภาพ: Tom's Hardware

Software-อ่าน 7 นาที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

Related

บทความที่เกี่ยวข้อง

Linux Mint เวอร์ชันใหม่ทำให้เกิด Kernel Panic แต่สามารถย้อนกลับไปเวอร์ชันก่อนได้เร็วทันใจSoftware
2 สิงหาคม 2569 เวลา 10:00

Linux Mint เวอร์ชันใหม่ทำให้เกิด Kernel Panic แต่สามารถย้อนกลับไปเวอร์ชันก่อนได้เร็วทันใจ

การอัปเดตคอร์เนลเป็น 7.0.0‑28 ทำให้บางเครื่องประสบปัญหา kernel panic จนบูตไม่เข้าสู่เดสก์ท็อป ผู้ใช้สามารถย้อนไปยังคอร์เคอร์เนลรุ่นก่อน (เช่น 5.15 หรือ 6.2)…

XDA Developers6 นาที
Sony ปฏิเสธจัดจำหน่าย Demon's Souls ในนอร์เทิร์นอเมริกา ส่งผลให้ FromSoftware เลือกร่วมงานกับ Bandai NamcoSoftware
2 สิงหาคม 2569 เวลา 04:00

Sony ปฏิเสธจัดจำหน่าย Demon's Souls ในนอร์เทิร์นอเมริกา ส่งผลให้ FromSoftware เลือกร่วมงานกับ Bandai Namco

ใน CEDEC ผู้บริหารระดับสูงของ Sony เปิดเผยว่าบริษัทไม่จัดจำหน่าย Demon's Souls ในอเมริกา ทำให้ FromSoftware ต้องหาพาร์ทเนอร์ใหม่และเลือก Bandai Namco…

PC Gamer6 นาที
Rideshare “Stimulator”: เกมซิมของ Saber Interactive ที่สะท้อนชีวิตคนขับรถแชร์Software
2 สิงหาคม 2569 เวลา 02:30

Rideshare “Stimulator”: เกมซิมของ Saber Interactive ที่สะท้อนชีวิตคนขับรถแชร์

Saber Interactive เปิดตัวเกมซิม Rideshare “Stimulator” ให้ผู้เล่นรับบทเป็นคนขับ Uber ในเมืองที่เต็มไปด้วยผู้โดยสารแปลกประหลาด…

Rock Paper Shotgun7 นาที
Diablo 4 ฤดูกาล 15 นำ Stone of Jordan และไอเท็มคลาสสิกกลับมาที่ PTRSoftware
2 สิงหาคม 2569 เวลา 01:00

Diablo 4 ฤดูกาล 15 นำ Stone of Jordan และไอเท็มคลาสสิกกลับมาที่ PTR

Season 15 ของ Diablo 4 เปิด 4‑11 สิงหาคม พร้อม Legacy Uniques อย่าง Stone of Jordan, Ring of Royal Grandeur และโหมด Overland ใหม่ให้ผู้เล่นใช้ไอเท็มคลาสสิก.…

GameSpot7 นาที
คัดลอกลิงก์แล้ว!