تغییر آیندهٔ بازی‌های کامپیوتری با فناوری Asm.js و تبدیل مرورگرها به یک پلتفرم بازی

تغییر آیندهٔ بازی‌های کامپیوتری با فناوری Asm.js و تبدیل مرورگرها به یک پلتفرم بازی

اکنون که این مقاله را مطالعه می‌کنید به احتمال قریب به یقین از یک مرورگر وب همچون فایرفاکس یا گوگل کروم استفاده می‌کنید؛ اما کاربردهای مرورگرها به اینجا ختم نمی‌شوند بلکه برای چک کردن ایمیل، حضور در شبکه‌های اجتماعی، مشاهدهٔ ویدیو، سرچ و بسیاری کارهای دیگر ما از مرورگرها استفاده می‌کنیم. توسعه‌دهندگان بنیاد موزیلا این مهم را درک کرده و دست به طراحی فریمورک Asm.js زده‌اند که بر پایهٔ زبان جاوااسکریپت نوشته شده و این امکان را به کاربران می‌دهد تا هر چیزی، از محاسبات پیچیده ریاضیاتی گرفته تا بازی‌های بسیار حرفه‌ای، را در مرورگرها اجرا کند. 

Asm.js که به صورت «ازِم جی‌اس» تلفظ می‌شود، فریمورکی نوشته شده بر پایهٔ زبان JS است که بدون نیاز به هیچ‌گونه پلاگینی، از طریق مرورگر قابل اجرا است. این فریمورک ابتدا فقط و فقط از طریق مرورگر فایرفاکس قابل اجرا بود اما این در حالی است که امروزه مرورگر گوگل کروم نیز از این فریمورک پشتیبانی کرده و گفته می‌شود که در آینده‌ای نه چندان دور، اپلیکیشن‌های نوشته شده توسط Asm.js توسط سایر مرورگرها همچون مایکروسافت اِج نیز اجرا خواهند شد چرا که به گفته مایکروسافت، پشتیبانی از Asm.js یکی از ۱۰ خواستهٔ اصلی دولوپرها در ویندوز ۱۰ بوده است. به گفته یکی از مدیران بنیاد موزیلا:

Asm.js به درد کارهای بسیار پیچیدهٔ محاسباتی تحت وب می‌خوره.

در این میان، دولوپرهای بازی‌های کامپیوتری هم ساکت ننشسته و بیش از سایر توسعه‌دهندگان از این فریمورک استقبال کرده‌اند چرا که ایشان همواره این دغدغه را داشته‌اند که ای کاش می‌شد بستری فراهم کرد که بدون نیاز به نصب بازی‌های حرفه‌ای، این امکان را به علاقمندان گیم داد تا از طریق مرورگر اقدام به بازی کردن کنند و اکنون فریمورک ازِم جی‌اس این بستر را برای آنها فراهم کرده است.

Asm.js بیش از هر کس، برای کاربران عادی مفید خواهد بود زیرا کاربری که اکثر کارهای آنلاین خود مثل مشاهدهٔ ویدیو از آپارات یا یوتیوب، خواندن مقاله از زومیت، خرید از دیجی‌کالا و … را از طریق مرورگر انجام می‌دهد، تمایل خواهد داشت تا اگر خواست برای رفع خستگی بازی هم کند، بازی مد نظر خود را از طریق مرورگر مورد علاقه‌اش انجام دهد.

قاعدتاً اگر شما بخواهید با استفاده از کامپیوتر یا لپ‌تاپ بازی کنید، نیاز دارید تا نسخهٔ DVD بازی را در درایور گذاشته و یا آن را دانلود کنید اما برای بازی‌هایی که با استفاده از Asm.js ساخته می‌شوند، شما صرافاً به یک مرورگر نیاز خواهید داشت!

فریمورک Asm.js این امکان را فراهم می‌آورد تا کد بازی‌های نوشته شده با زبان‌های C و ++C به کدهای JavaScript کامپایل شوند تا از این پس قابل فهم برای مرورگر کاربران شده و ایشان به سادگی بتوانند بازی‌های مد نظر خود را در مرورگر اجرا کنند. این فرایند، کار چندان آسانی هم نیست اما به گفته یکی از دولوپرهای بنیاد موزیلا، این کار سخت‌تر از تبدیل یک گیم نوشته شده با زبان‌های C و ++C برای پلتفرم لینوکسی نیست!

با این تفاسیر، از این پس می‌بایست به مرورگرها به شکل یک سیستم‌عامل مثل ویندوز، مکینتاش و یا لینوکس نگاه کنیم. در واقع، با استفاده از کامپایلری تحت عنوان Emscripten، کدهای نوشته شده به زبان C و ++C به نسخه‌ای از Asm.js مبدل شده، سپس مرورگر کدهای Asm.js را تفسیر می‌کند. بدون شک این فریمورک آیندهٔ بازی‌های کامپیوتری را متحول خواهد ساخت اما می‌بایست توجه داشته باشیم که آن آینده خیلی هم نزدیک نیست!

مشکلات پیش‌رو
دشواری تبدیل یک بازی به نسخهٔ Asm.js آن ارتباط مستقیمی با نحوهٔ طراحی آن بازی دارد. علاوه بر این، نمی‌توان انتظار داشت که بازی‌های بسیار سطح بالا و حرفه‌ای را با استفاده از Asm.js تحت مرورگر اجرا کرد. در ضمن اگر قصد داریم یک بازی برای این فریمورک کامپایل کنیم، بازی مد نظر می‌بایست قابلیت Buffer داشته باشد. به عبارت دیگر، به صورت هم‌زمان چند کار در پس‌زمینه بازی با یکدیگر اجرا شوند (برای مثال، زمانی که شما در حال پیش روی در یک مرحله از بازی هستید، مرحلهٔ بعدی بازی در پشت پرده در حال آماده‌سازی خواهد بود).

برای ملموس‌تر شدن این مسئله، می‌توانیم نگاه کردن یک ویدیو از یوتیوب را مد نظر قرار دهیم. در‌ واقع، پیش از آنکه ویدیو به صورت کامل لود شود، ما می‌توانیم از ابتدای ویدیو شروع به نگاه کردن کنیم و ادامهٔ ویدیو اصطلاحاً Stream می‌شود. به طور کلی، مشکلاتی از این دست به مثابهٔ دلایل اصلی عدم عرضهٔ گیم‌های زیادی برای مرورگرها در حال حاضر هستند.

نظر شما چیست؟ آیا بازی‌سازان ایرانی نیز به این زودی‌ها به فریمورک Asm.js روی خواهند آورد یا خیر؟ نظرات، دیدگاه‌ها و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.