เมื่อพัฒนาเกมสำหรับ Android สิ่งสำคัญคือการคาดการณ์ประสบการณ์ของผู้เล่นที่อาจเกิดขึ้นได้หลากหลาย และปรับตัวให้เข้ากับความต้องการในการโต้ตอบแบบเรียลไทม์ของผู้เล่น การรองรับประสบการณ์การเล่นที่แตกต่างกันจะช่วยเพิ่มความยืดหยุ่นในการเล่นเกม ซึ่งจะช่วยให้คุณขยายการเข้าถึงเกมได้
ความแตกต่างที่เฉพาะเจาะจงในประสบการณ์ของผู้เล่นมีดังนี้
- รูปแบบของอุปกรณ์: แม้ว่าโทรศัพท์จะมอบประสบการณ์การใช้งานอุปกรณ์ Android แบบดั้งเดิม แต่ก็สามารถโต้ตอบกับเกมในรูปแบบอื่นๆ ได้ อุปกรณ์ ChromeOS สามารถเรียกใช้คอนเทนเนอร์ Android ที่แสดงเกมของคุณได้ แท็บเล็ต ที่ใช้ Android รองรับระดับความเที่ยงตรงที่แตกต่างกันหลายระดับ อุปกรณ์ Android TV รองรับประสบการณ์การใช้งานที่สมจริงและมีรายละเอียดมากขึ้น ผู้เล่นสามารถ จำลองสภาพแวดล้อมแบบหลายหน้าต่างได้โดยใช้เครื่องมือขยายจอแสดงผล และเมื่อใช้โทรศัพท์แบบพับได้ ผู้เล่นจะเปลี่ยนขนาดหน้าจอระหว่างเซสชันการเล่นเกมได้
- วิธีการโต้ตอบ: ผู้เล่นสามารถป้อนข้อมูลได้โดยการแตะหน้าจอของอุปกรณ์ แต่จะใช้เมาส์ ทัชแพด แป้นพิมพ์ หรือคอนโทรลเลอร์แทนก็ได้ นอกจากนี้ ความพร้อมใช้งานของเครื่องมือขยายการแสดงผลและอุปกรณ์พับได้ยังช่วยให้ผู้เล่นได้สัมผัสประสบการณ์การเล่นเกมของคุณบนหน้าจอที่ใหญ่ขึ้น ทำให้เซสชันการเล่นเกมที่ยาวนานขึ้นและอินเทอร์เฟซที่ซับซ้อนมากขึ้นเป็นไปได้
- การรองรับฮาร์ดแวร์: อุปกรณ์บางรุ่นที่ใช้ Android ไม่มีฮาร์ดแวร์ที่ มักพบในอุปกรณ์พกพา เช่น กล้องด้านหลัง GPS และ การเชื่อมต่อเครือข่าย เกมควรปรับให้เข้ากับฮาร์ดแวร์ที่มี และจัดการสถานการณ์ที่ฟีเจอร์บางอย่างไม่พร้อมใช้งานได้อย่างราบรื่น
คู่มือนี้จะนำเสนอแนวทางปฏิบัติแนะนำที่เกี่ยวข้องกับการพัฒนาเกมสำหรับหน้าจอประเภทต่างๆ และการโต้ตอบของผู้ใช้ นอกจากนี้ คู่มือนี้ยังให้คำแนะนำเกี่ยวกับ การออกแบบเกมและการพัฒนากลยุทธ์การทดสอบที่มีประสิทธิภาพด้วย
แนวทางปฏิบัติแนะนำในการออกแบบเกม
เมื่อวางแผนการออกแบบและสถาปัตยกรรมของเกม ให้ทําตามแนวทางปฏิบัติแนะนํา ที่อธิบายไว้ในส่วนต่อไปนี้
ตอบสนองต่อการเปลี่ยนแปลงการกำหนดค่าด้วยตนเอง
เมื่อระบบ Android ตรวจพบการเปลี่ยนแปลงการกำหนดค่า เช่น การเปลี่ยนแปลง
ขนาดหน้าจอ การวางแนวหน้าจอ หรือวิธีการป้อนข้อมูล ระบบจะรีสตาร์ท
กิจกรรมปัจจุบันโดยค่าเริ่มต้น หากต้องการรักษาสถานะภายในแอปหรือเกม กิจกรรมจะเรียกใช้
onSaveInstanceState()
โดยค่าเริ่มต้นก่อนที่จะรีสตาร์ท และ
onRestoreInstanceState()
หลังจากรีสตาร์ท อย่างไรก็ตาม กระบวนการนี้กำหนดให้กิจกรรมต้องโหลดบริการและทรัพยากรที่เกี่ยวข้องทั้งหมดซ้ำ
ดูข้อมูลเพิ่มเติมเกี่ยวกับลักษณะการทำงานเริ่มต้นนี้ได้ที่คู่มือการจัดการการเปลี่ยนแปลงการกำหนดค่า
เซสชันการเล่นเกมทั่วไปจะมีการเปลี่ยนแปลงการกำหนดค่าหลายอย่าง หากเกมของคุณ ปล่อยให้ระบบจัดการการเปลี่ยนแปลงการกำหนดค่าแต่ละครั้ง ฉากของเกมจะถูกทำลาย และรีสตาร์ทซ้ำๆ ซึ่งจะทำให้ประสิทธิภาพของเกมลดลง ด้วยเหตุนี้ เราจึงขอแนะนำให้คุณจัดการการเปลี่ยนแปลงการกำหนดค่าเหล่านี้ด้วยตนเองในเกม
หากต้องการดูวิธีเพิ่มตรรกะการเปลี่ยนแปลงการกำหนดค่านี้ลงในเกม โปรดดูส่วนเกี่ยวกับวิธีสร้างตัวแฮนเดิลการเปลี่ยนแปลงการกำหนดค่าที่กำหนดเอง
สร้างสถาปัตยกรรมที่ยืดหยุ่น
หากต้องการเพิ่มการรองรับเกมในอุปกรณ์ให้ได้มากที่สุด ให้ทำตามแนวทางปฏิบัติแนะนำต่อไปนี้
- ทำให้ Android App Bundle ใช้งานได้แทน APK แต่ละรายการ Android App Bundles ช่วยให้คุณแพ็กเกจอาร์ติแฟกต์ที่มีความละเอียดและโมเดลสถาปัตยกรรมที่แตกต่างกัน เช่น x86, ARM ลงในอาร์ติแฟกต์เดียวได้ นอกจากนี้ Android App Bundle ยังรองรับขีดจำกัดด้านขนาดที่สูงขึ้นสำหรับเกมของคุณ โดย APK ฐานแต่ละรายการอาจมีขนาดใหญ่ถึง 150 MB และตัว Bundle เองอาจมีขนาดหลายกิกะไบต์
- เพิ่มการรองรับสถาปัตยกรรม x86 ขั้นตอนนี้จะช่วยปรับปรุงประสิทธิภาพของเกมในอุปกรณ์ที่ไม่รองรับ ARM เนื่องจากอุปกรณ์เหล่านี้จะสามารถ เรียกใช้คำสั่งได้โดยไม่ต้องแปลก่อน
เพิ่มการรองรับ Vulkan
การรองรับ Vulkan จะช่วยให้เกมของคุณมีประสิทธิภาพด้านกราฟิกสูงขึ้น อุปกรณ์ส่วนใหญ่รองรับกราฟิก API นี้
สร้างตัวแฮนเดิลการเปลี่ยนแปลงการกำหนดค่าที่กำหนดเอง
หากต้องการประกาศประเภทการเปลี่ยนแปลงการกำหนดค่าที่เกมของคุณจัดการเอง ให้เพิ่มแอตทริบิวต์ android:configChanges
ลงในองค์ประกอบ <activity> แต่ละรายการในไฟล์ Manifest ที่แสดงถึงหน้าจอหรืออินเทอร์เฟซที่ซับซ้อน
ข้อมูลโค้ดต่อไปนี้แสดงวิธีประกาศว่าเกมของคุณรองรับการเปลี่ยนแปลงขนาดหน้าจอ การวางแนวหน้าจอ และวิธีการป้อนข้อมูล
<activity ... android:configChanges="screenSize|orientation|keyboard|keyboardHidden"> </activity>
เมื่อมีการเปลี่ยนแปลงการกำหนดค่าที่ประกาศไว้ ตอนนี้ระบบจะเรียกใช้เมธอดอื่น
onConfigurationChanged()
ในเมธอดนี้ ให้เพิ่มตรรกะเพื่ออัปเดต UI ของเกม
- อัปเดตปัจจัยที่มีผลต่อขนาดและการวางแนวของหน้าจอ โปรดทราบว่าในบางครั้งการปรับขนาด UI ของเกมตาม มิติเดียวอาจดีกว่าในแง่ของ ประสิทธิภาพ
- ระบุวิธีการป้อนข้อมูลที่เหมาะสมที่สุดสำหรับผู้เล่น
จัดการการเปลี่ยนแปลงการกำหนดค่าหน้าจอ
เกมจะจัดการการเปลี่ยนแปลงขนาดและการวางแนวหน้าจอด้วยตนเองทุกครั้งที่คุณรวมค่า screenSize และ orientation ตามลำดับในแอตทริบิวต์
android:configChanges
คุณสามารถใช้ค่าใหม่เหล่านี้เพื่ออัปเดตเนื้อหาของฉากและ
พื้นที่ป้อนข้อมูลของผู้เล่น หากต้องการคำแนะนำเกี่ยวกับวิธีออกแบบเลย์เอาต์ของเกมเพื่อให้
อัปเดตได้ง่ายขึ้น โปรดดูคำแนะนำเกี่ยวกับการรองรับหน้าจอขนาดต่างๆ
ในการติดตั้งใช้งาน onConfigurationChanged() ของเกม ให้ใช้ออบเจ็กต์ Configuration ที่ส่งเข้ามาและออบเจ็กต์ Display ของ Window Manager เพื่อ
กำหนดค่าที่อัปเดตสำหรับขนาดหน้าจอและการวางแนวหน้าจอ
ตามลำดับ
ข้อมูลโค้ดต่อไปนี้แสดงวิธีรับขนาดหน้าจอและ การวางแนวที่อัปเดตแล้วของเกม
Kotlin
override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) val density: Float = resources.displayMetrics.density val newScreenWidthPixels = (newConfig.screenWidthDp * density).toInt() val newScreenHeightPixels = (newConfig.screenHeightDp * density).toInt() // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. val newScreenOrientation: Int = newConfig.orientation // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. val newScreenRotation: Int = windowManager.defaultDisplay.rotation }
Java
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); float density = getResources().getDisplayMetrics().density; int newScreenWidthPixels = (int) (newConfig.screenWidthDp * density); int newScreenHeightPixels = (int) (newConfig.screenHeightDp * density); // Get general orientation; either Configuration.ORIENTATION_PORTRAIT or // Configuration.ORIENTATION_LANDSCAPE. int newScreenOrientation = newConfig.orientation; // Get general rotation; one of: ROTATION_0, ROTATION_90, ROTATION_180, // or ROTATION_270. int newScreenRotation = getWindowManager().getDefaultDisplay() .getRotation(); }
โปรดทราบว่าการเปลี่ยนท่าทางของอุปกรณ์แบบพับได้จะเปลี่ยนการกำหนดค่า แม้ว่าแอปจะทำงานในโหมดเต็มหน้าจอก็ตาม ด้วยเหตุนี้ แอปของคุณอาจต้องจัดการการเปลี่ยนแปลงขนาดหน้าจอหรือความหนาแน่นของพิกเซล หากผู้ใช้พับหรือกางอุปกรณ์ขณะที่เกมกำลังทำงานอยู่
คุณภาพหน้าจอเฉพาะเกม
ส่วนต่อไปนี้จะอธิบายวิธีปรับการตอบสนองของเกมต่อการเปลี่ยนแปลงขนาดหรือการวางแนวหน้าจอ โดยขึ้นอยู่กับคุณภาพของเกม
โหมดเต็มหน้าจอ
ในบางแพลตฟอร์ม เช่น ChromeOS แอปและเกม Android จะสามารถแสดงในหน้าต่างและ
ปรับขนาดได้โดยค่าเริ่มต้น หากเกมควรทำงานในโหมดเต็มหน้าจอเสมอ คุณ
สามารถตั้งค่าแอตทริบิวต์
android:resizeableActivity
เป็น false ในองค์ประกอบ <activity> รายการใดรายการหนึ่ง ดังที่แสดงใน
ข้อมูลโค้ดต่อไปนี้
<activity ... android:resizeableActivity="false"> </activity>
คุณยังตั้งค่าแอตทริบิวต์ android:resizeableActivity เป็น false เพื่อป้องกันไม่ให้เกิดการเปลี่ยนแปลงการกำหนดค่าตามขนาดได้ด้วย อย่างไรก็ตาม คุณควรเพิ่มแอตทริบิวต์นี้เป็นเพียงวิธีแก้ปัญหาชั่วคราวเพื่อวัตถุประสงค์ในการทดสอบเท่านั้น เว้นแต่เกมจะทำงานในโหมดเต็มหน้าจอเสมอ
การวางแนวหน้าจอ
หากเกมของคุณต้องอาศัยเซ็นเซอร์ของอุปกรณ์ที่มีการวางแนวที่เฉพาะเจาะจง
ให้ระบุค่าสำหรับ
android:screenOrientation ใน
กิจกรรมของเกม ดังที่แสดงในข้อมูลโค้ดต่อไปนี้ การตั้งค่านี้จะช่วย
ป้องกันไม่ให้ฉากในเกมพลิกกลับด้านโดยไม่คาดคิด
<activity ... android:screenOrientation="landscape"> </activity>
คุณภาพหน้าจอเฉพาะอุปกรณ์
ส่วนต่อไปนี้จะอธิบายวิธีจัดการการเปลี่ยนแปลงการกำหนดค่าตามหน้าจอ โดยพิจารณาจากคุณภาพเฉพาะที่อุปกรณ์บางเครื่องมี
สัดส่วนภาพ
อุปกรณ์บางรุ่นรองรับสัดส่วนการแสดงผลที่แตกต่างกัน ตัวอย่างเช่น อุปกรณ์แบบพับได้ได้รับการออกแบบมาให้รองรับสัดส่วนภาพ 21:9 เมื่ออยู่ในสถานะพับ หากต้องการจัดการ สัดส่วนภาพที่อาจแตกต่างกันนี้ ให้ทำอย่างน้อย 1 อย่างต่อไปนี้
- กำหนดเป้าหมายเป็น Android 8.0 (ระดับ API 26) ขึ้นไป
- ทำให้ฉากและอินเทอร์เฟซของเกมปรับขนาดได้ ตั้งค่า
android:resizeableActivityเป็นtrueในอุปกรณ์ที่ใช้ Android 7.0 (ระดับ API 24) ขึ้นไป ประกาศสัดส่วนภาพสูงสุดที่รองรับ ในแอตทริบิวต์
<meta-data>ที่เชื่อมโยง กับเกม ให้ตั้งค่าandroid.max_aspectเป็น2.4ดังที่แสดงในข้อมูลโค้ด ต่อไปนี้ อย่างไรก็ตาม โปรดทราบว่าสัดส่วนภาพที่ใหญ่กว่าสัดส่วนภาพที่คุณระบุจะทำให้เกมปรากฏเป็นมีแถบดำด้านบน-ล่างของภาพภายในจอแสดงผล<application> <meta-data android:name="android.max_aspect" android:value="2.4" /> </application>
กิจกรรมหลายอย่างปรากฏพร้อมกัน
อุปกรณ์รุ่นใหม่ๆ หลายรุ่นรองรับเลย์เอาต์หน้าจอที่หลากหลาย ซึ่งรวมถึงการแยกหน้าจอ โหมดภาพซ้อนภาพ และพื้นที่แสดงผลขนาดใหญ่ เมื่อใช้เลย์เอาต์ใดเลย์เอาต์หนึ่งเหล่านี้ ระบบจะแสดงกิจกรรมหลายอย่างพร้อมกันได้
ในอุปกรณ์ที่ใช้ Android 9 (ระดับ API 28) ขึ้นไป กิจกรรมที่มองเห็นได้ทั้งหมดที่ด้านบนจะกลับมาทำงานพร้อมกันได้ อย่างไรก็ตาม ทั้งเกมและ OEM ของอุปกรณ์ต้องเลือกใช้ฟังก์ชันนี้เพื่อให้ลักษณะการทำงานนี้
ใช้งานได้ คุณเพิ่มการรองรับภายในเกมได้โดยตั้งค่า
android.allow_multiple_resumed_activitiesเป็น true ในไฟล์ Manifest ของเกม
ดังที่แสดงในตัวอย่างโค้ดต่อไปนี้
<application> <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" /> </application>
จากนั้นคุณสามารถทดสอบเกมในอุปกรณ์ต่างๆ เพื่อดูว่าอุปกรณ์ใดบ้างที่ให้การสนับสนุนจาก OEM ที่จำเป็นต่อการทำงานของโหมดหลายหน้าต่างอย่างถูกต้อง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าเกมให้ปรากฏเป็นส่วนหนึ่งของ การแสดงผลแบบหลายหน้าต่างได้ที่ดูคำแนะนำเกี่ยวกับวิธีเพิ่มการรองรับ การทำงานแบบหลายหน้าต่าง
จัดการโมเดลการโต้ตอบประเภทต่างๆ
เกมของคุณจะจัดการการมีอยู่และความพร้อมใช้งานของแป้นพิมพ์ด้วยตนเองทุกครั้งที่คุณรวมค่า keyboard และ keyboardHidden ตามลำดับในแอตทริบิวต์
android:configChanges
คุณสามารถใช้ค่าใหม่เหล่านี้เพื่ออัปเดตวิธีการป้อนข้อมูลหลักของเกม
เมื่อกำหนดค่าเกมให้รองรับข้อมูลจากผู้ใช้หลายประเภท โปรดคำนึงถึงสิ่งต่อไปนี้
- ตรวจหาวิธีการป้อนข้อมูลแทนที่จะตรวจหาอุปกรณ์แต่ละเครื่อง แนวคิดนี้ช่วยให้ปรับปรุงประสบการณ์ของผู้เล่นได้ง่ายขึ้นโดยไม่ต้องมุ่งเน้นที่อุปกรณ์เฉพาะที่ผู้เล่นอาจมีมากเกินไป
- ระบุแอตทริบิวต์
keyboardHiddenในรายการการเปลี่ยนแปลงการกำหนดค่าที่จัดการด้วยตนเอง วิธีนี้จะช่วยให้เกมติดตามได้ว่าเมื่อใดที่แป้นพิมพ์ ต่ออยู่กับอุปกรณ์แต่ใช้ไม่ได้ กำหนดวิธีการป้อนข้อมูลที่พร้อมใช้งานในปัจจุบัน โดยเรียกใช้
getInputDeviceIds()เมื่อเริ่มเกมและหลังจากเปลี่ยนการกำหนดค่าแต่ละครั้งคุณมักจะกำหนดวิธีที่ผู้เล่นวางแผนที่จะโต้ตอบกับเกมได้ โดยอิงตามอุปกรณ์อินพุตที่ต้องการ ดังนี้
- โดยปกติแล้ว ผู้เล่นจะใช้แป้นพิมพ์หรือเกมคอนโทรลเลอร์เพื่อกดปุ่มตามลำดับอย่างรวดเร็ว
- โดยปกติแล้วผู้เล่นจะใช้หน้าจอสัมผัสหรือทัชแพดเพื่อทำท่าทางที่ซับซ้อนมากขึ้น
- โดยปกติแล้วผู้เล่นจะใช้เมาส์เพื่อป้อนข้อมูลที่มีความแม่นยำสูงขึ้น
ส่วนต่อไปนี้จะแสดงแนวทางปฏิบัติแนะนำสำหรับอุปกรณ์ป้อนข้อมูลบางประเภท
แป้นพิมพ์
เมื่อสร้างเลย์เอาต์แป้นพิมพ์สำหรับเกม ให้พิจารณาว่าผู้เล่นจะไปยังส่วนต่างๆ ในฉากที่กำหนด รวมถึงวิธีโต้ตอบกับการตั้งค่าของเกมอย่างไร
โดยปกติแล้ว แป้น WASD หรือแป้นลูกศรจะเหมาะที่สุดสำหรับการควบคุมการเคลื่อนที่ของตัวละคร นอกจากนี้ คุณควรกำหนดคีย์เฉพาะสำหรับการกระทำหรือทักษะที่สำคัญแต่ละอย่าง ซึ่งตัวละครที่ควบคุมได้สามารถทำได้ภายในเกม ลองเพิ่มการรองรับการเชื่อมโยงคีย์ที่กำหนดเองในเกมเพื่อเพิ่มประสบการณ์การใช้งานของผู้เล่นให้ได้สูงสุด
นอกจากนี้ ผู้เล่นควรเปิดเมนูของเกมและไปยังส่วนต่างๆ ได้
โดยใช้แป้นพิมพ์ Esc เป็นการแมปทั่วไปสำหรับการหยุดฉากชั่วคราวและ
แสดงเมนูของเกม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับอินพุตจากแป้นพิมพ์ในเกมได้ที่คำแนะนำ เกี่ยวกับวิธีรองรับการไปยังส่วนต่างๆ ด้วยแป้นพิมพ์ รวมถึงคำแนะนำเกี่ยวกับวิธีจัดการการดำเนินการด้วยแป้นพิมพ์
เกมคอนโทรลเลอร์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการอินพุตของคอนโทรลเลอร์ในเกมได้ที่ดูคำแนะนำ เกี่ยวกับวิธีรองรับเกมคอนโทรลเลอร์
เมาส์หรือทัชแพด
หากเกมรองรับการป้อนข้อมูลของผู้เล่นจากเมาส์หรือทัชแพด โปรดทราบว่า ผู้เล่นจะโต้ตอบกับอุปกรณ์ในลักษณะอื่นๆ นอกเหนือจากการเล่นเกมของคุณ โปรดทราบว่าการขอการจับพอยน์เตอร์จะส่งผลให้ระบบนำอินพุตของเมาส์ทั้งหมดไปยังเกมของคุณ ดังนั้นหลังจากที่เกมมีข้อมูลที่ต้องการแล้ว ให้ปล่อยการจับเคอร์เซอร์เพื่อให้ผู้เล่นกลับมาควบคุมเมาส์ของอุปกรณ์ได้ตามปกติ
ในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป คุณสามารถใช้ Mouse
Capture API เพื่อช่วยในกระบวนการจับเคอร์เซอร์ได้ ในเกมที่ตอบสนองต่อ
อินพุตที่มีความแม่นยำสูง คุณจะรับพิกัดปัจจุบันของเคอร์เซอร์ได้โดยเรียกใช้เมธอด getX() และ getY()
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มการรองรับอินพุตจากเมาส์และทัชแพดในเกมได้ที่คู่มือเกี่ยวกับวิธีติดตามการสัมผัสและการเคลื่อนไหวของเคอร์เซอร์ รวมถึงคู่มือเกี่ยวกับวิธีจัดการ ท่าทางสัมผัสแบบมัลติทัช
ทดสอบเกม
ก่อนเปิดตัวเกม ให้ทดสอบว่าเกมตอบสนองต่อการเปลี่ยนแปลงการกำหนดค่าอย่างไรโดย ทำตามขั้นตอนที่อธิบายไว้ในส่วนต่อไปนี้
อัปเดตแผนการทดสอบ
เมื่อตรวจสอบฟังก์ชันการทำงานของเกม ให้รวมกรณีทดสอบต่อไปนี้
- ย่อและขยายหน้าต่างที่มีเกม (ไม่เกี่ยวข้องหากเกมของคุณอยู่ในโหมดเต็มหน้าจอเสมอ)
- เปลี่ยนขนาดหน้าจอ
- เปลี่ยนการวางแนวหน้าจอ (ไม่เกี่ยวข้องหากเกมของคุณมี การวางแนวคงที่)
- เชื่อมต่อและยกเลิกการเชื่อมต่ออุปกรณ์อินพุต เช่น แป้นพิมพ์และเมาส์
- ดำเนินการโหมดหลายหน้าต่าง หากเกมรองรับ
นอกจากนี้ โปรดพิจารณาอัปเดตระบบควบคุมคุณภาพของเกมเพื่อให้คุณ เพิ่มประสิทธิภาพสำหรับประสบการณ์การเล่นเกมที่หลากหลายมากขึ้นได้
ดูแนวทางปฏิบัติแนะนำเกี่ยวกับการทดสอบเกมได้ที่คู่มือหลักพื้นฐานของ การทดสอบ
ใช้เครื่องมือทดสอบและแก้ไขข้อบกพร่อง
คุณทดสอบได้โดยใช้เครื่องมือต่างๆ ที่แพลตฟอร์มรองรับ ดังนี้
โปรแกรมจำลอง รวมถึงโปรแกรมจำลอง Android และ Firebase Test Lab
เครื่องมือวิเคราะห์ประสิทธิภาพของ ChromeOS พร้อมใช้งานเมื่อใช้ ChromeOS M75 ขึ้นไป