علی صفری
/۲۱ مهر ۱۴۰۴
0:00 دقیقه
/0 بار پخش
/0 بازدید
اگه اهل بازیهای قدیمی باشی، احتمال زیاد یه روزی جلوی یه تلویزیون لامپی نشستی، یه تفنگ نارنجی گرفتی دستت و با ذوق به اردکهایی که از اینور و اونور میپریدن تیر زدی. اون بازی چیزی نبود جز Duck Hunt؛ ساختهی نینتندو در سال ۱۹۸۴. اما پشت اون سادگی و خندهی سگی که مسخرهمون میکرد، یه دنیای عجیب فنی خوابیده بود...
بله درست خوندی! تفنگ بازی، یعنی NES Zapper، هیچوقت «تیر» شلیک نمیکرد. در واقع، تفنگ فقط نور رو میدید، یه حسگر نوری (فوتودیود) داخلش بود که وقتی ماشه رو میکشیدی، منتظر میموند ببینه چیزی روی صفحه برق میزنه یا نه.
اینجا جادوی نینتندو شروع میشه:
وقتی شلیک میکردی، بازی برای کمتر از یک فریم (تقریباً ۱/۶۰ ثانیه) صفحه رو سیاه میکرد و دقیقاً روی جای اردک، یه مربع سفید کوچیک نشون میداد.
اگه حسگر داخل تفنگ اون مربع سفید رو دید، یعنی تیر به هدف خورده.اگه نه، خطا کردی و باید تحمل صدای خندهی اون سگ معروف رو میکردی 😅
اون موقع تلویزیونها از نوع CRT بودن، یعنی تصویر رو خط به خط از بالا به پایین میکشیدن. بازی دقیقاً با همین زمانبندی هماهنگ بود. حسگر تفنگ میفهمید در چه لحظهای نور از کدوم قسمت صفحه اومده، و با همون زمانسنجی، مکان اردک رو تشخیص میداد.
اما تو تلویزیونهای LED یا LCD جدید، کل تصویر یهجا نشون داده میشه. نتیجه؟ Zapper بیچاره گیج میشه و فکر میکنه هیچ اردکی وجود نداره. به همین دلیله که نسخههای اصلی Duck Hunt فقط با تلویزیونهای قدیمی کار میکنن.
در ظاهر، Duck Hunt یه بازی فوقالعاده سادهست. ولی پشتش منطق هوشمندانهای پنهونه.
ReadInput
UpdateDuckPosition
CheckCollision
RenderFrame
یعنی واقعاً با چند خط کد و کمی جادو، یه تجربه کامل خلق کرده بودن.
نینتندو اون زمان با محدودترین سختافزار ممکن، تونست تجربهای واقعی و تعاملی بسازه. هیچ سنسور حرکتی، هیچ شبکهای در کار نبود، فقط نور، زمانبندی و هوش فنی. Duck Hunt نشون داد خلاقیت لزوماً به سختافزار قوی ربطی نداره؛ بلکه به این ربط داره که چطور از همون امکانات محدود، یه حس واقعی بسازی.
حتی امروز هم Duck Hunt یه مرجع الهام برای توسعهدهندههاست. ایدهی «تشخیص نور و واکنش به محیط» بعدها در تکنولوژیهایی مثل:
بازی Duck Hunt یه درس مهم برای ما برنامهنویسها داره:
خلاقیت یعنی بتونی از چیزای ساده، نتیجهی خارقالعاده بگیری.
مثل اینکه با یه حلقهی while
ساده، یه تجربهی تعاملی واقعی بسازی.