Hoje em dia, todas as atividades envolvidas na tecnologia digital utilizam banco de dados em determinado momento. Um banco de dados consiste em uma coleção de dados permanentes, ou seja, nesse ambiente armazenamos todos os dados que serão necessários para futuras manutenções de todas as atividades realizadas na empresa. Nesse contexto de base de dados, os jogos digitais que usam uma conexão com a internet para disponibilizar o modo multijogador necessitam usar banco de dados, pois eles permitem que as informações do jogo sejam armazenadas e gerenciadas de forma eficiente (KOZOVITS, 2003). Há uma infinidade de funções que um banco de dados pode desempenhar em jogos, entretanto destaca-se as principais:
1. Autenticação de jogadores: Usuários de jogos multijogador precisam fazer login em uma conta antes de começar a jogar. As informações de login são armazenadas em um banco de dados que fazem a autenticação do jogador e garante que apenas jogadores registrados possam jogar.
2. Armazenamento de progresso do jogador: Os jogos armazenam o progresso do jogador, como: pontuações, níveis alcançados e itens obtidos. Essas informações são salvas em um banco de dados para que possam ser acessadas novamente na próxima vez que o jogador jogar.
3. Gerenciamento de líderes de placar: Os bancos de dados armazenam informações sobre as pontuações dos jogadores, permitindo que os jogadores vejam suas próprias pontuações e as pontuações dos outros jogadores. Geralmente é exibido em um "líder de placar" no jogo ou em uma plataforma de jogos online.
Fonte: DICE, 2011.
4. Gerenciamento de partidas: Os bancos de dados também são utilizados para gerenciar as partidas entre os jogadores, emparelhando jogadores com habilidades semelhantes para a criação de salas em partidas multijogador, ou seja, jogadores novatos são direcionados a salas com jogadores novatos e jogadores experientes são direcionados a salas com jogadores experientes.
5. Armazenamento de dados do jogo: Os bancos de dados são usados para armazenar informações sobre o mundo do jogo, retratando as posições de jogadores e objetos quando o usuário parar de jogar e posteriormente voltar, o estado do jogo e o histórico de eventos do jogo.
Dentre as várias categorias de jogos existentes, cada um pode necessitar de um banco de dados diferente do outro: Jogos multijogador massivo online (MMO), por exemplo, requerem bases de dados que suportam disponibilidade em larga escala, consistência e respostas em tempo real (KURABAYASHI, 2016). Na sequência, é discorrido um pouco mais sobre os tipos de banco de dados que podem ser utilizados e qual sua finalidade:
- Banco de dados relacionais: Modelam os dados para serem visualizados como tabelas bem definidas e relacionadas umas com as outras, de forma eficiente e confiável. Essa estrutura é mais usada em jogos com muita transição de informações (SILVA, 2008) e são úteis para armazenar dados estruturados, como informações do jogador, informações de itens, pontuações e outras estatísticas do jogo. Além disso, esse tipo de banco segue a coleção de propriedades ACID (atomicidade, consistência, isolamento e durabilidade), que constituem os fundamentos de qualquer modelo de transações, sendo útil na sincronização e na operação correta de muitos sistemas distribuídos. Geralmente é utilizado uma arquitetura em três camadas, onde a camada de apresentação interage com o jogador, invoca a camada de controle para operar transformações atômicas, consistentes, isoladas e duráveis que são, por sua vez, intrínsecas da base de dados componente da última camada (KOZOVITS, 2003).
- Banco de dados não relacionais: São mais adequados para armazenar dados não estruturados ou semiestruturados, como: configurações de jogo, informações de recursos e outras informações menos críticas. Esses bancos de dados são projetados para serem altamente escaláveis e flexíveis, permitindo que as aplicações de jogos armazenem e acessem dados em um formato mais livre e adaptável às suas necessidades. De acordo com Sadalage e Fowler (2013), esse tipo de banco de dados são determinados nas categorias conforme o modelo de armazenamento de dados: famílias de colunas, chave e valor, grafos e orientados a objetos e documentos. Entre eles, destaca-se o modelo orientado a objetos que fornece recursos para facilitar o manuseio de dados, geralmente é usado quando o jogo possui aspectos de dados mais complexos (SENAC-RS, 2015). Destaca-se também o modelo orientado a documentos, por processar uma quantia enorme de dados com um bom desempenho, facilitando o armazenamento e consultas de dados em mesmos formatos de modelos de documentos que utilizam os códigos do aplicativo (OLIVEIRA, 2022).
Encontramos a nossa disposição uma infinidade de jogos e eles possuem gêneros diversos, portanto podemos afirmar que diferentes tipos de jogos digitais necessitam de diferentes níveis de quantidade de armazenamento e eficiência. Os desenvolvedores de jogos possuem um grande trabalho de escolher as melhores opções de banco de dados e SGBDs (Sistema Gerenciador de Banco de Dados: software responsável por gerenciar e organizar um ou mais bancos de dados), utilizando as particularidades de cada um deles e suas melhores aplicações para cada modalidade de jogo.
REFERÊNCIAS BIBLIOGRÁFICAS
KOZOVITS, Lauro Eduardo et al. Um estudo do uso de SGBDs relacionais em arquiteturas de jogos multijogador. PUC-RioInf.MCC35/03, Rio de Janeiro, p. 1-10, out. 2003. Disponível em: http://bib-di.inf.puc-rio.br/ftp/pub/docs/techreports/03_35_kozovits.pdf. Acesso em: 2 mar. 2023.
KURABAYASHI, S. Create a 20 times faster database engine optimized to mmogs. Game Developers Conference. 2016. Disponível em: https://www.gdcvault.com/play/1023800/Create-a-20-Times-Faster. Acesso em: 2 mar. 2023.
OLIVEIRA, Phelipe; JUNIOR, Antônio. (2022). BANCO DE DADOS NA PERSPECTIVA DO DESENVOLVIMENTO DE JOGOS DIGITAIS. 10.47402/ed.ep.c2022136314498. Disponível em: https://www.researchgate.net/publication/360398444_BANCO_DE_DADOS_NA_PERSPECTIVA_DO_DESENVOLVIMENTO_DE_JOGOS_DIGITAIS. Acesso em: 2 mar. 2023.
SADALAGE, J; FOWLER, M. NoSQL distilled: a brief guide to the emerging world of polyglot persistence. Pearson Education, Inc., 2013.
SENAC-RS. Sistema de banco de dados, Planejamento de jogos digitais para multiplataformas. Disponível em: https://www.senacrs.com.br/cursos_rede/planejamento_de_jogos_digitais_para_multiplataformas/html/impressos/Sistema_de_banco_dados/Sist_banco_dados.pdf. Acesso em: 2 mar. 2023.
SILVA, Marcos. Persistência e Banco de Dados em Jogos Digitais. Disponível em: https://docplayer.com.br/6121385-Persistencia-e-banco-de-dados-em-jogos-digitais.html. Acesso em: 2 mar. 2023.