Documentação do Steamworks
DLC (conteúdo transferível)

Vista geral

O Steam é compatível com conteúdos transferíveis (DLCs) gratuitos ou pagos, que podem ser ativados com um código de produto ou comprados diretamente na Loja Steam. Na aplicação Steam, um jogo com DLC aparece como uma única aplicação na lista de jogos do utilizador, sendo o DLC visível na janela de propriedades do jogo.

Uma vez adquirido, DLC é tratado como parte integral do jogo. O Steam atualiza automaticamente o DLC quando uma atualização estiver disponível e instala o DLC com o jogo.

Alguns exemplos de conteúdo adicional disponibilizado como DLC podem ser tanto conteúdo disponível dentro do jogo como também:
  • Expansões
  • Mapas ou níveis novos
  • Personagens adicionais
DLCs podem ser usados para conteúdo complementar que não aparece no jogo, como:
  • Artbooks ou fundos de ecrã
Bandas sonoras de jogos no Steam devem usar um tipo de AppID especial, diferente do de DLCs. Outros tipos de conteúdos do jogo, como acessórios (itens cosméticos), itens consumíveis ou moedas são mais apropriados para microtransações.

Boas práticas

DLCs são uma forma excelente de oferecer valor aos utilizadores interessados em investir mais no produto, para além de poderem ter custos não monetários e relacionados com a perceção da comunidade que são difíceis de calcular. Pode não ser uma boa ideia lançar um jogo com DLC logo no primeiro dia, pois os utilizadores ficarão com a ideia de que esse conteúdo foi retirado do jogo base para poder lucrar mais com a venda de um DLC pago.

Tutorial em vídeo

Este tutorial do Steamworks detalha o processo de criação e configuração de DLCs para o seu produto no Steam:
https://www.youtube.com/watch?v=Su4uuUjnm9M

Configuração

No Steam, cada DLC é identificado por um AppID único. Ao contrário do jogo base, o DLC usa o AppID como o ID do depot.

Pode criar um AppID novo para um DLC ao ver "Todos os pacotes, DLCs, demos e ferramentas associados" do jogo base e ao clicar no botão "Adicionar novo DLC".

Uma vez descarregado, a aplicação Steam irá guardar todos os ficheiros do DLC no diretório de instalação do jogo no Steam. O seu jogo pode escolher distribuir cada tipo de conteúdo de uma das seguintes formas:
  • O conteúdo pode estar incluído nos ficheiros distribuídos para todos os proprietários do jogo, o qual pode depois usar ISteamApps::BIsDlcInstalled para determinar se o utilizador tem o DLC. Este método é útil quando todos os jogadores podem ver o conteúdo, mas é necessário que o tenham para o poderem usar (como unidades de um jogo de estratégia em tempo real, skins de personagens em jogos multijogador, etc.).
  • O conteúdo pode ser armazenado num depot novo que só será descarregado por utilizadores que tiverem o DLC.

Consulte a documentação sobre Depots para mais informações.

Compras dentro do jogo

Jogos Steamworks permitem que os utilizadores encontrem, comprem e façam o download de conteúdo novo sem terem de sair do jogo. O Steam pode mostrar qualquer conteúdo disponível ao utilizador e processar a compra através de uma sessão num browser da web que pode ser aberta no Painel Steam, sobreposto no jogo. Quando um utilizador compra DLC, a aplicação Steam irá iniciar automaticamente o download do conteúdo, apresentar uma notificação quando o download for concluído e notificar o jogo de que o download foi concluído e de que o utilizador tem o conteúdo novo.

Jogos Steamworks podem usar a função ISteamFriends::ActivateGameOverlayToStore para que DLCs sejam mostrados no Painel Steam. ISteamFriends::ActivateGameOverlayToStore pode mostrar todos os DLCs disponíveis para o seu jogo (passe o AppID do seu jogo) ou informações sobre um DLC específico (passe o AppID do DLC). Antes de encaminhar um utilizador à loja, jogos Steamworks devem chamar a função ISteamUtils::IsOverlayEnabled para determinar se o utilizador desativou o Painel Steam nas definições da aplicação Steam.

Atenção: para impedir incompatibilidades entre a versão em execução do jogo e o DLC, o Steam só irá descarregar conteúdo novo se o utilizador estiver a usar a versão mais recente do jogo.

Configuração de mais depots para DLC

Depois de seguir as instruções na documentação sobre depots, deve adicionar um depot de DLC à sua aplicação base. Se precisar de adicionar mais depots de DLCs para outros idiomas, sistemas operativos ou arquiteturas, siga as instruções abaixo:
  1. Abra a página de administração da aplicação base no Steamworks (a gestão de todos os depots é feita pela aplicação base, não pelo DLC).
  2. Aceda às definições do Steamworks -> SteamPipe -> Depots.
  3. Clique no botão "Adicionar depot novo", defina o nome e clique em OK. Escolha um nome semelhante ao depot de DLC existente para que o possa identificar facilmente.
  4. Selecione o idioma, sistema operativo e/ou arquiteturas corretos.
  5. Selecione o DLC correto no menu pendente para o associar a este depot.
  6. Clique em "Guardar". Tenha em atenção que a aplicação Steam só ficará a saber do depot novo assim que as alterações forem publicadas.
  7. Adicione os depots aos pacotes que os devem conter (por exemplo, pacote complementar de desenvolvimento).
  8. Na máquina de criação de builds, adicione um script de criação de depots para o novo depot do DLC.
  9. Adicione o novo script de criação de depots ao script de criação de build da aplicação do jogo base.
  10. Conclua quaisquer tarefas restantes para enviar os novos ficheiros de depot, publicar a build, etc.

Atenção: todos os depots de DLCs residem na lista de depots da aplicação base. Depots não podem residir diretamente na aplicação do DLC.

Download e instalação programática de DLCs

Normalmente, DLCs são descarregados e instalados assim que forem comprados por um utilizador. Porém, é possível marcar DLCs para que não sejam descarregados automaticamente. Desta forma, o jogo pode controlar quando o download do DLC deve ocorrer, o que é útil para permitir que o utilizador jogue o jogo enquanto o DLC é instalado ou descarregar temporariamente uma parte dos ficheiros de acordo com a lógica do jogo.

Pode configurar DLC para ser descarregado ou instalado sob demanda ao seguir os passos abaixo.
  1. Crie até 10 DLCs que possam ser usados como segmentos descarregáveis:
    • Na página inicial do pacote da aplicação, clique em "Todos os pacotes, DLCs, demos e ferramentas associados" e clique no botão "Adicionar novo DLC" para adicionar os DLCs.
  2. Configure cada DLC para que a aplicação Steam não os descarregue automaticamente:
    • Para cada DLC, aceda às definições do Steamworks -> Geral.
    • Assegure-se que a opção "Desativar download automático do DLC" está marcada.

  3. Adicione os DLCs aos pacotes apropriados (Loja Steam, loja física, teste beta, complementar de desenvolvimento, etc.) para que sejam acessíveis quando a aplicação base for comprada:
    • Na página inicial da aplicação, clique em "Todos os pacotes, DLCs, demos e ferramentas associados".
    • Clique no pacote ao qual pretende adicionar o DLC.
    • Clique em "+ Adicionar aplicações", encontre os DLCs associados, certifique-se de que estão assinalados, clique em "Continuar" e depois em "Guardar".
  4. Adicione os ficheiros apropriados para cada DLC ao depot de DLC associado como parte do processo de criação de builds do SteamPipe:
    • Consulte a documentação sobre Depots para mais informações.
  5. Nos locais apropriados do código, implemente as seguintes APIs para iniciar o download e instalação dos DLCs:

Notas adicionais:
  • Se assinalar a caixa "Desativar download automático do DLC", um utilizador que tiver o DLC pode escolher instalá-lo manualmente a partir da biblioteca, mesmo se o seu jogo não usar a API ISteamApps:InstallDLC API.
  • Utilizadores podem iniciar o download do DLC a partir da interface da aplicação Steam, nas Propriedades do jogo -> separador "DLC".
  • Também pode usar a função ISteamApps::UninstallDLC para desinstalar um DLC, se necessário.

Testes

Antes de começar a testar um DLC, certifique-se de que o tem na sua conta: selecione o jogo na biblioteca na aplicação Steam -> Propriedades -> DLC. Se o DLC não aparecer nesta secção, é porque não o tem.

Pode simular a aquisição de DLC através da aplicação Steam. Quando o seu DLC novo for adicionado ao Steam, irá receber um pacote que concede acesso ao DLC pelo grupo da editora. Normalmente, o nome deste pacote contém os termos "Complementar de desenvolvimento" (ou "Developer Comp").

Pode desativar temporariamente a sua licença do pacote "Complementar de desenvolvimento" e depois reativá-la para simular a compra do seu DLC. Para tal, siga estes passos.
  • Inicie steam.exe com o comando -console (ou execute steam://nav/console por um browser da web).
  • Abra o separador CONSOLE na aplicação Steam.
  • Introduza o comando licenses_for_app <o seu AppID aqui>. Este comando irá listar os IDs dos pacotes dos DLCs do jogo com esse AppID.
  • Introduza o comando disable_license <o ID do pacote pretendido aqui>, com base nos resultados acima.

Depois disto, a sua conta já não deverá ter o DLC. Pode testar abrir o jogo e constatar que APIs de verificação de posse retornam "false" no caso do DLC. Para reativar a aquisição do DLC, volte ao separador CONSOLE e introduza o comando enable_license <o ID do pacote pretendido aqui> ou reinicie a aplicação Steam.

Prevenção de fraudes

Existe o risco de fraude sempre que oferecer algo de valor que possa ser comprado.

Fraudes de DLC acontecem quando um utilizador compra DLC de valor elevado com um método de pagamento roubado (como um cartão de crédito). O objetivo do defraudador é mover quaisquer bens de valor do DLC para outra conta, seja esta da posse do defraudador ou de um jogador que esteja a pagar por esses bens fora do sistema. Outra possibilidade é que o defraudador pode tentar vender a conta inteira, sendo também pago fora do sistema.

Portanto, não recomendamos incluir moedas ou itens trocáveis em DLCs. Tais tipos de conteúdo são mais apropriados para microtransações, de acordo com as sugestões mencionadas no artigo relacionado.

O Steam deteta a maioria das transações fraudulentas nas primeiras 48 horas após a compra inicial. Uma verificação da posse dos DLCs ao iniciar o jogo ou após 48 horas irá reconciliar as alterações a transações de acordo com o estado atualizado.