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

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

แม้ว่าคำแนะนำในที่นี้จะมีประโยชน์ต่อลูกค้า Steam Deck มากกว่ากลุ่มอื่น ๆ แต่ก็เป็นประโยชน์ต่อนักเล่นเกม PC โดยทั่วไปด้วย ซึ่งบางคนอาจเล่นด้วยคอนโทรลเลอร์เท่านั้น แต่บางคนก็ชอบที่จะเล่นในห้องนั่งเล่นเท่านั้น ฯลฯ
Steamworks SDK: เราได้เพิ่ม API จำนวนหนึ่งที่แนะนำไว้ให้ในหน้านี้เข้าไปใน Steamworks SDK เวอร์ชัน 1.52 ซึ่งออกเผยแพร่ในวันที่ 14 กันยายน 2021

อินพุต

  • การกำหนดค่าคอนโทรลเลอร์ที่เป็นค่าเริ่มต้น: เราขอแนะนำ (และกำหนดไว้ในเกณฑ์ของ ตราแสดงว่าเล่นได้ดีบน Steam Deck) ว่าการกำหนดค่าคอนโทรลเลอร์ที่เป็นค่าเริ่มต้นสำหรับเกมของคุณควรเปิดให้เข้าถึงฟังก์ชันการทำงานทั้งหมดในเกมได้ หากเกมของคุณไม่รองรับคอนโทรลเลอร์แบบเนทีฟ เราขอแนะนำให้จัดทำการกำหนดค่าคอนโทรลเลอร์เพื่อแมปเข้ากับอินพุตจากเมาส์และคีย์บอร์ดที่เหมาะสม แต่ที่ดียิ่งกว่านั้นคือ การปรับใช้เกมแพดหรือการรองรับอุปกรณ์ควบคุมบน Steam แบบเนทีฟอาจเปิดโอกาสให้ลูกค้ากลุ่มใหม่ได้สัมผัสกับเกมของคุณ
  • การป้อนข้อความ: เราขอแนะนำ (และกำหนดไว้ในเกณฑ์ของ ตราแสดงว่าเล่นได้ดีบน Steam Deck) ว่าเกมควรแสดงคีย์บอร์ดบนหน้าจอโดยอัตโนมัติเมื่อขอให้ผู้ใช้ป้อนข้อความ เราขอแนะนำให้ใช้ API สำหรับคีย์บอร์ดบนหน้าจอ Steamworks SDK หนึ่งในสองชนิด ทั้งนี้ขึ้นอยู่กับกรณีที่ตรงกับคุณ: ShowFloatingGamepadTextInput (ส่งอินพุตจากคีย์โดยตรง) และ ShowGamepadTextInput (อาศัยคอลแบ็ก)
  • เป็นมิตรกับไจโร/แทร็กแพด: เราแนะนำให้เกมที่รองรับการเคลื่อนไหวของกล้องทั้งในรูปแบบเมาส์ (การเคลื่อนไหวแบบ 1:1) และจอยสติกนั้นรองรับการทำงานทั้งสองรูปแบบในเวลาเดียวกัน เราขอแนะนำให้อนุญาตเหตุการณ์การใช้เมาส์เพื่อควบคุมการทำงานของกล้องตามปกติโดยไม่รบกวนการทำงานของคอนโทรลเลอร์ในเวลาเดียวกัน และสลับไปยังโหมดเมาส์/คีย์บอร์ดเฉพาะเมื่อได้รับเหตุการณ์การคลิกเมาส์เท่านั้น ปัญหาที่พบบ่อยรวมถึง การควบคุมด้วยจอยสติกถูกล็อคเมื่อใช้เมาส์ควบคุมกล้องและเมาส์ถูกล็อคเมื่อใช้จอยสติก ปุ่มคอนโทรลเลอร์ไม่ทำงานเมื่อใช้เมาส์ควบคุมกล้อง หน้าต่างแจ้งปุ่มบนหน้าจอเปลี่ยนไปมาระหว่างไอคอนคอนโทรลเลอร์กับไอคอนคีย์บอร์ด/เมาส์ ทั้งหมดนี้ทำให้ลูกค้าใช้รูปแบบการควบคุมที่ตนชอบได้ยากขึ้น (หมายเหตุ: ฟังก์ชันนี้จะทำงานโดยอัตโนมัติเมื่อใช้ API ของอุปกรณ์ควบคุมบน Steam)

กราฟิก

  • Vulkan API: เราขอแนะนำให้กำหนด Vulkan เป็น API กราฟิกหลักของคุณเพื่อให้มีประสิทธิภาพและอายุการใช้งานแบตเตอรี่สูงสุด หากคุณใช้เอนจิน อย่างเช่น Unity หรือ Unreal การเปิดใช้งาน Vulkan ในบิลด์ของคุณสำหรับผู้ใช้ทุกคนจะส่งผลให้มีประสิทธิภาพ/อายุการใช้งานสูงสุด (หมายเหตุ: Proton จะรวมเลเยอร์การแปลจาก DirectX เป็น Vulkan ไว้ด้วย หากเกมหรือเอนจินของคุณมีการรองรับ DirectX คุณภาพสูง แต่ไม่รองรับ Vulkan ก็มีแนวโน้มว่า เลเยอร์การแปลโดยอัตโนมัตินี้จะมีประสิทธิภาพเหนือกว่าการปรับใช้ Vulkan แบบกำหนดเอง)
  • Video/Audio Codecs: We recommend using standalone codecs (eg., VP9 or AV1) rather than codecs that are tied to a specific vendor (eg., WMF).

คุณสมบัติของเกม

  • บันทึกในคลาวด์: สำหรับเกมที่อนุญาตให้มีการบันทึก เราแนะนำให้เปิดการใช้งานการบันทึกเกมโดยอัตโนมัติในคลาวด์: ผู้ใช้ควรที่จะสามารถบันทึกเกมของตนบน Steam Deck และสามารถเล่นต่อบน PC เครื่องอื่นได้ หรือในทางกลับกัน โดยไม่ต้องถ่ายโอนไฟล์ด้วยตนเอง ซึ่งหมายความว่า เกมนั้นควรมีวิธีให้บันทึกในคลาวด์ ไม่ว่าจะผ่านคลาวด์บน Steam หรือบริการอัตโนมัติจากภายนอก เช่น บัญชีเฉพาะของเกมหรือบัญชีเฉพาะของผู้จัดจำหน่ายที่มีการบันทึกไฟล์ฝั่งเซิร์ฟเวอร์ เราแนะนำให้ใช้ คลาวด์บน Steam สำหรับการถ่ายโอนอัตโนมัติ เราไม่แนะนำให้ทำการซิงค์การตั้งค่าของการกำหนดค่าเกม เช่น ความละเอียดหน้าจอระหว่างอุปกรณ์ต่าง ๆ
  • โหมดออฟไลน์: เราแนะนำให้เนื้อหาแบบผู้เล่นคนเดียวทั้งหมดสามารถเข้าถึงได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต คุณสามารถทดสอบเกมของตนเองได้โดยไม่ต้องมีการเชื่อมต่อออนไลน์ใด ๆ รวมถึงการใช้งานบัญชีใหม่บน Steam เป็นครั้งแรกด้วย คุณสมบัตินี้มีประโยชน์เป็นพิเศษต่อลูกค้า Steam Deck ที่อาจเข้าถึงเครือข่ายได้ไม่สม่ำเสมอ เมื่อเทียบกับ PC เกมทั่วไป
  • โปรแกรมเริ่ม: เราแนะนำให้ใส่ฟังก์ชันการทำงานที่จำเป็นทั้งหมดในไคลเอนต์เกมของคุณ แทนที่จะกำหนดให้ผู้ใช้ต้องใช้โปรแกรมเริ่มก่อนที่จะเรียกใช้เกมของคุณ โปรแกรมเริ่มมักจะต้องพึ่งพาเฟรมเวิร์กเฉพาะแพลตฟอร์ม (เช่น NET, WPF ฯลฯ) ซึ่งอาจทำให้ลูกค้าที่ใช้งานคอนโทรลเลอร์บนหน้าจอขนาดเล็กใช้งานได้ลำบาก เมื่อต้องใช้โปรแกรมเริ่ม UI แบบเนทีฟ คุณอาจใช้ API SetGameLauncherMode ในการแปลอินพุตของคอนโทรลเลอร์ไปเป็นเหตุการณ์ของคีย์บอร์ด/เมาส์โดยอัตโนมัติ เพื่อช่วยเหลือผู้ใช้