Pixonic เพิ่มการมีส่วนร่วมขึ้น 25% ใน ChromeOS ด้วยการเพิ่มประสิทธิภาพสำหรับหน้าจอขนาดใหญ่

ฉากหลัง

Pixonic ทีมนักพัฒนาวิดีโอเกมที่มีสำนักงานใหญ่ในมอสโกภาคภูมิใจกับ คว้าทุกโอกาสในการอัปเกรดแอปบนอุปกรณ์เคลื่อนที่ และเข้าถึงช่องทางต่างๆ ให้กว้างขึ้น เกมเมอร์ที่หลากหลาย หนึ่งในภาพยนตร์ที่เป็นที่รู้จักมากที่สุดของบริษัทคือ หุ่นยนต์สงคราม ประสบการณ์แบบผู้เล่นปะทะผู้เล่น (PvP) 12 คน ซึ่งผู้เล่นจะได้ต่อสู้และต่อสู้กัน หุ่นยนต์ที่ปรับแต่งในสนามรบแบบสด

War Robots เปิดตัวในปี 2014 ซึ่งเดิมทีออกแบบมาเพื่อ อุปกรณ์รุ่นแรกที่มีการเคลื่อนไหวแบบทัชแพดและไม่มีการป้อนข้อมูลด้วยเมาส์ ทำให้ทีม Pixonic เป็นเกมเมอร์ตัวยงและรู้ว่าแอปต้องมี การปรับเปลี่ยนเพื่อมอบประสบการณ์ของผู้ใช้ที่ยอดเยี่ยมในอุปกรณ์ที่หลากหลาย เช่น แล็ปท็อปและแท็บเล็ต War Robots เล่นได้แล้วบนอุปกรณ์ Android ทุกเครื่อง เนื่องจาก Chromebook ใช้เฟรมเวิร์ก Android เวอร์ชันเต็ม ภายในคอนเทนเนอร์ การปรับเปลี่ยนโค้ดอีกเล็กน้อยทำให้ Pixonic สามารถ ข้อดีของ ChromeOS" ความสามารถทั้งหมด

มาดูวิธีที่ทีม Pixonic เพิ่มประสิทธิภาพ War Robots เพื่อประสบการณ์การเล่นเกมที่ดีที่สุด หน้าจอขนาดใหญ่กว่า

��ิ่งที่พวกเขาทำ

Pixonic เริ่มการเพิ่มประสิทธิภาพโดยเพิ่มแท็กข้อมูลเมตาลงใน AndroidManifest.xml ที่บอกระบบว่า���ร้อมสำหรับการรองรับ ChromeOS อย่างเต็มรูปแบบ และต้องปิดใช้การจำลองการแตะ

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

Pixonic ยังตั้งค่า minSdk ของแอปเป็น 24 เพื่อให้เครื่องมือเกมของ Unity สามารถ ได้รับคลิกเมาส์โดยตรงและเหตุการณ์ API ที่เกี่ยวข้องกับการเคลื่อนไหวทั้งหมด (ไม่ใช่แค่ เหตุการณ์ของทัชแพด)

รองรับแป้นพิมพ์และเมาส์

ในเกม PvP ของบุคคลที่สามอย่าง War Robots การเคลื่อนที่และการเล็งนั้นง่ายขึ้นมาก โดยใช้แป้นพิมพ์และเมาส์ โดยเฉพาะบนอุปกรณ์ที่มีหน้าจอขนาดใหญ่ ต่อไป คือเขียนโค้ดใหม่สำหรับการรองรับแป้นพิมพ์และเมาส์สำหรับ โหมดต่อสู้ขณะที่เก็บการควบคุมหน้าจอสัมผัสไว้ได้

ทีมของ Pixonic เขียนโค้ดใหม่เพื่อมอบการควบคุมที่เหมาะสมในเวลาที่เหมาะสม เพื่อตรวจสอบโหมดเกมเพลย์ปัจจุบันของผู้ใช้ ดังนี้

@Override
public void onConfigurationChanged(Configuration newConfig) {
    boolean hasQwertyKeyboard = newConfig.keyboard == Configuration.KEYBOARD_QWERTY && newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO;
    try {
        UnityPlayer.UnitySendMessage("Receiver", "ConfigChange", new JSONObject().put("keyboard", hasQwertyKeyboard).toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

หากตรวจพบแป้นพิมพ์ QWERTY เกมจะปรับตัวเป็นโหมดเดสก์ท็อป จอยสติ๊กการเคลื่อนไหวที่มุมซ้ายล่างจะหายไป และทั้งหมดจะพร้อมใช้งาน การดำเนิ��การต่างๆ (เช่น การจัดเรียงอาวุธ ความสามารถ และเมนู) จะมีป้ายกำกับไว้ ด้วยแป้นพิมพ์ลัด

War Robots ในโหมดแล็ปท็อป

หากไม่พบแป้นพิมพ์ จอยสติ๊กการเคลื่อนไหวจะปรากฏที่ด้านล่างซ้าย และแป้นพิมพ์ลัดจะซ่อนอยู่ที่ปุ่มเมนูด้านล่างขวา

War Robots ในโหมดเกมเพลย์บนแท็บเล็ต/อุปกรณ์เคลื่อนที่

ถัดมา Pixonic ต้องการให้เคอร์เซอร์ซ่อนไว้เมื่อผู้เล่นใช้ เพื่อหมุนกล้อง กำหนดเป้าหมายเป็น Android 7.0 (API ระดับ 24) หรือ ที่สูงขึ้น ทีมสามารถกำหนดไอคอนตัวชี้แบบใดก็ได้ ในกรณีนี้ ทีมใช้ บิตแมปแบบโปร่งใสเพื่อทำให้มองไม่เห็นเคอร์เซอร์ในระหว่างการเล่นเกม

public boolean setPointerVisibility(boolean visible) {
    View = activity.findViewById(android.R.id.content);
    view.setPointerIcon(PointerIcon.getSystemIcon(activity, visible ? PointerIcon.TYPE_DEFAULT : PointerIcon.TYPE_NULL));
}

ซึ่งทำให้มั่นใจได้ว่าเคอร์เซอร์จะถูกปิดใช้งานและไม่ปรากฏเมื่อหน้าต่างอื่นๆ ทั้งหมด ปิดแล้วและการต่อสู้กำลังดำเนินอยู่ หากหน้าต่างป๊อปอัปใดปรากฏขึ้น เช่น เมนูหยุดชั่วคราว Pixonic แสดงไอคอนเริ่มต้นของเคอร์เซอร์ให้เห็น

ปรับวิดีโอแนะนำการเล่นเกมและกลไกต่างๆ

เพื่อประสบการณ์ของผู้ใช้ที่ดีขึ้น Pixonic ยังเขียนโค้ดใหม่เพื่อแสดง บทแนะนำการเล่นเกมตามโหมดอุปกรณ์ปัจจุบันของผู้ใช้ หากเปลี่ยนโปรแกรมเล่น ระหว่างเกมเพลย์บนแท็บเล็ตและแล็ปท็อประหว่างการต่อสู้ และพวกเขายังไม่เคยเห็น บทแนะนำสำหรับโหมดต่างๆ บทแนะนำจะแสดงก่อนที่เกมเพลย์จะกลับมาทำงานอีกครั้ง

บทแนะนำการเล่นเกมในโหมดแล็ปท็อปพร้อมการป้อนข้อมูลด้วยเมาส์และแป้นพิมพ์

บทแนะนำการเล่นเกมในโหมดแท็บเล็ตพร้อมการควบคุมด้วยหน้าจอสัมผัส

เมื่อผู้เล่นอยู่ในโหมดแล็ปท็อป Pixonic จะปิดใช้กล้องหน้าจอสัมผัสด้วย ควบคุม (เนื่องจากผู้เล่นจะควบคุมกล้องด้วยเมาส์) ในขณะที่ ปุ่มเกมเพลย์ทำงานได้ตามปกติ หากต้องการแยกความแตกต่างระหว่างการแตะออกจากการเคลื่อนที่ของเมาส์ ทีมดังกล่าวใช้พร็อพเพอร์ตี้ Input.touchCount (ในสคริปต์ Unity) ดังนี้

if(Input.touchCount > 0) {
    // this is screen touch event
} else {
    // this is mouse (touchpad) event
}

การรองรับฟีเจอร์หลายหน้าต่าง

ในขั้นตอนสุดท้าย Pixonic ต้องการตรวจสอบว่าเกมไม่ได้ล็อ��ตัวเอง โหมดเต็มหน้าจอเมื่อเปิดใช้งาน การเปิดใช้เกมเพลย์ในโหมดหน้าต่างใน ChromeOS ช่วยให้ ผู้ใช้สามารถดูสตรีมเมอร์คนโปรดได้พร้อมกันขณะเล่น, อัปเกรด ขณะอ่านเกี่ยวกับความสามารถใหม่ๆ ใน เว็บไซต์ของเกม หรือดูการต่อสู้ใน โหมดพาสซีฟขณะดูวิดีโอแยกต่างหาก

โดย Pixonic จะทำเครื่องหมาย UnityPlayerActivity ว่าปรับขนาดได้

<activity android:name="com.unity3d.player.UnityPlayerActivity" ....
    android:resizeableActivity="true">

โปรดทราบว่าอินเทอร์เฟซเกมจะดูเล่นได้ใน ทีมจะกำหนดขนาดหน้าต่างขั้นต่ำที่รองรับ ดังนี้

<activity  >
    <layout android:gravity="center" android:minHeight="800dp" android:minWidth="1200dp" />
</activity>

Pixonic จะใช้เมตาแท็กในการตั้งค่าโหมดเต็มหน้าจอเพื่อเกมเพลย์ที่สมจริงที่สุด เป็นค่าเริ่มต้นและแนวนอน ตามต้องการ

<application>
    <meta-data android:name="WindowManagerPreference:FreeformWindowSize" android:value="maximize" />
    <meta-data android:name="WindowManagerPreference:FreeformWindowOrientation" android:value="landscape" />
    ….
</application>

War Robots เปิดตัวในโหมดหน้าต่าง

การเพิ่มประสิทธิภาพเหล่านี้ยังช่วยให้เกมไม่หยุดชั่วคราว HUD ปรับขนาดให้สอดคล้องกันเมื่อผู้เล่นขยายและย่อหน้าต่างเกมเพลย์

ผลลัพธ์

ด้วยคลังแหล่งข้อมูลออนไลน์ที่ครอบคลุม ทำให้ทีมพัฒนาที่มีสมาชิก 5 คนของ Pixonic ใช้เวลาแค่ 2 สัปดาห์

ผู้เล่นมากกว่า 100,000 คนเคยเล่น War Robots บน ChromeOS แล้วตั้งแต่นั้นเป็นต้นมา Pixonic ได้เปิดตัวการเพิ่มประสิทธิภาพล่าสุด เพรา��ตอนนี้เกมเพลย์ ใช้ประโยชน์จากพื้นที่ที่เพิ่มขึ้นบนหน้าจอขนาดใหญ่ขึ้น การต่อสู้ของ War Robots จึงมี สมจริงและน่าสนใจกว่าเดิม ในความเป็นจริง เซสชันผู้ใช้ยาวขึ้น 25% บน Chromebook เทียบกับอุปกรณ์ Android อื่นๆ ความคิดเห็นเบื้องต้นได้รับการ ยอดเยี่ยมอย่างไม่น่าเชื่อ และผู้เล่นบางคนก็ถึงกับระบุว่า เกมที่เพิ่มประสิทธิภาพด้วย Chromebook ทำงานได้ลื่นไหลกว่า BlueStacks โปรแกรมจำลอง

จากความสำเร็จของพวกเขา นักพัฒนาซอฟต์แวร์ของ Pixonic วางแผนที่จะอัปเดต War Robots กราฟิก บนอุปกรณ์ Android ทุกเครื่องเพื่อทำให้เกมเพลย์ใกล้ชิดกับระดับ PC มากขึ้น ประสบการณ์การใช้งาน

ดูแนวทางปฏิบัติแนะนำในการเพิ่มประสิทธิภาพแอปสำหรับ ChromeOS