باگ بازی پینبال سهبعدی باعث شد بازی با سرعت ۵۰۰۰ فریم بر ثانیه اجرا شود
بازی 3D Pinball: Space Cadet یکی از بازیهای کلاسیک موجود در نسخههای اولیه ویندوز است که ابتدا در Microsoft Plus! برای ویندوز ۹۵ عرضه شد و سپس تا ویندوز XP در سیستمعامل گنجانده شد. با این حال، دیو پلامر، که بازی را از ویندوز ۹۵ به نسخه NT ویندوز پورت کرده بود، در کانال یوتیوب خود اعتراف کرد که به طور تصادفی یک باگ به بازی اضافه کرده که در نهایت باعث شد بازی با سرعت ۵۰۰۰ فریم بر ثانیه اجرا شود.
همکار پلامر پیامی را خواند که میپرسید: «آیا تا به حال در مایکروسافت هنگام کار، یک “اشتباه برنامهنویسی” داشتهاید که وارد نسخه نهایی نرمافزار شده باشد؟» دیو گفت که احتمالاً بسیاری از این موارد را داشته، اما یکی از به یادماندنیترین آنها زمانی بود که 3D Pinball را از ویندوز ۹۵ به NT پورت کرد.
پلامر گفت: «هنگام پورت کردن [بازی]، من یک موتور اطراف موتور بازی اصلی آنها نوشتم تا مدیریت ترسیم ویدئو، صدا و غیره را انجام دهم. بنابراین، من نوعی موتور بازی خودم را حول موتور منطقی آنها ساختم. موتور بازی من یک باگ داشت که فریمها را با حداکثر سرعتی که میتوانست ترسیم میکرد.»
با این حال، دیو در آن زمان از یک پردازنده تکهستهای MIPS R4000 با فرکانس ۲۰۰ مگاهرتز استفاده میکرد. این باعث میشد بازی معمولاً با سرعت ۶۰ تا ۹۰ فریم بر ثانیه اجرا شود که برای آن زمان کافی بود. ظاهراً او یک محدودکننده فریم به بازی اضافه نکرده بود، بنابراین وقتی پردازندههای مدرنتر در اوایل تا اواسط دهه ۲۰۰۰ عرضه شدند، Space Cadet «همیشه هنگام اجرای پینبال، یک هسته کامل از دستگاه را برای بازی پینبال استفاده میکرد.»
به همین دلیل، بازی میتوانست با سرعت ۵۰۰۰ فریم بر ثانیه اجرا شود، زیرا پردازندههای آن زمان بسیار سریعتر از چیزی بودند که پلامر هنگام پورت کردن بازی به NT استفاده کرده بود. خوشبختانه، ریموند چن، یکی از همکاران پلامر، این مشکل را برطرف کرد و آن را به ۱۰۰ فریم بر ثانیه محدود کرد و از فشار آوردن این بازی سبک به یک هسته کامل جلوگیری کرد.
اگرچه باگها در مایکروسافت جدی گرفته میشوند، اما این باگ بازی به اندازهای بیضرر بود که برنامهنویسان درگیر توانستند آن را به شوخی بگیرند. این موضوع زمانی که کامپیوترها هنوز دکمه توربو داشتند، مشکلی ایجاد نمیکرد، اما این ویژگی به طور کلی زمانی حذف شد که اکثر نرمافزارها گامهای زمانی را به سرعت کلاک گره نمیزدند. پلامر نتوانست این موضوع را پیشبینی کند، اما با توجه به سرعت پیشرفت هستههای CPU در آن زمان، این قابل درک است.
- کولبات
- شهریور 18, 1404
- 27 بازدید






