Como preparar o jogo para portar para PC e console

Os benefícios dos jogos de plataforma cruzada são discutidos há muito tempo nos círculos dos jogadores, mas com pouca cobertura entre os desenvolvedores. Não há muitos artigos sobre as coisas básicas necessárias para criar um jogo de plataforma cruzada.

No entanto, a plataforma cruzada está agora em ascensão. Existem mais e mais jogos com essa propriedade. Fortnite, Call of Duty, Street Fighter - todos eles são de gêneros diferentes, implementados de maneiras diferentes, mas em um grau ou outro eles têm recursos de plataforma cruzada.

Andersen Horowitz escreveu em seu blog que os jogos foram historicamente segmentados por plataformas diferentes, mas agora com a crescente popularidade das plataformas cruzadas, o número de jogos multiplayer também cresce cada vez mais.

Por que você precisa tornar o jogo multiplataforma?

Isso é ótimo para os jogadores: você não precisa escolher em qual dispositivo executar o jogo - você pode jogar livremente com os amigos sem se preocupar se eles estão no banco de dados de jogadores.

Para os desenvolvedores de jogos, isso também é ótimo, porque a base de usuários agora não é segmentada por plataformas diferentes - em vez disso, você pode organizar um grande grupo de jogadores e criar uma experiência multiusuário mais rica, com sessões de jogo mais completas.



Ótimo, então vamos portar nosso jogo para várias plataformas!

Claro que parece legal, por que não? Isso é apenas ...

Em O Senhor dos Anéis, se você se lembra, os heróis também discutiram com os conselhos de Elrond, eles dizem: vamos fazer o que deveríamos, ao que Boromir disse:



E tudo porque Boromir sabe: criar um jogo multiplataforma completo não é tão simples.

Então surgiu a idéia de preparar material para aqueles que estão pensando em criar seu próprio jogo multiplataforma.

Se você já publicou jogos antes, significa que você lidou com o envio para várias plataformas e conhece os recursos de cada uma delas, o que será uma boa base para o material de hoje - e, além disso, ajudará no estágio inicial de preparação.


9 coisas que você precisa considerar antes de criar um jogo multiplataforma


Dica 1: familiarize-se com a terminologia Existem

muitos conceitos diferentes relacionados à plataforma cruzada, mas primeiro apresentaremos os mais necessários: reprodução cruzada, progressão cruzada e compra cruzada.

Qual é a diferença?

Jogo cruzado ( jogo cruzado ou jogo cruzado) é exatamente o que as pessoas pensam quando ouvem falar de um jogo de plataforma cruzada: combinando usuários que jogam em plataformas diferentes em uma sessão multiusuário Ou seja, quando jogadores de Xbox podem colidir em um jogo com jogadores de PlayStation ou Steam.

Progressão cruzada(ou Salvamento cruzado, salvamento cruzado) é chamado de capacidade de começar a jogar em uma plataforma, salvar seu progresso e continuar jogando em outra plataforma. Isso pode ser encontrado nos jogos para um jogador e para vários jogadores.

Cross- buy (ou cross-commerce, cross-compra) é uma compra feita em uma única plataforma, em seguida, aparece em sua biblioteca em outro. Seu parente próximo é o BOPA (Buy Once Play Anywhere: uma vez comprado - jogue em qualquer lugar), mas falaremos sobre isso mais tarde.

Dica 2: crie seu próprio domínio online

Quando você lança um jogo em plataformas diferentes, serviços auxiliares especiais de cada plataforma ficam disponíveis para você, e eles são realmente convenientes.



Se você deseja criar um jogo multiplataforma, infelizmente, não pode usar a maioria desses serviços, porque as estatísticas no Steam, por exemplo, não correspondem às estatísticas no Xbox ou PlayStation. Você deve ter seu próprio conjunto de serviços: estatísticas, sistemas de identificação, organização de partidas e muito mais - que vincularão dados de várias plataformas.



Então, o que você precisa primeiro?

  1. Sistema de identificação e contas;
  2. Sistema de comércio eletrônico (especialmente se você vai monetizar seu jogo usando compras no aplicativo);
  3. Outros serviços necessários de acordo com os requisitos de certificação.

Por exemplo, a certificação Xbox exige que você use o MPSD (diretório de sessões multiplayer), mesmo se você tiver seu próprio sistema de correspondência, porque todas as informações armazenadas no MPSD serão usadas posteriormente para ativar a Presença Rica no Painel Xbox.

Dica 3: saiba mais sobre seus jogadores

Considere um exemplo.

Digamos que um jogador tenha:

  • Conta Steam;
  • Conta da loja épica
  • Conta Xbox
  • Conta PlayStation
  • Mudar de conta
  • Etc.

Como o jogo sabe que esta é a mesma pessoa?

É aqui que o chamado sistema de vinculação de contas vem em socorro.

Vincular contas permite vincular sua conta compartilhada a contas de várias plataformas.

Se você joga Call of Duty, provavelmente sabe que a última parte da franquia é multiplataforma. E se você quiser encontrar seu amigo no sistema, precisará usar o Activision ID. Portanto, se você jogar no Xbox, não poderá encontrar seus amigos jogando no PlayStation, porque essas duas bases de jogadores não se cruzam - mas, ao mesmo tempo, os dados de todos os jogadores nas duas plataformas são armazenados no Activision ID.



Esse sistema de identificação unificado se tornará uma parte fundamental não apenas para o jogo atual, mas para todos os seus projetos futuros. É ela quem o conecta com outras plataformas.

Aqui está outra dica. Preste muita atenção aos requisitos do RGPD e do CCPA: seus padrões devem ser levados em consideração desde o início para evitar conseqüências desagradáveis. Além disso, mais cedo ou mais tarde novas plataformas começarão a aparecer. Deseja adicioná-las ao seu jogo assim que estiverem disponíveis?

A seguir, é apresentado um exemplo de como implementar a vinculação de conta do Steam.



Assim, é necessário um sistema de identificação para trocar o token Steam pelo seu. Em seguida, o jogador pode usar esse token para ativar os serviços de que precisa.

Dica 4: deixe os usuários jogarem juntos

Agora que você identificou seus jogadores com sucesso usando o sistema de vinculação de contas, o próximo passo é fazer com que os usuários joguem juntos.



Então, é hora de fazer crossplay.

Para conectar jogadores à mesma sessão multijogador com todos os seus amigos, você precisa organizar um sistema de encontros, gerenciar sessões de jogos e vários serviços - a lista completa depende das necessidades de um jogo específico. Assim, primeiro você identifica os usuários e os reúne, independentemente da plataforma em que eles jogam, e depois a organização de partidas os organiza em sessões de jogos.



Algumas notas sobre a qualidade do multiplayer e da conexão.

Se você escolher um mecanismo de jogo, tenha uma simpatia entre plataformas: esses mecanismos já possuem um mecanismo interno para executar a sincronização cliente-servidor. Se você decidir criar seu próprio mecanismo, é claro, tem o direito de fazê-lo, mas lembre-se do seguinte.

Quando você deseja que seus usuários comecem a se conectar a outros jogadores, é melhor não usar a rota P2P direta. Como você não pode usar as bibliotecas de plataformas internas, como o Xbox Secure Device Associations, essa tarefa se torna bastante confusa, especialmente quando falamos em conectar o console a um PC. Dica: Use um servidor dedicado ou um ponto de retransmissão para criar sua grade.

E a última: como você agora está lidando com plataformas de diferentes capacidades - PCs, consoles - deixe suas simulações usarem uma frequência fixa de 30 quadros por segundo. Ao mesmo tempo, a renderização pode ser deixada como está.

Dica 5: deixe os jogadores continuarem o jogo em uma plataforma diferente.

Como muitos outros, o autor passou centenas de horas em The Witcher 3: jogou pela primeira vez no PlayStation, depois decidiu mudar para o Switch, pelo qual tive que começar tudo de novo, porque em The Witcher ”não há como continuar o jogo em outra plataforma. Com o tempo, os desenvolvedores ainda organizaram um salvamento cruzado entre o Steam e o Switch. É verdade que foi aqui sobre o PlayStation 4. No entanto, é provável que mais cedo ou mais tarde o CD Projekt RED estabeleça plataformas cruzadas e entre elas - o principal é que a direção certa já foi definida.

Como armazenar dados é inteiramente sua escolha: você pode armazená-los na nuvem como blobs, como estatísticas, como uma string nos atributos do perfil. O principal é atingir o objetivo de determinar que você ainda é você, independentemente de jogar no Switch, PlayStation ou PC.

Além disso, falando de plataforma cruzada, não se pode deixar de mencionar SPOP e MPOP.

SPOP(ponto de presença único) significa um único ponto de presença quando você permite apenas uma conexão a uma conta a qualquer momento e, ao entrar em um jogo em uma plataforma, é feito logoff automaticamente para outra. Assim, o SPOP pode protegê-lo de aparecer simultaneamente no mesmo local em diferentes plataformas. Este é o método de implementação mais fácil e seguro que evita a estagnação de dados.

MPOP(múltiplos pontos de presença) é uma maneira completamente diferente de comportamento. Ele permite que você tenha várias conexões que apontam logicamente para a mesma conta. Organizar isso pode ser muito difícil, pois o MPOP deve criar uma conta de convidado quando os usuários efetuam login na mesma conta ao mesmo tempo, o que pode causar problemas para garantir que o progresso seja salvo corretamente.

E embora na maioria das situações seja mais conveniente usar o SPOP, você mesmo deve considerar cuidadosamente as vantagens e desvantagens de um método específico para o seu jogo.

Dica # 6: Unifique seu comércio

Vamos falar sobre a diferença entre as lojas principal e auxiliar.



A loja principal é uma loja que você deve configurar na lateral da plataforma em que ocorrem operações com dinheiro real, enquanto a loja auxiliar é aquela que você controla no jogo.

A loja principal deve primeiro ser configurada em cada plataforma individual e, em seguida, ir para diferentes regiões, o que já é uma tarefa bastante difícil - principalmente porque o jogo de plataforma cruzada não possui API para fazer isso. Este é um processo manual minucioso que você precisa executar para cada plataforma individual. Portanto, é melhor organizar a loja principal da maneira mais simples possível e equipar a loja do jogo da maneira que desejar.



O exemplo acima é um exemplo de como o sistema funciona, onde os jogadores podem fazer compras no Steam, e a segurança dessas compras é garantida por um único sistema de comércio eletrônico.

A seguir, é apresentado um fluxograma de compra do Steam.



Dica 7: Cuidado com os requisitos adicionais de certificação para sistemas de plataforma cruzada.

Três coisas são garantidas em sua vida:

  1. Morte;
  2. Impostos
  3. A certificação falhou em uma das plataformas ao liberar o patch.

Se você já passou na certificação antes, sabe que pode ser bastante difícil. Inclui muitos aspectos, e essa lista varia de plataforma para plataforma. Ao criar um jogo de plataforma cruzada, lembre-se de que, para este caso, existem requisitos adicionais de certificação.

Recomendação: crie um airbag para você, a fim de entender o que você precisará para passar com êxito na certificação e tomar as medidas apropriadas.

Dica 8: Separe o lançamento e o lançamento

Fortnite tem um evento temporário que leva os heróis da primeira temporada para a segunda: de acordo com o enredo, o mundo inteiro de repente começou a desmoronar e absorver em um buraco negro.

Curiosamente, este evento não tem nada a ver com a ativação da atualização. Quando você libera uma atualização de jogo, não é possível sincronizá-la com as alterações de configuração em todas as plataformas; este é um processo muito demorado: você precisa entrar em contato com o gerente da conta, passar pelo processo de certificação e fazer muitas outras coisas.

Mas essa não é a única maneira pela qual você pode fazer alterações no jogo.

As mudanças no jogo geralmente são feitas através de:

  1. Atualizações de jogos;
  2. Patch para substituição de dados;
  3. Comutadores do lado do servidor (alterna do lado do servidor).

Os comutadores do lado do servidor são variáveis ​​de servidor que você define primeiro no servidor e, em seguida, força os clientes e servidores de jogos a responder a alterações nessas variáveis. Eles podem ser úteis para agendar eventos do jogo, equilibrar o jogo, ativar o Kill-Switch e os sinalizadores de função.

Exemplos de uso:

  • Ativar / desativar funções em determinadas plataformas;
  • Restringindo o acesso a determinados recursos no jogo para controle de qualidade.



O diagrama acima mostra como você pode organizar um sistema para responder aos clientes e servidores de jogos alterando variáveis ​​em um servidor. As notificações por push nesse caso são bastante convenientes, mas não são necessárias; em vez delas, você pode simplesmente usar os pools.

Dica 9: depois de comprado, toque em qualquer lugar (BOPA)

Aviso: esse é um território desconhecido, e o autor não pode garantir a precisão absoluta dos dados.

O BOPA (Buy Once Play Anywhere) permite que os usuários comprem um jogo em uma plataforma, para que ele apareça nas suas compras em outras plataformas.

Por que isso é importante?



Os jogadores não precisam mais se preocupar com quais plataformas comprar - eles podem simplesmente comprar o jogo. Para os desenvolvedores de jogos, o benefício é que eles podem coletar seus jogadores em uma base, expandir sua marca e atrair tráfego para sua loja.

Listamos três elementos exigidos pelo BOPA:

  1. Sistema Unificado de Identificação;
  2. Sistema unificado para concessão de direitos de acesso com a capacidade de rastreá-los;
  3. Concedendo direitos de acesso em sua loja de plataforma cruzada sem a necessidade de inserir uma chave: a capacidade de chamar a API de outra plataforma para fornecer direitos à atual.

Vale ressaltar que a última opção não está amplamente disponível, apenas algumas plataformas a suportam.

Aqui estão alguns exemplos de implementação do BOPA.

Cenário 1: após uma compra em sua loja, o jogo aparece na biblioteca do Steam.



Nota: a API usada aqui não está disponível ao público, portanto, você precisa conversar com seu gerente de conta.

Cenário 2: ao comprar no Steam, o jogo aparece na sua loja.



Nesse caso, você não poderá acompanhar o processo de compra no Steam, portanto, você deve contar com o player.

Pontos chave

A plataforma cruzada é ideal para jogos com um plano de suporte a projetos de longo prazo. Como você provavelmente já entendeu, a criação de tais jogos não é trivial: você precisará de uma equipe grande, muito tempo e dinheiro para ter a infraestrutura adequada para apoiá-lo.

Onde começar?

Assim como no caso de mecanismos de jogos, existem várias soluções que você pode usar para implementar plataformas cruzadas, portanto não há necessidade de criá-las do zero - é claro, se você não quiser. Alguns deles: GameSparks, Photon, AccelByte, PlayFab.

Cada um tem seus prós e contras - depende do que você precisa. Eles podem variar de acordo com:

  1. Custo;
  2. Manutenção de várias plataformas;
  3. Opções de personalização e extensibilidade
  4. Qualidade SDK;
  5. Confiabilidade;
  6. Escalabilidade.

Este artigo discute os problemas mais básicos que você pode encontrar ao criar um jogo de plataforma cruzada. Para um estudo mais aprofundado desse aspecto, você pode ingressar, por exemplo, no tópico Online Gamedev [BaaS] no Discord.

All Articles