ภาพรวม
นอกเหนือจากการใช้เวิร์กชอป Steam สำหรับโฮสต์การกำหนดค่าแล้ว เกมยังสามารถเลือกชุดรวมการกำหนดค่าเข้ากับดีโปเกมได้โดยตรงอีกด้วย ชุดรวมการกำหนดค่ามีประโยชน์หลายอย่างในดีโปเกมของคุณ:
- การกำหนดค่าอย่างเป็นทางการสามารถตรวจสอบได้ใน Perforce หรือในเครื่องมือควบคุมการปรับปรุงอื่น ๆ
- การจัดการการกำหนดค่าระหว่างแบรนช์ของเกมคุณที่ต่างกัน หรือระหว่างไอดีแอปสาธารณะและไอดีแอปส่วนตัวที่ทำได้ง่ายขึ้น
- ใช้การอัปเดตแบบอะตอมแทนที่จะทำผ่านสองขั้นตอนการเผยแพร่ใน Steamworks
รูปแบบ
ไฟล์มานิเฟสต์คำสั่งเป็นส่วนขยายของ
In-Game Actions File ซึ่งรวมหมวดพิเศษที่มีรายการของการกำหนดค่าอย่างเป็นทางการแยกตามประเภทไว้:
"Action Manifest"
{
"configurations"
{
}
"actions"
{
}
"localization"
{
}
}
โปรดไปที่เอกสาร
In-Game Actions File เพื่อดูข้อมูลเกี่ยวกับหมวดคำสั่งและการแปลภาษา
รายการการกำหนดค่า
ในหมวดการกำหนดค่าคอนโทรลเลอร์ การกำหนดค่าจะถูกจัดรายการไว้ตามประเภทคอนโทรลเลอร์ และจะโหลดตามลำดับความสำคัญ ค่า "พาธ" จะแสดงรายการที่เกี่ยวข้องกับตำแหน่งของไฟล์มานิเฟสต์คำสั่งบนดิสก์
"Action Manifest"
{
"configurations"
{
"controller_xboxone"
{
"0"
{
"path" "xbox_controller.vdf"
}
}
"controller_steamcontroller_gordon"
{
"0"
{
"path" "steam_controller.vdf"
}
"1"
{
"path" "steam_controller_motion_controls.vdf"
}
}
}
"actions"
{
}
"localization"
{
}
}
ประเภทสตริงคอนโทรลเลอร์ที่รองรับ:
คอนโทรลเลอร์ Steam Deck | controller_neptune |
Steam Controller | controller_steamcontroller_gordon |
Xbox 360 | controller_xbox360 |
Xbox One | controller_xboxone |
คอนโทรลเลอร์ Xbox One Elite | controller_xboxelite |
คอนโทรลเลอร์ PlayStation 4 | controller_ps4 |
คอนโทรลเลอร์ PlayStation 5 | controller_ps5 |
คอนโทรลเลอร์ Nintendo Switch Pro | controller_switch_pro |
เกมแพดทั่วไป | controller_generic |
การตั้งค่าไฟล์มานิเฟสต์คำสั่ง
มีสองวิธีหลักในการตั้งค่าไฟล์มานิเฟสต์คำสั่ง ไม่ว่าจะเริ่มจากการสร้างใหม่หรือใช้ไฟล์ IGA ที่มีอยู่แล้ว
เริ่มต้นด้วยไฟล์คำสั่งในเกม
ขั้นตอนที่ 1 - การตั้งค่าโหมดผู้พัฒนาสำหรับ Steam Input
ก่อนที่จะแก้ไขไฟล์มานิเฟสต์คำสั่ง เราจำเป็นต้องเปิดใช้งานโหมดผู้พัฒนา Steam Input เพื่อให้เราสามารถส่งออกการกำหนดค่าในฐานะผู้พัฒนาและได้รับข้อความแสดงข้อผิดพลาดหากเราทำผิดพลาดเมื่อแก้ไขมานิเฟสต์คำสั่ง
1) ไปที่โหมด Big Picture บน Steam ->การตั้งค่า->ระบบ และเปิดโหมดผู้พัฒนาสำหรับ Steam
2) ไปที่หมวดผู้พัฒนาและเปิด "รูปแบบของ Steam Input โหมดผู้พัฒนา"
ขั้นตอนที่ 2 - บันทึกการกำหนดค่า
หากคุณมีไฟล์ IGA อยู่แล้ว คุณสามารถบันทึกการกำหนดค่าปัจจุบันไว้ได้ในหน้าจอการกำหนดค่าคอนโทรลเลอร์
1) เลือกไอคอนรูปเฟือง
2) เลือก "ส่งออกรูปแบบ"
3) เลือกชื่อและคำอธิบายให้เกมของคุณแล้วส่งออกการกำหนดค่า
อย่าลืม: คุณจะต้องตรวจสอบอีกครั้งว่า คุณได้จัดเตรียมโทเค็นการแปลภาษาในมานิเฟสต์คำสั่งไว้ให้แต่ละภาษาที่เกมของคุณรองรับแล้ว
ขั้นตอนที่ 3 - ค้นหาการกำหนดค่าของคุณ
ขั้นถัดไป คุณจะเรียกใช้ URL Steam ต่อไปนี้เพื่อดัมป์การกำหนดค่าไปยังโฟลเดอร์ "Documents" ที่เฉพาะเจาะจงกับระบบปฏิบัติการของคุณ ตัวอย่างเช่น โฟลเดอร์ "My Documents" บน Windows URL:
บรรทัดคำสั่ง Windows
start steam://dumpcontrollerconfig?appid=X
บรรทัดคำสั่ง Linux
xdg-open steam://dumpcontrollerconfig?appid=X
คัดลอกทั้งการกำหนดค่าและไฟล์ IGA ที่คุณมีอยู่แล้วไปยังตำแหน่งที่ต้องการภายในโฟลเดอร์เกม
ขั้นตอนที่ 4 - แปลงไฟล์ IGA เป็นไฟล์มานิเฟสต์คำสั่ง
หากต้องการแปลงไฟล์ IGA ของคุณเป็นมานิเฟสต์คำสั่ง ให้แก้ไขไฟล์และเพิ่มหมวด "การกำหนดค่า" ในรายการของการกำหนดค่าคอนโทรลเลอร์ที่คุณเพิ่งส่งออกไป นี่คือตัวอย่างจาก Steamworks SDK:
"configurations"
{
"controller_xboxone"
{
"0"
{
"path" "xbox_controller.vdf"
}
}
"controller_steamcontroller_gordon"
{
"0"
{
"path" "steam_controller.vdf"
}
}
}
ขั้นตอนที่ 5 - กำหนดการตั้งค่า Steamworks
ในการกำหนดการตั้งค่า Steamworks บนเว็บไซต์พันธมิตร ให้ไปที่การตั้งค่า Steam Input ขั้นถัดไป เลือกเมนูดรอปดาวน์เป็น "การกำหนดค่าแบบกำหนดเอง (ชุดรวมพร้อมเกม)" และกรอกพาธตำแหน่งที่ตั้งของมานิเฟสต์คำสั่ง:
การดีบักเกมที่ใช้ไฟล์มานิเฟสต์คำสั่ง
เมื่อเรียกใช้เกมผ่าน Steam ไฟล์มานิเฟสต์คำสั่งจะถูกดึงจากดีโปเกมของคุณโดยอัตโนมัติ หากคุณเรียกใช้ผ่าน IDE และมีเกมติดตั้งไว้แล้ว Steam จะใช้ไฟล์มานิเฟสต์คำสั่งจากดีโป Steam ของคุณเช่นกัน อย่างไรก็ตาม หากคุณเรียกใช้ไฟล์โดยไม่ติดตั้งเกมใน Steam หรือจำเป็นต้องเปลี่ยนแปลงภายในเครื่อง คุณก็สามารถกำหนดค่าทับพาธของมานิเฟสต์คำสั่งด้วยการเรียก SetInputActionManfiestPath API ได้ การกำหนดค่าทับนี้จะจดจำไว้ตลอดเวลาที่เหลืออยู่ในเซสชัน Steam ตัวอย่างการใช้งานใน Steamworks SDK ได้แก่:
char rgchCWD[1024];
if ( !_getcwd( rgchCWD, sizeof( rgchCWD ) ) )
{
strcpy( rgchCWD, "." );
}
char rgchFullPath[1024];
#if defined(_WIN32)
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s\\%s", rgchCWD, "steam_input_manifest.vdf" );
#elif defined(OSX)
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/steamworksexample.app/Contents/Resources/%s", rgchCWD, "steam_input_manifest.vdf" );
#else
_snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/%s", rgchCWD, "steam_input_manifest.vdf" );
#endif
SteamInput()->SetInputActionManifestFilePath( rgchFullPath );