Implementando um banco de dados sqlite3 no Blender Game Engine-passo-á passo

170 3

Seguindo uma discussão na qual eu participei no fórum PDJ(Programamdores e Desenvolvedores de Jogos), vou criar uma serie de artigos sobre o uso de Banco de Dados no Game Engine do Blender, para servir de referência á futuros utilizadores. Já havia afirmado lá que é possivel sim usar banco de dados na Game Engine do Blender, desde que haja suporte para isso, por parte da própria Engine, ou por parte do Pyhton, que é a linguagem usada para acrescentar scripts á Engine.

Python já possui suporte á vários banco de dados, mas os que me lembro agora são o Mysql, o PostgreeSql, ado_mssql e o sqlite3. Cada banco de dados tem as suas caracteristicas, vantagens e desvantagens(senão não haveriam diferenças!). Falei também lá que o melhor sistema de gerenciamento de banco de dados para a Game Engine do Blender seria sem dúvidas o Sqlite3, e os motivos para esta decisão citarei mais adiante.

Conversando com o OmegaX, expert na Game Engine do Blender, confirmei esta teória. Além disso, ele acrescentou: Sqlite3 é o melhor banco de dados que existe, em termos de velocidade de leitura dos dados, mas em termos de escrita, ele é ‘ruim de morrer’! Mas este não é o único motivo para a minha escolha, outros ainda podem ser considerados dentre os quais os seguintes:

  • Sqlite3 já vem imbutido nas últimas versões do Python;
  • Sqlite3 é relativamente fácil de usar;
  • o principal: Sqlite3 não precisa de um servidor para poder funcionar, ou seja, usa um sistema de arquivos, logo é ideal para usar com o seu executável( imagina o jogador tendo que ter um servidor Mysql local só para poder jogar o seu jogo!).

Este ponto indica que se pretende fazer um jogo multiplayer ou coisa do gênero, ai sim pode pensar em trocar o Sqlite3 pelo Mysql. Quanto a questão da velocidade referida por Diego Rangel( o OmegaX), isto poderá não ser problema, visto que num jogo ou programa feito na Engine, a velocidade de leitura ser mais importante que o da escrita: A maioria dos dados serão escritos na fase de desenvolvimento…

Depois dessa discussão toda, decidi ir á prática com o Blender, para ver no que tudo isto ia dar. Na verdade ainda estou a testar, mas como tive um bom começo, decidi escrever a primeira parte do artigo.

Vamos então á prática: Python possui desde as últimas versões um módulo Sqlite3, que permite a integração Python+Sqlite3. Mas um dos grandes problemas do game Engine do Blender, é que para usar todos os recursos do Python, você precisa ter o Python instalado no seu PC! Isto não é um problema para quem já tem Python instalado, mas para pessoas como eu que rodam o Blender e o Python a partir de um PenDrive( é o único dispositivo de memória que realmente me pertence!!!), a situação fica meio complicada.

É claro que é possível estender o path do interpretador imbutido na game Engine, mas isso poderia se tornar muito complicado. Então, sendo assim, procurei soluções mais práticas para poder ter o módulo sqlite3 como sendo nativo do Blender. O processo foi tão interessante que vou colocar todos os passos da experiência aqui, também, seguindo o exemplo, você poderá acrescentar outros módulos á Game Engine do blender. Veja então a continuação deste artigo onde iremos adicionar o módulo sqlite3 ao escopo do Blender.

(Visited 36 times, 1 visits today)

Elisio Leonardo

Elisio Leonardo is an experienced Web Developer, Solutions Architect, Digital Marketing Expert, and content producer with a passion for technology, artificial intelligence, web development, and entertainment. With nearly 15 years of writing engaging content on technology and entertainment, particularly Comic Book Movies, Elisio has become a trusted source of information in the digital landscape.