اندروید ۱۷ میتواند قابلیت شخصی سازی دکمه های کنترلر و احتمالاً یک گیم پد مجازی را معرفی کند.
اکثریت قریب به اتفاق بازیهای اندرویدی از کنترلهای لمسی استفاده میکنند، که منطقی است زیرا اکثر دستگاههای اندرویدی، گوشیهای هوشمند یا تبلتها هستند. با این حال، تعداد روزافزونی از بازیهای اندرویدی وجود دارد که میتوانید با کنترلر (دسته بازی) بازی کنید – لیستی که با رسیدن این سیستمعامل به فرم فکتورهای جدید، تنها گسترش خواهد یافت. علاوه بر این، محبوبیت روزافزون گیمینگ ابری (cloud gaming) به کاربران اندروید اجازه میدهد تا بسیاری از عناوین غیرلمسی را که به صورت بومی روی این پلتفرم در دسترس نیستند، بازی کنند. برای پر کردن بهتر شکاف بین این روشهای ورودی، گوگل در حال کار بر روی ویژگیهای جدیدی در اندروید ۱۷ است که به گیمرها کنترل بیشتری بر روی فشردن دکمهها میدهد.
به گزارش بخش اخبار فناوری زوم تک به نقل از (Android Authority)، شما در حال خواندن خبرنامه Authority Insights هستید، خبرنامهای هفتگی که جنبهی جدیدی از اندروید را که در هیچ جای دیگری گزارش نشده است، فاش میکند. اگر به دنبال آخرین شایعات داغ، داغترین افشاگریها و اخبار فوری در مورد سیستمعامل اندروید گوگل و سایر موضوعات فناوری موبایل هستید، ما شما را پوشش میدهیم.
اندروید چگونه دسته های بازی را مدیریت میکند؟
وقتی یک دسته بازی USB یا بلوتوثی را به دستگاه اندرویدی خود متصل میکنید، سیستمعامل با آن مانند یک دستگاه ورودی رفتار کرده و رویدادهای ایجاد شده توسط فشردن دکمهها را ثبت میکند. اندروید این فشردنها را به کدهای کلیدی (key codes) و مقادیر محور (axis values) خاص ترجمه میکند، که سپس به اقدامات و حرکات درون بازی در عناوین پشتیبانیشده نگاشت میشوند.
اندروید برای نگاشت این رویدادهای ورودی به فایلهای پیکربندی از پیش تعریفشده متکی است. برای تعیین اینکه از کدام پیکربندی استفاده شود، سیستمعامل، شناسه فروشنده (vendor ID) و شناسه محصول (product ID) کنترلر را بررسی میکند. از آنجایی که ساخت پیکربندیهای خاص برای هر کنترلر موجود در بازار غیرممکن است، اندروید فایلها را فقط برای محبوبترین سختافزارها، مانند کنترلرهای رسمی ایکسباکس (Xbox)، نگهداری میکند.
این بدان معنا نیست که اندروید با لوازم جانبی کمتر شناختهشده کار نخواهد کرد. بسیاری از فروشندگان، طرحهای کنترلر برندهای بزرگ را تقلید میکنند تا اطمینان حاصل کنند که اندروید و سایر سیستمعاملها ورودیهای آنها را تشخیص میدهند. این استراتژی سازگاری به اندروید اجازه میدهد تا با طیف گستردهای از کنترلرها به صورت آماده (out of the box) کار کند.
با این حال، برخی از بازیکنان ممکن است از چیدمان پیشفرض دکمهها در کنترلرهای خود یا نحوه نگاشت آنها در عناوین خاص لذت نبرند. دلایل بیشماری وجود دارد که چرا کسی ممکن است بخواهد کنترلهای خود را سفارشی کند:
- دسترسیپذیری (Accessibility): کاربران دارای معلولیت ممکن است نیاز به ریمپ کردن دکمهها داشته باشند تا دسترسی به عملکردهای ضروری آسانتر شود.
- ارگونومی (Ergonomics): بازیکنانی که به دنبال کاهش فشار دست هستند، ممکن است ترجیح دهند اقدامات پرتکرار را به دکمههایی منتقل کنند که به نیروی کمتری نیاز دارند.
- رقابت (Competition): گیمرهای حرفهای ممکن است اقدامات خاصی را به دکمههای خاصی نگاشت کنند تا زمان واکنش خود را بهبود بخشند.
- حافظه عضلانی (Muscle memory): طرفداران بازیهای رترو (قدیمی) یا کسانی که پلتفرم خود را تغییر میده دهند، اغلب میخواهند با چیدمانهایی که به آنها عادت دارند، مطابقت داشته باشند.

متأسفانه، اندروید به صورت پیشفرض از شخصیسازی دکمهها (button remapping) پشتیبانی نمیکند. در عوض، به بازیهای فردی متکی است تا گزینههای ریمپ کردن را ارائه دهند. در حالی که بسیاری از شبیهسازها (emulators) این قابلیت را ارائه میدهند، اکثر بازیهای استاندارد اندرویدی این کار را نمیکنند. سالهاست که کاربران مجبورند برای سفارشیسازی ورودیهای خود به ابزارهای شخص ثالث (third-party) تکیه کنند، اما این ابزارها اغلب از راهحلهای غیراستاندارد (hacky) شامل ADB یا Accessibility API برای رهگیری و ریمپ کردن فشارهای کلید استفاده میکنند. این روشها سربار (overhead) اضافی ایجاد میکنند و در دستگاهها و بازیهای مختلف غیرقابل اعتماد هستند.
خوشبختانه، من شواهدی را مشاهده کردهام که نشان میدهد گوگل در حال کار بر روی آوردن قابلیت ریمپ کردن بومی کنترلر (native controller remapping) به نسخه بعدی اندروید است. این شواهد در آخرین نسخه Android Canary ظاهر میشود که پیشنمایشی از ویژگیها و APIهای آینده را ارائه میدهد. اگرچه مطمئن نیستم این ویژگی چه زمانی عرضه میشود، اما به احتمال زیاد بهروزرسانی بزرگ بعدی، یعنی اندروید ۱۷، را هدف قرار داده است.
اندروید ۱۷ بالاخره ریمپ کردن بومی کنترلر را به ارمغان میآورد
شواهد این ویژگی در یک مجوز (permission) جدید تعریف شده در چارچوب اندروید نهفته است: android.permission.CONTROLLER_REMAPPING. این مجوز توسط یک فلگ ویژگی (feature flag) با برچسب com.android.hardware.input.controller_remapping محافظت میشود. فضای نام این فلگ، com.android.hardware.input، این ویژگی را به دستگاههای ورودی مانند دستههای بازی مرتبط میکند. نکته مهم این است که این مجوز جدید به برنامههایی محدود میشود که با کلید پلتفرم امضا شدهاند، به این معنی که برنامههای شخص ثالث (third-party apps) قادر به انجام ریمپ کردن کنترلر در سطح سیستمی نخواهند بود.
ما همچنین ارجاعاتی به یک منوی اختصاصی جدید دسته بازی در داخل برنامه تنظیمات (Settings) کشف کردیم. در حالی که این منو در حال حاضر خالی است، تعریف Activity در مانیفست تنظیمات نشان میدهد که ممکن است لیستی از کنترلرهای متصل را نمایش دهد. به احتمال زیاد این منو به عنوان مرکز اصلی مدیریت دستههای بازی، به ویژه برای ریمپ کردن دکمههای آنها، عمل خواهد کرد.
آیا اندروید در حال دریافت پشتیبانی از … گیمپدهای مجازی است؟
با بررسی عمیقتر، من همچنین کدی را مشاهده کردم که به یک ویژگی جدید «گیمپد مجازی» (virtual gamepad) اشاره دارد. به نظر میرسد این یک نمایش نرمافزاری از یک کنترلر فیزیکی است، مشابه روشی که اندروید قبلاً دوربینهای مجازی را برای ویژگیهایی مانند Connected Camera در پیکسل مدیریت میکرد. در این زمینه، «گیمپد مجازی» احتمالاً مکانیزمی است که اندروید برای مدیریت شخصیسازی دکمهها استفاده خواهد کرد.

این کد به سیستم اجازه میدهد تا یک دستگاه ورودی مجازی را با استفاده از شناسه سختافزاری استاندارد (vendorId و productId) ثبت کند، که میتواند برای فریب دادن بازیها به منظور رفتار با آن به عنوان یک کنترلر فیزیکی واقعی استفاده شود. این دستگاه مجازی از مجموعه کاملی از ورودیهای استاندارد کنترلر پشتیبانی میکند، از جمله:
- دکمههای چهره (Face) و منو: A, B, X, Y, Start, Select و Mode.
- تریگرها (Triggers) و بامپرها (Bumpers): L1, R1, L2 و R2 (شامل محورهای تریگر آنالوگ lTrigger و rTrigger).
- جویاستیکها (Joysticks): آنالوگهای چپ و راست (نگاشت به محورهای X, Y, Z و Rz) و دکمههای قابل کلیک آنها (L3 و R3).
- D-Pad: ورودیهای جهتدار نگاشت شده به HatX و HatY.
وجود متدهایی برای تزریق ورودیهای شبیهسازی شده به سیستم نشان میدهد که این گیمپد مجازی به عنوان یک پل عمل میکند، فشارهای اصلی دکمهها را رهگیری کرده و موارد ریمپشدهای را که بازیها میتوانند به صورت بومی درک کنند، خروجی میدهد.
علاوه بر ریمپ کردن دکمهها، این کد همچنین میتواند برای نگاشت کنترلهای لمسی روی صفحه به ورودیهای کنترلر فیزیکی استفاده شود. این قابلیت برای بازیهایی که فاقد پشتیبانی بومی از کنترلر هستند (که متأسفانه بخش بزرگی از کتابخانه بازیهای اندروید را شامل میشود) فوقالعاده مفید خواهد بود. من میتوانم تصور کنم که این ویژگی به طور خاص در کامپیوترهای مبتنی بر اندروید آینده مفید باشد، زیرا بازی با کنترلر بسیار ارگونومیکتر از استفاده از کنترلهای لمسی روی رایانه شخصی است. گوگل با این فناوری غریبه نیست، زیرا قبلاً از سیستمهای نگاشت ورودی مشابه در Chrome OS و Google Play Games در کامپیوتر استفاده کرده است.

باید منتظر بمانیم و ببینیم گوگل چگونه این ویژگی را پیادهسازی میکند. ما بیش از شش ماه تا انتشار اندروید ۱۷ فاصله داریم، که به گوگل زمان زیادی برای پیادهسازی این ویژگی میدهد. ما امیدواریم که گوگل حداقل بتواند ریمپ کردن اولیه دکمهها را ارائه دهد، زیرا این به تنهایی یک ارتقای قابل توجه برای گیمرها خواهد بود. اگر همچنین موفق شود یک منوی اختصاصی کنترلر و یک ابزار نگاشت صفحه لمسی را معرفی کند، این یک تغییردهنده بازی (game-changer) خواهد بود.





نظرات در مورد : ارتقای بزرگ گیمینگ در اندروید ۱۷: گوگل از ریمپ کردن دسته های بازی و گیم پد مجازی رونمایی میکند