یک تحلیلگر امنیتی به نام توماس رینسما موفق به ساخت نسخهای از بازی تتریس به نام Pdftris شده که در مرورگرهای دسکتاپ تنها از طریق یک فایل PDF قابل اجراست.
به گزارش تکناک به نقل از وبسایت tomshardware، یک نسخه از بازی کلاسیک تتریس به نام Pdftris در قالب یک فایل PDF ساخته شده است که میتوان آن را در اکثر مرورگرهای دسکتاپ اجرا کرد.
این پروژه توسط توماس رینسما، تحلیلگر امنیتی، توسعه داده شده است. جزئیات کاملی درباره این پروژه در صفحه GitHub آن وجود ندارد، زیرا بخش توضیحات پروژه هنوز خالی است. بااینحال، رینسما در بخش نظرات Hacker News درباره روند توسعه این پروژه صحبت کرده است. او توضیح داده که پس از کشف این موضوع که موتورهای PDF مدرن مانند PDFium و PDF.js از جاوا اسکریپت با قابلیتهای ورودی/خروجی کافی برای ساخت بازیهایی مانند تتریس پشتیبانی میکنند، تصمیم به ایجاد این پروژه گرفته است.
رینسما، که خود را طرفدار فناوریهای خاص و پروژههای غیرمعمول میداند، توضیح داد که اجرای درست بازی در هر دو موتور PDF بهسادگی امکانپذیر نبود. اما او دریافت که نمایش و مخفی کردن فیلدهای حاشیهنویسی در PDF میتواند بهخوبی پیکسلهای سیاه و سفید را نمایش دهد. علاوه بر این، اگر دکمههای روی صفحه برایتان مناسب نیست، میتوانید با تایپ در کادر ورودی زیر بازی، کنترل بازی را بهوسیله صفحهکلید انجام دهید. رینسما با تواضع بیان کرد که کد این بازی “تا حدی ابتدایی” است، اما این پروژه حداقل نشاندهنده قدرت و انعطافپذیری اسکریپتنویسی در فایلهای PDF است.
برای بررسی کدهای Pdftris، نیازی به ابزارهای توسعه پیچیده نیست. کافی است فایل PDF با حجم 60 کیلوبایت را دانلود کرده و آن را در یک ویرایشگر متن باز کنید؛ خواهید دید که همه چیز بهصورت ASCII نوشته شده است. همچنین در صفحه گیتهاب پروژه، نسخهای از کد با توضیحات بیشتر در دسترس است. رینسما همچنین اشاره کرد که Pdftris در Adobe Reader کار نمیکند که احتمالاً به دلیل ناسازگاریهای مختلف است. او همچنین احتمال داد که سایر نرمافزارهای مشاهده PDF مانند Foxit Reader ممکن است از اسکریپتهای لازم برای اجرای این بازی پشتیبانی کنند.
اگرچه نسخه فعلی این بازی بدون رنگ، افکتهای صوتی و سایهگذاری است، اما مشخص نیست که این پروژه در آینده توسعه بیشتری پیدا کند یا خیر. بهنوعی، این پروژه بیشتر بهعنوان یک «اثبات مفهوم» عمل میکند.
لازم به ذکر است که Pdftris تنها پروژهای نیست که یک نرمافزار غیرمرتبط را به دنیای بازی وارد میکند؛ حتی در Microsoft Excel نیز با کمک VBA میتوان یک موتور بازی سهبعدی مبتنی بر ریتریسینگ اجرا کرد.