اندروید ۱۷: ریمپینگ سیستم محور کنترلر و گیم پد مجازی

بررسی امکانات جدید اندروید ۱۷ برای کنترلرها: ریمپینگ سیستم‌محور، گیم‌پد مجازی و تأثیر آن‌ها بر دسترسی‌پذیری، بازی ابری، سازگاری کنترلرها و تجربه بازی موبایل.

.6 دیدگاه
اندروید ۱۷: ریمپینگ سیستم محور کنترلر و گیم پد مجازی

8 دقیقه

دنبال کردن در گوگل

اندروید ۱۷ در حال شکل‌گیری به‌عنوان یک به‌روزرسانی مهم برای بازیکنان موبایل است. در نسخه‌های اولیه Canary کدهایی پنهان شده‌اند که نشان می‌دهند گوگل روی قابلیت ریمپینگ کنترلر در سطح سیستم و یک راه‌حل نرم‌افزاری به‌نام «گیم‌پد مجازی» کار می‌کند؛ ویژگی‌هایی که ممکن است به کاربران اجازه دهند دکمه‌ها را شخصی‌سازی کنند، ورودی‌های لمسی را به رویدادهای کنترلر تبدیل نمایند و کنترلرهای متصل را از طریق بخش تنظیمات مدیریت کنند.

چه تغییراتی برای کنترلرها در اندروید در راه است

به‌صورت سنتی، اندروید گیم‌پدها را با شناسه‌های فروشنده و محصول شناسایی می‌کند و از فایل‌های پیکربندی از پیش تعریف‌شده استفاده می‌نماید تا ورودی‌ها درون بازی‌ها به‌درستی نگاشت (map) شوند. این روش برای کنترلرهای رایج و محبوب جواب می‌دهد، اما بسیاری از سخت‌افزارهای خاص‌تر، کنترلرهای سفارشی و کاربران خواهان چیدمان اختصاصی را از قلم می‌اندازد.

بر اساس کدی که در نسخه Canary اندروید مشاهده شده، گوگل در حال توسعه یک مجوز جدید به نام android.permission.CONTROLLER_REMAPPING است و هم‌زمان یک منوی اختصاصی برای کنترلرها در تنظیمات طراحی می‌شود. این مجوز پشت یک فلگ امضاشده توسط پلتفرم قرار دارد که نشان می‌دهد ریمپینگ احتمالاً در سطح سیستم انجام خواهد شد، نه توسط اپلیکیشن‌های شخص ثالث دلخواه.

چرا بازیکنان باید به این موضوع اهمیت بدهند

  • دسترسی‌پذیری: ریمپینگ اجازه می‌دهد بازی‌ها برای کاربران با توانایی‌های مختلف یا محدودیت‌های دسترسی قابل بازی‌تر شوند.
  • ارگونومی: بازیکنان سنگین می‌توانند عمل‌های پرتکرار را به دکمه‌هایی منتقل کنند که دستیابی به آن‌ها راحت‌تر است تا خستگی و آسیب کاهش یابد.
  • مسابقه‌ای بودن: گیمرهای حرفه‌ای معمولاً چیدمان‌های سفارشی را برای واکنش‌های سریع‌تر و حافظه عضلانی ترجیح می‌دهند.
  • ثبات پلتفرم: بازیکنانی که از کنسول‌های دیگر مهاجرت می‌کنند می‌توانند طرح دکمه‌های آشنا را بازتولید کنند و تجربه‌ی مداوم‌تری داشته باشند.

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

آشنایی با گیم‌پد مجازی — کنترلری نرم‌افزاری با تأثیر واقعی

کاوش عمیق‌تر در کد نشان‌دهنده وجود قابلیت «گیم‌پد مجازی» است. این مفهوم شبیه به درایورهای مجازی دوربین در اندروید عمل می‌کند: یک واسط نرم‌افزاری که خود را به اپلیکیشن‌ها به‌عنوان سخت‌افزار فیزیکی معرفی می‌کند. گیم‌پد مجازی می‌تواند ورودی‌های استانداردی مانند A، B، X، Y، Start، Select، تریگرها و بامپرها، آنالوگ استیک‌ها، دکمه‌های L3/R3 و جهت‌های D-pad را گزارش دهد.

از آنجا که این راه‌حل نرم‌افزاری است، گیم‌پد مجازی قادر خواهد بود ورودی‌های دریافتی را ثبت کند، آن‌ها را تغییر دهد و رویدادهای اصلاح‌شده را به بازی‌ها ارسال نماید. این امکان به اندروید اجازه می‌دهد تا قوانین ریمپینگ پیچیده را بدون نیاز به پشتیبانی بومی (native) از سوی هر بازی اعمال کند. نکته مهم‌تر این است که ژست‌های لمسی روی صفحه می‌توانند به فشردن دکمه‌های کنترلر ترجمه شوند، و در نتیجه امکان تجربه‌ای شبیه کنترلر برای بازی‌هایی که پشتیبانی از کنترلر را ندارند فراهم شود.

در عمل، گیم‌پد مجازی می‌تواند چند نقش متفاوت داشته باشد: به‌عنوان یک رابط واحد برای ترکیب ورودی‌های چند کنترلر فیزیکی، به‌عنوان لایه‌ای برای افزودن فیلتر یا ضربه‌گیری (debounce) برای ورودی‌ها، یا به‌عنوان یک میان‌افزار برای متابولیسم ورودی‌های لمسی به رویدادهای گیم‌پد. این نوع انعطاف‌پذیری برای توسعه‌دهندگان بازی، تولیدکنندگان سخت‌افزار و کاربران حرفه‌ای بسیار ارزشمند است.

تطابق با بازی‌های ابری و فرم‌فکتورهای جدید

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

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

انتظارات و موارد مبهم

منوی تنظیمات Canary در حال حاضر نشان‌دهنده قالب‌های جای‌گیر است، اما پیش‌بینی می‌شود فهرستی از کنترلرهای متصل را نمایش دهد و گزینه‌های ریمپ یا پروفایل‌های از پیش تعیین‌شده را ارائه نماید. با توجه به اینکه مجوز ریمپینگ محدود به پلتفرم است، تغییرات جهانی ریمپ به احتمال زیاد از سمت سیستم‌عامل یا سازندگان دستگاه (OEMها) اعمال خواهد شد و نه از طریق اپلیکیشن‌های ثالث. این رویکرد می‌تواند برای امنیت و سازگاری خوب باشد، اما ممکن است انعطاف‌پذیری توسعه‌دهندگان مستقل را محدود کند.

در عمل چند نکته باقی‌مانده نامشخص است: نحوه مدیریت پروفایل‌های کاربران، پشتیبانی از چند کاربر و حساب کاربری مختلف، قابلیت هم‌زمانی میان کنترلرهای متنوع (برای مثال ترکیب یک کنترلر بلوتوثی با یک کنترلر USB)، و اینکه آیا API مشخصی برای توسعه‌دهندگان جهت استفاده از گیم‌پد مجازی در دسترس قرار می‌گیرد یا خیر. همچنین شیوه اعمال تغییرات امنیتی برای جلوگیری از سوءاستفاده از مجوزها یا جعل ورودی‌ها باید روشن شود تا تعادل میان قابلیت‌ها و امنیت برقرار بماند.

در یک سناریوی مطلوب، اندروید ۱۷ می‌تواند امکان ایجاد پروفایل‌های سفارشی برای هر بازی یا هر کنترلر را فراهم کند، از پروفایل‌های اشتراکی و قابل واردات/صادرات پشتیبانی نماید و ابزارهایی برای تنظیم حساسیت استیک‌ها، منحنی پاسخ تریگرها و نحوه نگاشت دکمه‌ها ارائه دهد. اگر این قابلیت‌ها همراه با پشتیبانی مناسب از توسعه‌دهندگان و مدل‌های اجرایی امن عرضه شوند، می‌توانند سطح جدیدی از سازگاری و تجربه بازی را روی پلتفرم اندروید به ارمغان بیاورند.

جزئیات فنی و نکات تخصصی

برای مخاطبان فنی‌تر، چند نکته کاربردی وجود دارد که ارزش توجه دارند. ابتدا، پیاده‌سازی ریمپینگ در سطح سیستم مستلزم مکانیزم‌هایی برای رهگیری و بازنشر رویدادهای ورودی است؛ این کار ممکن است از طریق لایه‌ای شبیه به InputManager یا از طریق یک سرویس سیستمی انجام شود که ورودی‌ها را پیش از ارسال به اپلیکیشن‌ها پردازش می‌کند. چنین سرویس‌هایی باید با دقت طراحی شوند تا تأخیر (latency) را به حداقل برسانند، مخصوصاً برای بازی‌های مسابقه‌ای و تیراندازی که حساسیت زمان پاسخ حیاتی است.

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

سوم، برای تبدیل ژست‌های لمسی به رویدادهای کنترلر، سیستم نیاز به ابزارهایی برای تعریف مناطق لمسی، نگاشت ژست به دکمه و تنظیم حساسیت و نقاط مرده (dead zones) دارد. این امکانات اگر همراه با یک واسط گرافیکی در بخش تنظیمات عرضه شوند، کاربران عادی و حرفه‌ای قادر خواهند بود بدون نیاز به ویرایش فایل‌های پیکربندی دستی، تجربه خود را شخصی‌سازی کنند.

چهارم، پشتیبانی از استانداردهای متداول مانند XInput یا HID و قابلیت ایجاد ترجمه میان آن‌ها می‌تواند سازگاری با بازی‌ها و سرویس‌های مختلف را افزایش دهد. همچنین فراهم کردن APIهای مستندسازی‌شده برای توسعه‌دهندگان بازی و ابزارهای تست خودکار برای تولیدکنندگان کنترلرها، به ارتقای اکوسیستم کمک خواهد کرد.

تاثیر بر سازندگان سخت‌افزار و توسعه‌دهندگان

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

در نهایت، برای جامعه توسعه‌دهنده و تولیدکنندگان لوازم جانبی، انتشار مستندات شفاف و نمونه‌کدها درباره نحوه تعامل با مجوز جدید و گیم‌پد مجازی حیاتی خواهد بود. این اطلاعات به اکوسیستم کمک می‌کنند تا راه‌حل‌های مبتکرانه و ایمن‌تری بسازند.

جمع‌بندی

به اختصار، کارهای مرتبط با کنترلر در اندروید ۱۷ می‌تواند در نهایت به بازیکنان کنترلی دقیق و رهیافت‌های گسترده‌ای که سال‌ها درخواست داشته‌اند بدهد: یک مرکز واحد برای مدیریت کنترلرها، کنترلرهای نرم‌افزاری با احساس بومی و قابلیت تبدیل ورودی‌های لمسی به عملیات گیم‌پد نگاشت‌شده. این ترکیب می‌تواند دسترسی‌پذیری، رقابت‌پذیری و سازگاری میان دستگاه‌ها و سرویس‌های ابری را بهبود دهد. با این‌حال، نحوه اجرای کامل این ویژگی‌ها، سیاست‌های امنیتی پیرامون مجوزها و حمایت از توسعه‌دهندگان مستقل مواردی هستند که باید با جزئیات بیشتری روشن شوند.

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

امیر فرهادی نسب
"من مسائل محلی و اثرات فناوری روی شهرها و جوامع را دنبال می‌کنم. معتقدم داستان‌های محلی زمینه‌ساز فهم بهتر رخدادهای کلان‌اند."

نظر بگذارید

نظرات (6)

بادباندی

منتظرم API و مستندات رسمی بیاد تا بدونم توسعه‌دهنده‌ها چطور می‌تونن از گیم‌پد مجازی استفاده کنن

تکگیمر

پروفایل‌های شخصی برای هر بازی عالیه اما امکان صادرات و واردات هم وجود داره؟

نوریا_فیکس

من از مشکلات نگاشت توی بازی‌های ابری خیلی شاکی بودم امیدوارم این فناوری واقعا کارا باشه

گیمر_سبک

سوالی که دارم آیا اینو با همه کنترلرها و بازی‌ها می‌تونیم استفاده کنیم یا نه؟

ساینتوکس

اصلاً جذابه ریمپینگ سطح سیستم اما امنیت مجوز جدید رو دقیق باید روشن کنن تا از سوءاستفاده جلوگیری شه

آرین_رعد

وا این گام جدید برای کنترلرها انگار قراره تجربه گیمینگ موبایل رو به سطح دیگه‌ای ببره، گیم‌پد مجازی واقعاً هیجان‌انگیزه