Documentação do Steamworks
Microtransações (compras pelo jogo)
As microtransações também são conhecidas como MTX ou compras dentro do app (IAP, sigla do inglês in-app purchases).

Visão geral

O Steam oferece suporte de primeira linha para compras no jogo. Sejam de itens, moedas do jogo ou o que der na telha, é possível usar as APIs de microtransação do Steam para dar mais escolhas aos usuários.

Se estiver trabalhando para lançar o seu título com compras em jogo no Steam, temos algumas sugestões, conselhos e recursos para ajudá-lo a começar. Seja um jogo gratuito para jogar ou pago, há elementos comuns a todos os jogos com compras em jogo que devem ser levados em consideração ao preparar para o lançamento no Steam.

Requisitos para compras em jogo

É obrigatório o uso da API de microtransações para compras em jogo, assim usuários Steam só poderão fazer compras com a Carteira Steam. Aprenda mais sobre como integrar a API no Guia de implementação de microtransações.

É possível usar a Carteira Steam para comprar itens individuais ou comprar a moeda do jogo.

Preparando-se para fraudes

Você corre o risco de fraudes sempre que oferece algo de valor que pode ser comprado. Para a loja do seu jogo, o Steam oferece serviços como um processador de pagamentos — o Steam faz verificações antifraude, mas o contexto no qual um usuário realiza uma compra no seu jogo é algo que só pode ser compreendido pelos servidores do jogo.

O seu jogo se torna ainda mais vulnerável se compras em jogo fizerem parte de uma economia, onde bens e serviços virtuais podem ser trocados ou presenteados. Se permitir que fraudes ocorram livremente, os itens da economia podem se desvalorizar ou afetar o equilíbrio do jogo, arruinando a experiência de usuários legítimos.

Fraudes costumam envolver um usuário que compra moedas e itens de alto valor com uma forma de pagamento roubada (como um cartão de crédito). O objetivo do fraudador é mover tais bens virtuais para outras contas, sejam elas de posse do fraudador ou de um jogador que está pagando por esses bens por fora do sistema. O fraudador também pode tentar vender a conta como um todo, sendo, do mesmo modo, pago por fora do sistema.

A sua equipe precisará encontrar um equilíbrio na economia que bloqueia usuários maliciosos, mas não impacta usuários legítimos. Confira abaixo algumas sugestões gerais como pontos de partida para ter uma proteção básica para formas simples de fraude:

  1. Use o conhecimento do jogo sobre o histórico de um usuário para limitar ações que possam levar à fraude. Por exemplo, se o jogador começou a jogar agora, é recomendável limitar a compra de itens ou moedas de alto valor. Não é comum que um usuário novato esteja realmente interessado em gastar centenas de dólares em itens ou moedas. Para tal, é útil incorporar alguns dados sobre o usuário:
    • O usuário chegou a um nível mínimo no jogo?
    • O usuário realizou compras no passado? O comportamento aparenta ser legítimo?
    • Qual é o valor médio de uma compra no jogo por mês? Essa transação é um ponto extremamente fora da curva?
    • Quantas transações usuários pagantes costumam realizar em um mês? Esse usuário está fazendo um grande número de transações e gerando suspeitas?
    • Esse usuário tem um histórico de trocas que aparenta ser legítimo?
  2. Use o conhecimento do Steam sobre o histórico de um usuário para suspeitar de uma transação ou usuário. Recupere dados do Steam para lhe ajudar a determinar quais ações um usuário poderá realizar. Chame a função GetUserInfo() da API ISteamMicroTxn para recuperar dados sobre o usuário. Há três respostas úteis para determinar o nível de confiança no usuário:
    • Country — Retorna o país do qual o usuário está se conectando para realizar a compra. Por si só não ajuda muito, mas pode ser útil em conjunto com a moeda;
    • Currency — Retorna o código da moeda da Carteira Steam do usuário. Costuma ser usado para determinar quais preços exibir ao usuário, mas comparar a moeda com o país gerador da requisição é útil para ver se a moeda é a esperada para um usuário desse país. Isso não necessariamente indica fraude — usuários podem iniciar a sessão e comprar durante uma viagem, mas essa verificação dá mais informações ao buscar padrões em atividades fraudulentas;
    • Status — Retorna "Active" (Ativa), "Trusted" (Confiável) ou "Locked" (Trancada):
      1. Uma conta começa como ativa;
      2. Contas confiáveis realizaram uma ou mais transações há mais de 90 dias, sem qualquer estorno ou contestação de pagamento associada à conta Steam. É importante observar que contas confiáveis podem ser invadidas ou "preparadas" com uma compra de baixo valor para parecerem legítimas. Não use este campo como único fator decisivo para aceitar ou recusar uma compra;
      3. Uma conta trancada não pode realizar compras no Steam devido a fraudes, estornos, contestações, roubos ou violações dos Termos de Serviço do Steam. Nem sempre contas ficam trancadas permanentemente, especialmente em casos de roubo ou estornos acidentais por bancos.
  3. É importante detectar transações fraudulentas antes que afetem a economia:
    • O Steam detecta a maioria das transações fraudulentas nas primeiras 48 horas após a primeira compra. Chame a função GetReport() da API pelo menos uma vez por dia para reconciliar as alterações em transações de acordo com o status atualizado;
    • Recomendamos impedir que um item recém-comprado seja trocado ou presenteado nas primeiras 72 horas após a compra. Isso não afetará a maioria dos seus jogadores, já que é comum que eles comprem itens para si mesmos, enquanto fraudadores precisam mover os seus bens fraudulentos para lucrar.
    • Quando compras são reembolsadas, um sistema de reversão automática que remove valores e itens comprados na conta fraudulenta impede a continuação da fraude. Combinado com o tempo de detecção e a restrição de trocas, o fraudador não conseguirá lucrar com a conta fraudulenta.
  4. Não exiba um código de produto para compras em jogo que podem ser usadas para outra conta. Há APIs do Steam para concessão de pacotes ou liberação de conteúdo sem precisar exibir um código a clientes, que pode ser duplicado;
  5. Não permita que usuários alterem as contas vinculadas descritas na próxima seção (Vinculação de contas).
O serviço de Inventário Steam faz uso de muitas dessas sugestões.

Vinculação de contas

Você tem um sistema de contas próprio? Se a resposta for sim, encorajamos o uso da API do Steamworks para criar ou vincular a conta Steam do usuário à do seu sistema automaticamente, sem que este precise criar uma conta manualmente pelo jogo ou site. Criar uma conta em outro serviço pode ser um grande obstáculo para alguns usuários, o que pode impactar o público do produto.

Para vincular a conta Steam de um usuário à do seu sistema, basta recuperar e verificar o ID Steam do usuário, que é um identificador único da conta Steam.

Idealmente, não deve ser permitido que um cliente desvincule uma conta Steam de uma conta do seu sistema e depois a vincule a outra conta Steam.

Para mais informações sobre vinculação de contas, consulte a seção "Vinculação de conta" da documentação sobre Autenticação de usuário e titularidade.

Conselhos para economias de jogos

O Steamworks oferece inúmeras oportunidades de integração de microtransações e economias de jogos. Há alguns pontos sobre o tópico a se considerar.

Assista à apresentação (em inglês) de Kyle Davis nos Steam Dev Days para mais detalhes.
https://www.youtube.com/watch?v=RHC-uGDbu7s

  1. Use a economia do jogo para aprimorar o produto e agradar usuários, não como uma forma de lucrar em cima de usuários infelizes.

    Barreiras artificiais de progresso e moedas virtuais que ocultam valores fazem com que usuários se arrependam de compras a longo prazo. Caso veja transações em jogo como uma oportunidade de interromper a diversão do usuário para pedir dinheiro, é provável que abandonarão o produto depois de um tempo. Pagar dinheiro para eliminar frustrações não é um modelo de negócios sustentável e o mercado é competitivo o suficiente para que usuários tenham alternativas bem melhores para gastar o tempo e dinheiro;
  2. Crie sistemas nos quais compras de usuários tornam o jogo melhor para outros usuários.

    Muitos produtos gratuitos para jogar, em especial jogos multijogadores, têm sistemas onde o dinheiro gasto por um jogador torna o jogo pior para os outros jogadores. Evite criar sistemas onde jogadores têm a habilidade de impactar negativamente a experiência de outros jogadores, e foque em produtos e itens que criam externalidades positivas no jogo. Citamos exemplos específicos na apresentação dos Steam Dev Days, mas um bom ponto de partida é um produto projetado em torno de um conceito simples: "Eu celebro quando o jogador ao meu lado realiza uma compra." Essa ideia é factível em jogos de todos os gêneros e estilos, e encorajamos que faça experimentos com esse tipo de produto nos seus jogos;
  3. Permita que usuários gerem valor uns para os outros.

    A Oficina Steam consiste de um conjunto de ferramentas que permite a usuários gerar conteúdo e valor uns para os outros. Usuários podem criar modelos, mapas, modificações ou outros componentes de valor para o seu jogo. Dependendo do produto e dos objetivos, é possível escolher entre uma Oficina aberta ou com curadoria de conteúdo. Não importa a escolha, a criatividade e paixão dos seus usuários pode expandir o valor do produto e oferece uma grande fonte de conteúdo adicional. Consulte a documentação da Oficina Steam e as discussões para desenvolvedores Steamworks para mais informações sobre a Oficina Steam.

De forma geral, depender exclusivamente de métricas como receita por dia ou por usuário pode levar a decisões de curto prazo que podem prejudicar os usuários e a longevidade do produto. Assista à palestra completa dos Steam Dev Days acima para exemplos específicos e outros conselhos.

Tirando proveito de atualizações

Atualizações são parte importante do ciclo de vida do seu produto, e uma forma de comunicação crucial com usuários. Você precisará lançar atualizações para corrigir erros e solucionar problemas, mas grandes atualizações também são uma ótima oportunidade para adicionar conteúdo novo, novos modos de jogo ou novos recursos para manter usuários engajados e atrair novos jogadores.

Consulte a documentação sobre Práticas recomendadas de divulgação para sugestões e práticas recomendadas para tirar proveito de atualizações do produto.