مارک روسینویچ اجرای Doom را داخل مایکروسافت پینت نشان داد

مارک روسینویچ، مدیر ارشد فناوری بخش Azure مایکروسافت، پروژه‌ای به‌نام DoomPaint منتشر کرده که موتور واقعی Doom را به‌صورت headless اجرا می‌کند و هر فریم را از طریق ترفند کلیپ‌بورد OLE به بوم مایکروسافت پینت منتقل می‌سازد؛ روشی که در شرایط مناسب تا 35 فریم بر ثانیه امکان‌پذیر است.

نحوه کار

موتور بازی با استفاده از ViZDoom اجرا و فایل shareware کلاسیک DOOM1.WAD بارگذاری می‌شود. بخش‌های گم‌شده در نسخه shareware در صورت نیاز با WADهای آزاد پروژه Freedoom پوشش داده می‌شوند. خروجی تصویری بازی به‌صورت headless رندر می‌شود و پس از هر فریم تصویر در کلیپ‌بورد ویندوز قرار می‌گیرد؛ سپس تصویر به‌عنوان یک ویرایش واقعی در بوم Paint چسبانده می‌شود.

نمایی از Doom در بوم Paint؛ انتقال فریم‌ها از طریق کلیپ‌بورد OLE

عملکرد، رزولوشن و صوت

  • نرخ فریم گزارش‌شده تا 35 فریم بر ثانیه در رزولوشن 320×200 و در برخی سیستم‌ها حتی 640×400 قابل دسترس است.
  • پروژه از صدا و موسیقی نیز پشتیبانی می‌کند و تجربه‌ای نزدیک به نسخه اصلی ارائه می‌دهد.
  • خالق پروژه اشاره کرده که نرخ فریم پایین جزئی از جذابیت DoomPaint است و گاهی اجرا «شبیه برنامه‌های صفحه‌گسترده» محسوس می‌شود؛ همین ویژگی تجربه‌ای منحصربه‌فرد خلق می‌کند.

مجوز و فلسفه پروژه

DoomPaint تحت مجوز MIT منتشر شده است. در README پروژه با لحنی طنزآمیز مطرح شده که «پینت بازی را رندر می‌کند اما آن را محاسبه نمی‌کند»؛ این رویکرد فراتر از یک نمایش فنی ساده، رابطهٔ غیرمعمول بین نرم‌افزارها را به نمایش می‌گذارد و خلاقیت مهندسی را برجسته می‌کند.

مارک روسینویچ توسعه‌دهنده DoomPaint و CTO آژور مایکروسافت

چرا این پروژه مهم است

علاوه بر وجه سرگرمی، DoomPaint نشان می‌دهد چگونه امکانات معمولی سیستم‌عامل مثل کلیپ‌بورد OLE و یک ویرایشگر ساده تصویر می‌توانند برای نمایش خروجی موتور بازی به‌کار روند. این روش‌ها مرزهای تعامل بین فرایندها را نشان می‌دهند و برای توسعه‌دهندگان ایده‌هایی دربارهٔ دیباگ بصری، جعل خروجی گرافیکی و پروژه‌های هنری دیجیتال فراهم می‌کنند.

نیازمندی‌های کلی و نکات اجرا

  • سیستم‌عامل: ویندوز (برای استفاده از مایکروسافت پینت و OLE).
  • کتابخانه/موتور: ViZDoom برای رندر headless و راه‌اندازی موتور Doom.
  • فایل‌های بازی: فایل DOOM1.WAD یا جایگزین‌های آزاد مانند Freedoom.
  • برای اجرای روان، سخت‌افزار مناسب و تنظیمات سیستم پیشنهاد می‌شود؛ بسته به پیکربندی ممکن است نتیجه‌ای تا 35 فریم بر ثانیه قابل دستیابی باشد.

منابع بیشتر

دسترسی و اجرای پروژه

تمام فایل‌ها، منابع و دستورالعمل‌های لازم برای اجرای DoomPaint در صفحه GitHub پروژه موجود است. برای علاقه‌مندان به بررسی فنی، مطالعه README و مرور سورس پروژه بهترین نقطهٔ آغاز است.

چشم‌انداز: DoomPaint نمونه‌ای از کاربرد خلاقانه ابزارهای پایه‌ای است و می‌تواند الهام‌بخش راه‌حل‌هایی در زمینه دیباگ تصویری، تست رابط کاربری و هنر دیجیتال باشد.