Você conhece a estrutura por trás de um game? É exatamente disso que vamos tratar neste artigo! É claro que cada game possui suas particularidades e estruturas únicas, mas também compartilham algumas similaridades. Desta forma, utilizaremos como exemplo a estrutura do nosso produto, pois temos mais familiaridade.
Então vamos por partes. Na realidade, 3 partes, como é dividida estrutura por trás de nosso produto:
Unity
A primeira é a Unity, justamente onde é desenvolvido o game.
No caso do nosso produto, o game é pensado para ser jogado online. Portanto, no momento de gerar o pacote, aplicamos a opção de build para WebGL. Com isso, podemos utilizar recursos do navegador junto aos do game com plugins para integrar o código do jogo com Javascript.
Alguns desses recursos são:
- Visualização de parâmetros na URL da página;
- Recarregamento de página atual;
- Upload de arquivos;
- Controle de redimensionamento da página;
A Unity pode ser codificada com diversas linguagens de programação. Para o nosso produto, utilizamos o C#, através do Visual Studio e plugin de integração com a ferramenta de desenvolvimento do Game Engine.
API
A segunda parte é uma API, pela qual os métodos são consumidos diretamente pela Unity para o carregamento dos dados. Como dito anteriormente, escolhemos a linguagem C#, com o framework .Net Core 5 para desenvolver nossas aplicações e serviços.
Nosso desenvolvimento segue as melhores práticas de design do mercado, com o padrão DDD (Domain-Driven Design), o que resulta em um projeto robusto, escalável e de alta performance. Tudo isso com a preocupação de manter a segurança de dados sensíveis de acordo com a LGPD, além de seguir o padrão de segurança JWT token para todas as requisições entre o jogo e a API.
Outro ponto importante é a utilização da ferramenta SignalR (websockets), que possibilita mudanças em tempo real das configurações do jogo, tais como adições e alterações necessárias em determinados momentos, proporcionando mais dinamismo e interatividade para o jogador.
The Entity Framework chega então para fazer a conexão com o banco de dados, na modalidade Code First com Migrations, e o Swagger para fazer a documentação da API, integrando melhor os sistemas.
Base de dados
E completando nossa estrutura, temos a base de dados Microsoft SQL Server, que foi desenhada pensando em otimização de performance e segurança, pois os dados são criptografados de acordo com a LGPD.
Agora você já sabe como é estruturado o backstage de um game. Assim é a nossa estrutura:
Unity no desenvolvimento do game, API com SignalR e Swagger para um trânsito seguro das informações, e base de dados otimizada e segura de acordo com a LGPD.
Gostou do artigo sobre a estrutura por trás de um game?
Deixe aqui para nós o seu comentário e/ou dúvida. Assim teremos o seu feedback para trazer conteúdos ainda mais relevantes do mundo da gamificação!