เอกสาร Steamworks
เนื้อหาดาวน์โหลด (DLC)

ภาพรวม

Steam supports both free and paid downloadable content (DLC) that can be registered via CD key or purchased from the Steam store. In the Steam client, a game with downloadable content appears as a single application in the user's game list with the downloadable content viewable through the game's properties dialog.

เมื่อเป็นเจ้าของแล้ว เนื้อหาดาวน์โหลดจะถูกปฏิบัติเป็นส่วนสำคัญของเกม Steam จะดำเนินการอัปเดตเนื้อหาดังกล่าวโดยอัตโนมัติเมื่อแพตช์พร้อมใช้งาน และจะติดตั้งเนื้อหาดังกล่าวเมื่อผู้ใช้งานติดตั้งเกม

Some examples of additional content that could be delivered as DLC include both in-game content include
  • Expansions
  • New maps or levels
  • Additional characters
DLC could be used for supplemental content that does not show up in-game such as
  • Artbooks or wallpapers
เพลงประกอบเกมบน Steam are handled with a special type of App ID that's different from DLC. Other types of in-game content such as cosmetics, consumable items or currencies may better be served by microtransactions.

แนวทางปฏิบัติที่ดีที่สุด

DLC can be a great way to offer value to the customers that are interested in investing deeper in the product, it can also have non-monetary costs of customer perception that are harder to measure. It might not be a good idea to launch with a DLC on day 1 as customers may perceive that the full game was ready to release but you chose to take away content from the game to make more money through a paid DLC.

วิดีโอฝึกสอน

This Steamworks Tutorial details the process of creating and configuring DLC for your product on Steam.
https://www.youtube.com/watch?v=Su4uuUjnm9M

การกำหนดค่า

In Steam, each piece of downloadable content is identified by its own app ID. Unlike the base game, the DLC uses the app ID as the depot ID.

Creating a new DLC app ID is done by viewing the base game's "All Associated Packages, DLC, Demos And Tools" and clicking on the "Add New DLC" button.

When downloaded, the Steam client will store all downloadable content under your game's Steam directory. Your game can choose to distribute each piece of content in one of two ways:
  • The content can be included with your game files that are distributed to all game owners. Your game can then use ISteamApps::BIsDlcInstalled to determine if the user owns the content. This method is useful when all players can view the content, but a player needs to own the content to use it (such as RTS units, multiplayer skins, etc.).
  • The content can be stored in a new depot that will only be downloaded by users who own the content.

See the ดีโป documentation for more information.

การสั่งซื้อในเกม

Steamworks games can support in-game downloadable content, which allows a user to browse, purchase, and download new content without leaving the game. Steam can display any available content to the user and conduct the entire purchase path through a web browser session that can be opened in the Steam overlay sitting on top of the game. When a user purchases downloadable content, the Steam client will automatically download the content, display an in-game Steam notification to the user when the download is complete, and notify your game that the download has completed and the user owns new content.

Steamworks games can use ISteamFriends::ActivateGameOverlayToStore to display downloadable content in the Steam overlay. ISteamFriends::ActivateGameOverlayToStore can display all downloadable content for your game (pass in your game's app ID), or information about a specific piece of downloadable content (pass in the app ID of the downloadable content). Before directing a user to the store, Steamworks games should call ISteamUtils::IsOverlayEnabled to determine if the user has disabled the Steam overlay through the Steam client settings.

Note: To prevent version incompatibilities with the executing version of a game and downloadable content, Steam will only download new content if the user is running the newest version of the game.

การกำหนดค่าดีโปต์เนื้อหาดาวน์โหลดเพิ่มเติม

After following the depot documentation you should have one DLC Depot added to your Base App. If you need to add additional DLC depots to support alternate languages, OS's, or architectures, follow the steps below:
  1. เปิด ผู้ดูแลระบบแอป ของ Steamworks สำหรับแอปหลัก (ดีโปต์ทั้งหมดจะถูกจัดการในแอปหลัก ไม่ใช่ในเนื้อหาดาวน์โหลด)
  2. ไปยังการตั้งค่า Steamworks, SteamPipe, ดีโปต์
  3. คลิกปุ่มเพิ่มดีโปต์ใหม่ ตั้งชื่อ และคลิกตกลง ตั้งชื่อให้เหมือนกับดีโปต์เนื้อหาดาวน์โหลด ที่มีอยู่แล้วเพื่อให้คุณสามารถระบุได้ง่าย
  4. ตั้งค่าภาษา ระบบปฏิบัติการ และสถาปัตยกรรมที่ถูกต้อง
  5. เลือกเนื้อหาดาวน์โหลด ที่ถูกต้องจากกล่องดรอปดาวน์เพื่อเชื่อมโยงดีโปต์นี้กับเนื้อหาดาวน์โหลด
  6. คลิกที่บันทึกการเปลี่ยนแปลง โปรดทราบว่า ไคลเอนต์ Steam จะไม่รู้เกี่ยวกับดีโปต์ใหม่จนกว่าคุณจะเผยแพร่การเปลี่ยนแปลงของคุณ
  7. เพิ่มดีโปต์ไปยังแพ็กเกจใดก็ตามที่จำเป็นจะต้องบรรจุดีโปต์ของคุณ (เช่น แพ็กเกจของแถมสำหรับผู้พัฒนา เป็นต้น)
  8. บนเครื่องบิลด์ของคุณ ให้เพิ่มสคริปต์บิลด์ดีโปต์ใหม่สำหรับดีโปต์เนื้อหาดาวน์โหลดใหม่
  9. เพิ่มสคริปต์บิลด์ดีโปต์ใหม่ไปยังสคริปต์บิลด์แอปเกมหลักของคุณ
  10. ดำเนินการขั้นตอนที่เหลือให้เสร็จสมบูรณ์เพื่ออัปโหลดไฟล์ดีโปต์ใหม่ เปิดใช้งานบิลด์ ฯลฯ

Note: All DLC depots reside within the Base App Depot list. There is no way to have Depots reside within your DLC App directly.

การดาวน์โหลดและการติดตั้งเนื้อหาดาวน์โหลดด้วยวิธีการเขียนโปรแกรม

DLC is typically downloaded and installed as soon as it is purchased by a Steam user. However DLC can be marked to not download automatically so that the game has control of when the DLC download occurs. This can be useful for supporting streaming installs or downloads based on game logic.

You can configure DLC to be downloaded and installed on-demand by following the steps below.
  1. สร้างเนื้อหาดาวน์โหลดจำนวนไม่เกิน 10 ตัวที่สามารถนำไปใช้งานเป็นชุดดาวน์โหลดได้
    • From the app package landing page, click "All Associated Packages, DLC, Demos And Tools", and use the "Add New DLC" button to add the DLCs.
  2. กำหนดค่าเนื้อหาดาวน์โหลดแต่ละตัวเพื่อให้ไคลเอนต์ Steam ไม่ดาวน์โหลดเนื้อหาดาวน์โหลดดังกล่าวโดยอัตโนมัติ
    • สำหรับแต่ละเนื้อหาดาวน์โหลดให้ไปที่การตั้งค่า Steamworks-> ทั่วไป
    • ตรวจสอบว่าได้ทำเครื่องหมายที่ “ปิดการใช้งานไม่ให้ Steam ดาวน์โหลดเนื้อหาดาวน์โหลดนี้โดยอัตโนมัติ” แล้ว

  3. เพิ่มเนื้อหาดาวน์โหลดไปยังแพ็กเกจที่เกี่ยวข้อง (ร้านค้า Steam, ขายปลีก, ทดสอบเบต้า, ของแถมสำหรับผู้พัฒนา ฯลฯ) เพื่อให้สามารถเข้าใช้งานได้เวลาที่ทำการสั่งซื้อแอปหลัก
    • From the app landing page, click "All Associated Packages, DLC, Demos And Tools.".
    • คลิกที่แพ็กเกจที่คุณต้องการจะเพิ่มเนื้อหาดาวน์โหลดเข้าไป
    • คลิก " + เพิ่มแอปพลิเคชัน" ค้นหาเนื้อหาดาวน์โหลดที่เกี่ยวข้อง ตรวจสอบว่าได้ทำเครื่องหมายแล้ว แล้วคลิกดำเนินการต่อ จากนั้นคลิกบันทึก
  4. เพิ่มไฟล์ที่ถูกต้องให้กับแต่ละเนื้อหาดาวน์โหลดไปยังดีโปต์ของเนื้อหาดาวน์โหลดที่เชื่อมโยงตามกระบวนการบิลด์ Steampipe ของคุณ
    • กรุณาอ่านเอกสาร ดีโป สำหรับข้อมูลเพิ่มเติม
  5. ดำเนินการ API ดังต่อไปนี้เพื่อทริกเกอร์เนื้อหาดาวน์โหลดให้ดาวน์โหลดและติดตั้งที่จุดที่เหมาะสมในโค้ด
    • ISteamApps::BIsDlcInstalled เพื่อตรวจสอบว่าแต่ละเนื้อหาดาวน์โหลดถูกติดตั้งหรือไม่
    • ISteamApps::InstallDLC เพื่อทริกเกอร์การดาวน์โหลดและจัดการการเรียกกลับ ISteamApps::DlcInstalled_t
    • ดาวน์โหลดที่ถูกทริกเกอร์ด้วยวิธีการนี้จะถูกปรับขึ้นไปเป็นคิวดาวน์โหลดคิวแรกและจะเริ่มดำเนินการโดยทันที
    • ISteamApps::GetDlcDownloadProgress สามารถใช้ในการติดตามความคืบหน้าเนื้อหาดาวน์โหลดที่เลือกติดตั้งได้

Additional Notes:
  • If you check the box “Disable Steam automatically downloading this DLC,” a player who owns the DLC can manually choose to install it from their library, even if your game does not make use of the ISteamApps:InstallDLC API.
  • It is possible for a user to initiate the download of the DLC from the Steam Client UI via the Properties ->DLC tab.
  • You can also use ISteamApps::UninstallDLC to remove the DLC content if needed.

การทดสอบ

Before you begin testing downloadable content, check that you own the DLC by selecting your game in the Steam client's games list, then selecting 'Properties', and finally selecting the 'DLC' tab. If the DLC does not appear there, you do not own it.

You can simulate gaining ownership of downloadable content through the Steam client. When your new content is added to Steam, you will be given you a package that grants your publisher group access to the content. Usually this package will have a name which contains "Developer Comp".

You can temporarily disable owning the "Developer Comp" package, and then enable it again to simulate a purchase of your DLC. To do this, follow these steps:
  • Launch steam.exe with the command -console (or run steam://nav/console)
  • Navigate to the Console tab in the client
  • Enter the command licenses_for_app <appID>. This will tell you the packageID for how you own the DLC appID
  • Enter the command disable_license <packageID>, using the packageID from above

At this point, your account should no longer own your DLC automatically. You can test running your game and verify that any ownership APIs return false for the DLC. Going back to the Steam console, you can use enable_license <packageID> to re-enable owning the DLC. Restarting Steam will also grant you automatic ownership again.

การเตรียมการรับมือการฉ้อโกง

You run a risk of fraud any time you offer something of value that can be purchased.

DLC fraud involves a user purchasing high-value DLC with a stolen payment method (such as a credit card). The fraudsters’ goal is to move the any available contents of the DLC to another account, either owned by the fraudster or a player who is paying for those goods outside of the system. Alternatively, fraudsters may attempt to sell the entire account, again while being paid outside of the system.

As such, we do not recommend including in-game currency or tradable items in DLC. Those sales are better served by Microtransactions and the suggestions outlined in that document.

Steam catches most fraudulent transactions within 48 hours of the initial purchase. A DLC ownership check at launch or after 48 hours will reconcile changes to transactions according to their updated status.