تطوير التطبيق باستخدام محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر"

محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر" هو محاكي يركّز على المطوّرين للعبة "ألعاب Google Play على الكمبيوتر". على عكس تجربة المشغل، يمكنك تثبيت الحزم الخاصة بك وتصحيح أخطائها. يمكنك أيضًا محاكاة إعدادات اللاعبين المختلفة، مثل نسبة العرض إلى الارتفاع ومحاكاة الماوس والخلفية الخلفية للرسومات، وذلك لمساعدتك في ضمان أداء لعبتك على النحو المتوقَّع على مجموعة متنوّعة من إعدادات الكمبيوتر الشخصي.

بدء المحاكي

بعد التثبيت، سيظهر لك عنصر قائمة البدء "محاكي مطوّري برامج ألعاب Google Play" واختصار على سطح المكتب لتشغيل المحاكي. سيظل المحاكي موجودًا في علبة النظام عند إغلاق النافذة.

تسجيل الدخول

يُطلب منك تسجيل الدخول إلى حسابك على Google في المرة الأولى التي تشغّل فيها المحاكي استخدِم بيانات اعتماد تسجيل الدخول نفسها التي تنوي استخدامها في تطوير التطبيقات.

ويمكنك تسجيل الخروج من خلال النقر بزر الماوس الأيمن على رمز لوحة النظام واختيار خيارات المطوّرين، ثم النقر على فرض تسجيل الخروج. وعند إجراء ذلك، تتمّ إعادة تشغيل المحاكي على الفور ويطلب منك تسجيل الدخول مرّة أخرى.

بعد التشغيل، ستظهر لك شاشة Android رئيسية عادية. تتم ترجمة نقرات الماوس الأيسر مباشرةً إلى نقرات بالأصابع كما هو الحال في وضع محاكاة الماوس. تظهر الألعاب التي تم تحميلها من أجل التطوير في قائمة التطبيقات، والتي يمكنك الحصول عليها بالنقر والسحب لأعلى على سطح المكتب (لمحاكاة التمرير السريع لأعلى على هاتف أو جهاز لوحي).

بالإضافة إلى ميزة ترجمة الماوس، يوفّر محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر" اختصارات لوحة المفاتيح لتحسين التنقّل:

  • ctrl + h: اضغط على زر الشاشة الرئيسية
  • ctrl + b: اضغط على زر الرجوع
  • F11 أو alt + Enter: التبديل بين وضع ملء الشاشة ووضع النافذة
  • shift + Tab: فتح صفحة "ألعاب Google Play على الكمبيوتر" المركّبة، بما في ذلك تعيينات المفاتيح الحالية لحزمة تطوير البرامج (SDK) للإدخال

تثبيت لعبة

يستخدم محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر" Android Debug Bridge (adb) لتثبيت الحِزم.

التوافق مع Adb

تتوافق الإصدارات الحالية من "adb" مع محاكي المطوِّر لبرنامج "ألعاب Google Play على الكمبيوتر". بالإضافة إلى ذلك، يتم تثبيت إصدار متوافق في C:\Program Files\Google\Play Games Developer Emulator\current\emulator عند تثبيت المحاكي.

لاتّباع هذه التعليمات، يجب أن يكون Adb متاحًا في $PATH. يمكنك التأكّد من ضبط adb بشكل صحيح باستخدام الأمر adb devices.

adb devices
List of devices attached
localhost:6520  device

تثبيت اللعبة

  • تشغيل Google Play Games for PC Emulator
  • اكتب adb devices في موجه الأوامر. من المفترض أن يظهر لك ما يلي:

    adb devices
    List of devices attached
    localhost:6520 device
    
  • استكشاف المشاكل وإصلاحها:

    • إذا ظهرت لك رسالة خطأ، تأكَّد من اتّباع التعليمات الواردة في التوافق مع Adb.
    • إذا لم يظهر لك جهاز، جرِّب إعادة الاتصال عبر المنفذ 6520:
    adb connect localhost:6520
    
  • اكتب adb install path\to\your\game.apk لتثبيت لعبتك. إذا كنت قد أنشأت حزمة تطبيقات Android (aab)، يمكنك الاطّلاع على تعليمات bundletool واستخدام bundletool install-apks بدلاً من ذلك.

  • يمكنك تشغيل لعبتك من خلال أحد الخيارات التالية:

    • اكتب adb shell monkey -p your.package.name 1 لتشغيل لعبتك، مع استبدال your.package.name باسم حزمة لعبتك.
    • في محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر"، انقر على الرمز لتشغيل لعبتك. كما هو الحال في هاتف Android، يجب عليك "التمرير سريعًا لأعلى" على الشاشة الرئيسية لمعرفة قائمة الألعاب المثبتة.

تصحيح الأخطاء في لعبة

استخدِم Android Debug Bridge (adb) لتصحيح الأخطاء كما تفعل مع أي لعبة أخرى. يظهر المحاكي كجهاز متصل عبر localhost:6520.

يعمل adb logcat على النحو المتوقّع، تمامًا مثل الأدوات التي تساعد في تحسين مخرجات Logcat أو فلترتها، بما في ذلك Android Studio.

بالإضافة إلى adb، يمكن الوصول إلى السجلّات في دليل %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. الأكثر فائدة هنا هو AndroidSerial.log الذي يمثّل كل ما قد يتردد صدى adb logcat من لحظة بدء المحاكي.

.

إعدادات مطوّر البرامج

يركِّز محاكي مطوّري برنامج "ألعاب Google Play على الكمبيوتر" على فعالية مطوّري البرامج بدلاً من تجربة المستخدم النهائي. وهذا يعني أنّه يمكنك الوصول بدون عوائق إلى نظام Android، بما في ذلك استخدام مشغّل Android العادي بدلاً من تجربة "ألعاب Google Play على الكمبيوتر"، والتحكّم في الميزات التي يتم تفعيلها وإيقافها تلقائيًا للّاعبين.

اختبار إدخال الماوس

أثناء عملية التطوير، يتولّى محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر" ضبط الإعدادات التلقائية للمحاكاة باللمس بدلاً من منحك الإذن بإدخال الماوس مباشرةً. ويمكنك تفعيل الإدخال المباشر بالماوس عن طريق النقر بزر الماوس الأيمن على رمز لوحة النظام، واختيار خيارات المطوّرين، ثم وضع الكمبيوتر الشخصي (KiwiMouse).

يتضمّن برنامج "ألعاب Google Play على الكمبيوتر" وضعَين للماوس: وضع في وضع المحاكاة يحوِّل نقرات الماوس إلى نقرات واحدة، ووضع "وضع الكمبيوتر الشخصي" الذي يسمح للألعاب بالتعامل مع إجراءات الماوس في الأصل وتنفيذ عمليات التقاط المؤشر. للحصول على تفاصيل حول إدخال الماوس في برنامج "ألعاب Google Play على الكمبيوتر"، يُرجى الاطّلاع على إعداد إدخال الماوس.

في برنامج المشغّل، يتم إيقاف المحاكاة من خلال إضافة ما يلي إلى البيان:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

ليس لعلامة الميزة هذه أي تأثير في بيئة التطوير.

نِسب العرض إلى الارتفاع للاختبار

يتم تشغيل محاكي المطوِّر بنسبة عرض إلى ارتفاع تبلغ 16:9، على عكس عميل المشغّل الذي يستمِد نسبة العرض إلى الارتفاع المتعلّقة به من الشاشة الأساسية. من خلال النقر بزر الماوس الأيمن على رمز لوحة النظام، وتحديد خيارات المطوّرين، ثم أي خيار في قسم نسبة العرض، يمكنك اختبار شكل اللعبة على شاشات اللاعبين المختلفين.

إنّ الطريقة المفضّلة لضبط نسبة العرض إلى الارتفاع هي استخدام android:minAspectRatio وandroid:maxAspectRatio.

على سبيل المثال، قد تكون نسبة العرض إلى الارتفاع 9/16 أو 0.5625 للعبة عمودية، لذلك ننصحك بضبط نسبة عرض إلى ارتفاع تبلغ 1 كحدّ أقصى لمنع اللعبة من أن تصبح أعرض من الشكل المربّع:

<activity android:maxAspectRatio="1">
 ...
</activity>

وبالمثل، تكون اللعبة ذات الاتجاه الأفقي 16/9 أو 1.778 تقريبًا، لذا ننصحك بضبط الحد الأدنى لنسبة العرض إلى الارتفاع على 1 لمنعها من أن تصبح أصغر من الشكل المربع:

<activity android:minAspectRatio="1">
 ...
</activity>

العناصر التي يتم اختبارها

إذا كانت لعبتك توفّر الأوضاع العمودية فقط في ملف البيان، يمكنك اختيار 9:16 (بورتريه) في القائمة المنسدلة للاطّلاع على الشكل الذي تظهر به اللعبة على أجهزة الكمبيوتر الخاصة باللاعبين. وبخلاف ذلك، تأكّد من أنّ لعبتك تعمل بالأوضاع الأفقية الأوسع والأضيق التي توفّرها في البيان، مع تذكُّر أنّ 16:9 (الإعداد التلقائي) (أو 9:16 (وضع "بورتريه") إذا كانت اللعبة مطلوبة بالوضع العمودي فقط)

اختبار خلفيات العرض

يستخدم برنامج "ألعاب Google Play على الكمبيوتر" ANGLE كطبقة توافق لضمان معالجة مكالمات OpenGL ES بشكل صحيح من خلال الكمبيوتر المضيف، وذلك باستخدام واجهة خلفية DirectX أو Vulkan. ويتوافق المحاكي أيضًا مع Vulkan مباشرةً، لكنه لا يدعمه. تقوم هذه الطبقة أيضًا بتحويل تنسيقات الهيئة المضغوطة للهاتف المحمول فقط إلى تنسيقات متوافقة مع الكمبيوتر الشخصي. بالنقر بزر الماوس الأيمن على رمز لوحة النظام واختيار إلغاء تكديس الرسومات، يمكنك إما ضبطه على الإعداد التلقائي للنظام أو فرض تفعيل vulkan أو إيقافه لاختبار التوافق.

العناصر التي يتم اختبارها

هناك اختلافات طفيفة في تنسيقات الزخرفة المتوافقة والخطوات اللازمة لمحاكاة ميزات مختلفة للأجهزة الجوّالة على أجهزة الكمبيوتر المكتبي. عند تحديد ملامح لعبتك وتحسينها، قد يكون الأمر يستحق التحقق من كل خلفية.

تحديد ملامح لعبة الكمبيوتر

ونظرًا لأن المحاكي يستخدم التقنية ذاتها التي يستخدمها العميل، فهو بيئة مناسبة لتحديد ملامح الأداء.

Perfetto هي أداة لتحليل الأداء على Android. يمكنك جمع بيانات آثار Perfetto وعرضها باستخدام الخطوات التالية:

  1. في طلب PowerShell، ابدأ عملية تتبُّع باستخدام adb.

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. تحدِّد العلامة --time مدة تتبُّع التتبُّع.في هذا المثال، يكون التتبع 10 ثوانٍ.
    2. تشير الوسيطات بعد العلامة --time إلى الأحداث المطلوب تتبُّعها. في هذا المثال، تشير السمة gfx إلى الرسومات وإدارة نوافذ wm ومعلومات جدولة المعالجة في sched. هذه هي العلامات الشائعة لألعاب إنشاء المواصفات ويتوفّر مرجع كامل.
    3. تحدّد العلامة --out ملف الإخراج الذي يتم سحبه من المحاكي إلى الجهاز المضيف في الخطوة التالية.
  2. سحب آثار الأنشطة من المضيف

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. فتح عملية التتبّع في واجهة مستخدم Perfetto

    1. افتح ui.perfetto.dev.
    2. اختَر فتح ملف التتبُّع في أعلى يمين الصفحة ضمن التنقل.
    3. افتح ملف example.trace الذي نزّلته في الخطوة السابقة للوصول إلى دليل Downloads/.
  4. افحص عملية التتبُّع في واجهة مستخدم Perfetto. في ما يلي بعض الملاحظات المفيدة:

    1. لكل عملية صف خاص بها، والذي يمكن توسيعه لعرض جميع سلاسل التعليمات في هذه العملية. إذا كنت تريد إنشاء ملف شخصي للعبة، من المحتمل أن تكون عملية إنشاء البيانات هي الصف الأول على الأرجح.
    2. يمكنك التكبير والتصغير من خلال الضغط مع الاستمرار على Control واستخدام عجلة التمرير.
    3. عند استخدام حدث sched، هناك صف لكل سلسلة محادثات يعرض ما إذا كانت حالة سلسلة المحادثات هذه قيد التشغيل أو قابلة للتشغيل أو في وضع السكون أو محظورة.
    4. عند تفعيل حدث مثل gfx، يمكنك الاطّلاع على استدعاءات الرسومات المتنوعة التي تجريها سلاسل المحادثات المختلفة. يمكنك تحديد "شرائح" فردية لمعرفة المدة التي استغرقتها، أو يمكنك سحب صف يؤدي إلى فتح قسم "شرائح" في الأسفل وإظهار المدة التي استغرقتها كل الشرائح في النافذة الزمنية المحددة.

إنشاء ملفات شخصية للرسومات

يمكن إجراء بعض تحليل الرسومات باستخدام RenderDoc.

  1. ضبط متغير البيئة ANDROID_EMU_RENDERDOC على سلسلة غير فارغة (مثل "1").
  2. ضبط متغيِّر البيئة TMP على %USERPROFILE%\AppData\LocalLow يؤدي ذلك إلى إخبار Renderdoc بوضع ملفات السجل الخاصة به في مكان ما يمكن الوصول إليه ضمن وضع الحماية للمحاكي.

  3. إذا كنت تستخدم الواجهة الخلفية Vulkan. حدد إعدادات الرسومات > طبقات ضمنية Vulkan Instance Layers وتأكد من تحديد VKLAYER_RENDERDOC_Capture.

  4. شغِّل محاكي مطوّر برامج "ألعاب Google Play على الكمبيوتر". يتم رسم تراكب RenderDoc في أعلى الصفحة طالما أن الدعم مفعَّل.

  5. يمكنك تشغيل RenderDoc في أي وقت قبل أو بعد إطلاق محاكي مطوّري البرامج في "ألعاب Google Play على الكمبيوتر".

  6. انقر على ملف > إرفاق بمثيل قيد التشغيل واختَر crosvm.

تحديد متغيرات البيئة

لكي يعمل Renderdoc، يجب إضافة متغيرات البيئة أو تغييرها في نظام التشغيل Windows. يمكنك تغيير متغيرات البيئة باستخدام واجهة المستخدم أو PowerShell أو cmd.exe.

استخدام واجهة المستخدم
  • اضغط على Win+R لفتح مربّع حوار التشغيل.
  • اكتب sysdm.cpl لفتح نافذة System Properties (خصائص النظام).
  • اختَر علامة التبويب إعدادات متقدّمة إذا لم تكن نشطة حاليًا.
  • انقر على الزرّ متغيرات البيئة.

من هنا، يمكنك النقر على الزر جديد لإنشاء متغير بيئة جديد أو اختيار متغيّر والنقر على الزر تعديل لتعديله.

استخدام PowerShell

في نافذة PowerShell، اكتب:

$Env:VARIABLE_NAME=VALUE

استبدِل VARIABLE_NAME وVALUE بالقيم التي تريد ضبطها. على سبيل المثال، لضبط ANDROID_EMU_RENDERDOC على نوع "1":

$Env:ANDROID_EMU_RENDERDOC="1"
استخدم cmd.exe

في نافذة cmd.exe، اكتب:

set VARIABLE_NAME=VALUE

استبدِل VARIABLE_NAME وVALUE بالقيم التي تريد ضبطها. على سبيل المثال، لضبط ANDROID_EMU_RENDERDOC على نوع "1":

set ANDROID_EMU_RENDERDOC="1"

نصائح للإصدار Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث

يتم تحديث برنامج "ألعاب Google Play على الكمبيوتر" بأحدث إصدارات من Android. إليك بعض النصائح للتعامل مع أحدث إصدار من Android.

تحديث الأدوات باستمرار

يثبّت "استوديو Android" إصدارًا من Adb يتوافق مع محاكي مطوّري البرامج، ولكن تتضمّن بعض محركات الألعاب إصدارًا قديمًا من Adb. في هذه الحالة، بعد تثبيت محاكي المطوِّر، يمكنك العثور على إصدار متوافق من adb في C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

في حال تشغيل أحد إصدارات "adb"، سيتم إنهاء الإصدار الآخر. ويعني هذا أنّه إذا كان محرِّك اللعبة يشغِّل مثيل adb الخاص به تلقائيًا، قد تضطر إلى إعادة تشغيل إصدار adb الذي يأتي مع محاكي المطوّرين عند نشره وإعادة ربطه.

إذا كنت تستخدم حِزمة تطبيق Android، يجب تثبيت أحدث إصدار من Bundletool من مستودع GitHub.

التخزين المُحدَّد النطاق

يتضمّن نظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث مساحة تخزين ذات نطاق يوفّر حماية أفضل لبيانات المستخدمين والتطبيقات على وحدة التخزين الخارجية. وإلى جانب جعل لعبتك متوافقة مع متطلبات مساحة التخزين ذات النطاق المسموح به، عليك تنفيذ خطوات إضافية لتحميل ملفات توسيع APK (obb) أو بيانات مواد العرض إلى محاكي المطوِّر لبرنامج "ألعاب Google Play على الكمبيوتر". اتبع هذه الخطوات إذا واجهت مشكلات في الوصول إلى هذه الملفات من لعبتك:

  1. أنشئ دليلاً يمكن لتطبيقك قراءته.
  2. أرسل ملفات التوسيع إلى المحاكي.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

إمكانية رؤية الحزمة

بسبب قواعد مستوى ظهور الحزمة الجديدة، يتم منع التطبيقات التي تستهدف الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث من طلب البحث عن معلومات حول التطبيقات الأخرى التي يتم تثبيتها على الجهاز. وهذا يعني أنّه تم حظر لعبتك من الوصول إلى "خدمات Play" عند تحميلها من مصدر غير معروف عبر adb بدلاً من تثبيتها من خلال "متجر Play". لاختبار الشراء داخل التطبيق باستخدام لعبة تم تحميلها من مصدر غير معروف، يجب إضافة استعلام إلى الحزمة "com.android.vending" في ملف AndroidManifest.xml على النحو التالي:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

تثبيت لعبتك في برنامج المستهلك

لا يمكنك تثبيت لعبة على العميل إلى أن يتم إدراجها في كتالوج "خدمات ألعاب Play". بعد أن تُصدر لعبتك إصدارًا واحدًا، يمكنك إنشاء مسار اختبار داخلي للتحقق من التحديثات المستقبلية قبل إصدارها.

لا يتوافق برنامج المشغّل مع الميزات التي يركِّز عليها المطوّرون في محاكي المطوِّر في "ألعاب Google Play على الكمبيوتر". يُستخدم هذا الخيار بشكل أفضل لضمان جودة اللعبة قبل إصدارها لاختبار تجربة اللاعب من البداية إلى النهاية بعد الإصدار الأولي.