Skip to content

Tecnologia: Sauerbraten

26 de outubro de 2008
Foto do Mapa criado por usuário Taj Mahal no jogo Sauerbraten

Foto do Mapa "Taj Mahal" criado por usuário no jogo Sauerbraten

Oi pessoal, hoje resolvi escrever sobre a tecnologia que eu uso, isso também vai ser um conjunto de artigos onde vou apresentar todas as tecnologias que eu uso ou usei.

Vamos começar pelo motor Cube 2, que faz os jogos Sauerbraten e Eisenstern funcionar. O Cube 2 é um motor de jogo tridimensional completo, tem a parte gráfica, colisão, inteligência artifial, toca sons e música, e vem com o editor de mapa mais espetacular que ja vi em um jogo 3D.

Para facilitar, vamos por partes! Vamos começar pelo editor de mapas, que da nome ao motor, Cube 2, basicamente existe uma estrutura de dados chamada árvore octal (não vou explicar isso com detalhes agora), o resultado disso no jogo é que parece que o mapa é composto de cubos, que podem ser divididos em cubos sucessivamente menores conforme o necessário, e a forma de editar consiste em simplesmente criar e deletar cubos conforme o necessário, a texturização funciona de forma simples e espetacular ao mesmo tempo, você pode carregar uma textura, escalonar ela e rotacionar (por multiplos de 90 graus), na hora de por no mapa é só escolher ela depois de selecionar os cubos ( e o lado deles) que você vai pintar, a textura vai ser automaticamente colocada de uma forma muito simples de forma que não é necessário manipular ela nos objetos como acontece em outros motores (como o Torque). Apesar de não parecer, é possível fazer curvas, rampas e outras coisas não cúbicas de forma bem simples, o motor suporta que você deforme os cubos empurrando seus cantos para dentro, dessa forma é possível fazer cubos mais finos por exemplo, ou como eu disse antes, curvas, rampas, e outras coisas do gênero.

Segue vídeo de alguém editando o mapa no jogo Bloodfrontier (usa o motor Cube 2, e tem o mesmo editor de mapa)

Além do editor espetacular o motor tem uma qualidade gráfica muito alta e também grande flexibilidade, ele consegue usar o modo padrão do OpenGL de geração de imgem, que funciona em placas de vídeo muito velhas (um usuário disse que o jogo Sauerbraten funcionou na placa Voodoo 2 de 1998), mas também é capaz de usar os últimos recursos de vídeo como os recursos de placas como a GeForce 8600 que eu possuo, o resultado é que se jogos feitos com o motor funcionam em uma grande quantidade de máquinas, e não menos importante, se a máquina do usuário for boa suficiente ele atinge uma qualidade gráfica alta, e que pode ser extendida colocando mais shaders no motor, que já suporta por padrão um belíssimo shader de água, um de reflexo pré-calculado (é mais rápido, funciona até em máquinas antigas) e um de brilho (ótimo para lampadas e coisas incandescentes). Uma das maiores vantagens que o motor tem sobre outros motores que trabalhei como o Torque é o fato de que este motor tem um ótimo sistema de cálculo de sombra mais fácil de usar que o do Torque, e ele guarda os cálculos no arquivo de mapa, não sendo necessário calcular na hora que o mapa abre, o que é uma falha grave no motor Torque (pois causa MUITA demora para carregar o mapa)

O motor também possui uma linguagem de script bem simples baseado na linguagem do Quake, a linguagem é interessante e poderosa o suficiente para que algumas coisas possam ser feitas sem tocar no código fonte do motor.

Foto do mapa chamado Hallo do jogo Sauerbraten

Foto do mapa chamado Hallo do jogo Sauerbraten

Mencionando o código fonte do motor, ele é aberto, o Cube 2 está licensiado pela licensa ZLIB, que é minha preferida, ela permite que você use-o da forma que quiser, inclusive que você use o código comercialmente e de forma fechada. E ainda para os que querem se aventurar a faze-lo (um jogo comercial usando o motor) é possível pagar para os autores do motor por vários serviços (como modificações e suporte). O código é bem simples, e fácil de ser modificado, e suporta a criação de módulos de jogo extras, o motor por padrão vem com dois jogos, o Sauerbraten e o Eisenstern, que tem regras diferentes, e essas regras diferentes são simples módulos que são compilados junto com o motor, o que permite com facilidade a criação de vários desses módulos.

O sistema de som do motor é controlado facilmente com a linguagem de script, ele suporta som ambiente (você coloca um emissor de som no mapa, com um certo raio, ótimo para simular por exemplo o som de uma cigarra em uma árvore, ou o som de uma televisão, ou até música ambiente diegética), também suporta até que comandos sejam executados após um som, util não somente para tocar outro som mas também para qualquer idéia maluca que vier na cabeça do autor do mapa.

O Cube 2 foi feito pensando em uma jogabilidade veloz e simples, por padrão é impossível agachar, o personagem corre o tempo todo, e a forma de jogar é extremamente simples, lembrando muito o multiplayer do Quake, mas isso é fácilmente modificado e o motor por padrão já suporta terceira pessoa, o que tornou ele muito útil para meu trabalho, onde estou o adaptando para um jogo de aventura em terceira pessoa.

O Cube 2 pode ser achado no site do jogo Sauerbraten (lembre-se, Sauerbraten é um jogo que usa o Cube 2 como motor!), o site é o seguinte (em inglês): http://sauerbraten.org/ E o link para baixar a versão de windows: http://downloads.sourceforge.net/sauerbraten/sauerbraten_2008_06_20_ctf_edition_win32_setup.exe

Também lembro aqui que uma das grandes coisas deste motor é ser multiplataforma (no site tem versões oficiais para Windows, Mac e Linux)

Qualquer dúvida com quaisquer das palavras podem ser feitas nos comentários, eu vou ir editando o artigo e montando um glossário (talvez eu faça um artigo de glossário!)

Anúncios
No comments yet

Deixe um comentário por favor!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: