محاكي المطوّرين لبرنامج "ألعاب Google Play على الكمبيوتر" هو محاكي مخصّص للمطوّرين في برنامج "ألعاب Google Play على الكمبيوتر". على عكس تجربة المشغّل، يمكنك تثبيت حِزمك وتصحيح أخطائها. يمكنك أيضًا محاكاة إعدادات مختلفة للاعبين، مثل نسبة العرض إلى الارتفاع ومحاكاة الماوس وبرنامج الرسومات، وذلك للمساعدة في ضمان عمل لعبتك على النحو المتوقّع على مجموعة متنوعة من إعدادات أجهزة الكمبيوتر.
بدء تشغيل المحاكي
بعد التثبيت، سيظهر لك عنصر "محاكي مطوّر ألعاب Google Play" في قائمة "ابدأ" واختصار على سطح المكتب لتشغيل المحاكي. سيظل المحاكي موجودًا في شريط النظام عند إغلاق النافذة.
تسجيل الدخول
سيُطلب منك تسجيل الدخول إلى حسابك على Google في المرة الأولى التي تشغّل فيها المحاكي. استخدِم بيانات تسجيل الدخول نفسها التي تخطّط لاستخدامها في عملية التطوير.
يمكنك تسجيل الخروج من خلال النقر بزر الماوس الأيمن على رمز علبة النظام، واختيار خيارات المطوّر، ثم النقر على فرض تسجيل الخروج. وعند إجراء ذلك، ستتم إعادة تشغيل المحاكي على الفور وسيُطلب منك تسجيل الدخول مرة أخرى.
التنقّل
بعد التشغيل، ستظهر لك شاشة Android الرئيسية المعتادة. يتم تحويل نقرات زر الماوس الأيسر مباشرةً إلى نقرات بالأصابع كما هو الحال في وضع محاكاة الماوس. تظهر الألعاب التي تم تحميلها جانبًا لأغراض التطوير في قائمة التطبيقات، ويمكنك الوصول إليها من خلال النقر والسحب للأعلى على سطح المكتب (محاكاة التمرير سريعًا للأعلى على هاتف أو جهاز لوحي).
بالإضافة إلى ترجمة الماوس، يوفّر محاكي المطوّرين في برنامج "ألعاب Google Play على الكمبيوتر" اختصارات لوحة المفاتيح لتحسين التنقّل:
ctrl + h : الضغط على زر الصفحة الرئيسيةctrl + b : الضغط على زر الرجوعF11 أوalt + enter : للتبديل بين وضع ملء الشاشة ووضع النافذةshift + tab : فتح التراكب في "ألعاب Google Play على الكمبيوتر"، بما في ذلك عمليات ربط المفاتيح الحالية لحزمة Input SDK
تثبيت لعبة
يستخدم "محاكي ألعاب Google Play على الكمبيوتر" للمطوّرين أداة تصحيح أخطاء Android (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".
بالإضافة إلى 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 على الكمبيوتر" واجهة برمجة التطبيقات Vulkan لعرض ألعابك، وهي واجهة شائعة في كل من بيئات Android والكمبيوتر. يتم استخدام طبقة وضع الحماية لعزل بيئتي الكمبيوتر الشخصي وAndroid. بما أنّ العديد من الألعاب لا تزال تستخدم OpenGL ES لعرض الرسومات، سيحوّل ANGLE أوامر OpenGL ES إلى أوامر Vulkan متوافقة مع الكمبيوتر المضيف.
وبالمثل، يوفّر برنامج "ألعاب Google Play على الكمبيوتر" أقصى توافق للألعاب ويقلّل من الجهد الذي يبذله المطوّرون من خلال تحويل تنسيقات الرسومات المتوافقة مع الأجهزة الجوّالة، مثل ETC1 وETC2، تلقائيًا إلى تنسيقات متوافقة مع الكمبيوتر في وقت التشغيل. للحصول على أفضل النتائج، تجنَّب هذا التحويل باستخدام تنسيقات متوافقة مع وحدات معالجة الرسومات على أجهزة الكمبيوتر، مثل DXTC أو BPTC.
ما يجب اختباره
إذا كانت لعبتك تواجه مشاكل غير متوقعة في عرض الرسومات، افحص رسومات المصدر وفكِّر في استخدام تنسيق متوافق مع أجهزة الكمبيوتر. انتبه جيدًا إلى التركيبات المستخدَمة للتأثيرات الأكثر تقدّمًا، لأنّ المشاكل في الخرائط العادية أو المكعبة غالبًا ما يكون من الصعب رصدها مقارنةً بالمشاكل في خرائط الألوان الأساسية.
ستؤدي عملية تحويل أوامر OpenGL ES إلى Vulkan التي تجريها ANGLE إلى إضافة بعض النفقات العامة. تأكَّد من أنّك تستوفي أهداف الأداء المتوقّعة، وفكِّر في التبديل إلى أداة عرض مستندة إلى Vulkan.
إنشاء ملف تعريف لألعاب الكمبيوتر
وبما أنّ المحاكي يستخدم التكنولوجيا نفسها التي يستخدمها تطبيق العميل، فهو يوفّر بيئة مناسبة لتحديد مستوى الأداء.
Perfetto هي أداة لتحليل الأداء على Android. يمكنك جمع وعرض بيانات تتبُّع Perfetto باتّباع الخطوات التالية:
في موجه أوامر PowerShell، ابدأ عملية تتبُّع باستخدام
adb
adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- تحدّد العلامة
--time
مدة التتبُّع المطلوب جمعها. في هذا المثال، تبلغ مدة التتبُّع 10 ثوانٍ. - تشير الوسيطات التي تلي العلامة
--time
إلى الأحداث التي سيتم تتبّعها. في هذا المثال، يشيرgfx
إلى الرسومات، وwm
إلى إدارة النوافذ، وsched
إلى معلومات جدولة العمليات. في ما يلي بعض العلامات الشائعة لتحديد الألعاب التي تتطلّب إنشاء ملف شخصي، ويتوفّر مرجع كامل. - تحدّد العلامة
--out
ملف الإخراج الذي يتم استخراجه من المحاكي إلى الجهاز المضيف في الخطوة التالية.
- تحدّد العلامة
سحب التتبُّع من المضيف
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
فتح عملية التتبُّع في واجهة مستخدم Perfetto
- افتح ui.perfetto.dev.
- انقر على فتح ملف التتبُّع من أعلى يمين الصفحة ضمن التنقّل.
- افتح ملف
example.trace
الذي نزّلته في الخطوة السابقة إلى دليلDownloads/
.
افحص عملية التتبُّع في واجهة مستخدم Perfetto. في ما يلي بعض الملاحظات المفيدة:
- يحتوي كل عملية على صف خاص بها، ويمكن توسيعه لعرض جميع سلاسل التنفيذ في تلك العملية. إذا كنت بصدد تحليل أداء لعبة، من المحتمل أن يكون الإجراء الخاص بها هو الصف الأول.
- يمكنك التكبير والتصغير من خلال الضغط مع الاستمرار على مفتاح Control واستخدام عجلة التمرير.
- عند استخدام الحدث
sched
، يظهر صف لكل سلسلة محادثات يعرض وقت تشغيل السلسلة أو قابليتها للتشغيل أو وضع السكون أو الحظر. - عند تفعيل حدث مثل
gfx
، يمكنك الاطّلاع على طلبات الرسومات المختلفة التي تم إجراؤها بواسطة سلاسل محادثات مختلفة. يمكنك اختيار "شرائح" فردية لمعرفة المدة التي استغرقتها، أو يمكنك السحب على طول صف ما يؤدي إلى فتح قسم "الشرائح" في أسفل الصفحة وعرض المدة التي استغرقتها جميع الشرائح في الفترة الزمنية المحددة.
إنشاء ملفات تعريف الرسومات
يمكن إجراء بعض عمليات تحليل أداء الرسومات باستخدام RenderDoc.
- اضبط متغيّر البيئة
ANDROID_EMU_RENDERDOC
على سلسلة غير فارغة (مثل"1"
). اضبط متغيّر البيئة
TMP
على%USERPROFILE%\AppData\LocalLow
. يطلب هذا الأمر من Renderdoc وضع ملفات السجلّات في مكان يمكن الوصول إليه ضمن بيئة المحاكي المعزولة.إذا كنت تستخدم Vulkan كبرنامج الخلفية انقر على إعدادات الرسومات > طبقات Vulkan الضمنية وتأكَّد من وضع علامة في المربّع بجانب VKLAYER_RENDERDOC_Capture.
شغِّل محاكي المطوّرين في برنامج "ألعاب Google Play على الكمبيوتر". يتم رسم تراكب RenderDoc في الأعلى طالما أنّ ميزة التوافق مفعّلة.
يمكنك تشغيل RenderDoc في أي وقت قبل أو بعد تشغيل "محاكي المطوّرين" في برنامج "ألعاب Google Play على الكمبيوتر".
انقر على ملف (File) > الإرفاق بمثيل قيد التشغيل (Attach to Running Instance) واختَر crosvm.
تحديد متغيرات البيئة
لكي يعمل Renderdoc، عليك إضافة أو تغيير متغيرات البيئة في Windows. يمكنك تغيير متغيرات البيئة باستخدام واجهة المستخدم أو PowerShell أو cmd.exe.
استخدام واجهة المستخدم
- اضغط على
Win+R لفتح مربّع الحوار "تشغيل". - اكتب
sysdm.cpl
لفتح نافذة خصائص النظام. - انقر على علامة التبويب خيارات متقدّمة إذا لم تكن نشطة.
- انقر على الزر متغيّرات البيئة.
من هنا، يمكنك إما النقر على الزر جديد لإنشاء متغيّر بيئة جديد أو اختيار متغيّر والنقر على الزر تعديل لتعديله.
استخدام 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.
Scoped Storage
يتضمّن الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث ميزة "التخزين الفرعي" التي توفّر حماية أفضل لبيانات التطبيقات والمستخدمين على مساحة التخزين الخارجية. بالإضافة إلى جعل لعبتك متوافقة مع متطلبات مساحة التخزين المحصورة، عليك اتّخاذ خطوات إضافية لتحميل ملفات توسيع حِزم APK (obb) أو بيانات مواد العرض إلى محاكي المطوّرين في "ألعاب Google Play على الكمبيوتر". اتّبِع الخطوات التالية في حال واجهت مشاكل في الوصول إلى هذه الملفات من لعبتك:
- أنشئ دليلاً يمكن لتطبيقك قراءته.
- إرسال ملفات البيانات الموسّعة إلى المحاكي
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 على الكمبيوتر". ويُستخدَم هذا النوع من الاختبارات بشكل أفضل لضمان جودة اللعبة قبل طرحها واختبار تجربة اللاعب الشاملة بعد الطرح الأوّلي.