quarta-feira, 22 de dezembro de 2010

Advergame feito com Unity 3D

Olá pessoal, nesses últimos dias estive trabalhando num jogo para o Shop Legal gostaria de compartilhar alguns detalhes.

Na maioria dos jogos que desenvolvi até hoje, utilizei a plataforma Flash/AS3. Mas ultimamente estão surgindo muitas ferramentas interessantes para desenvolvimento de games, e o melhor é que algumas delas são gratuitas. Uma destas ferramentas é a Unity 3D, http://www.unity3d.com/, que tem uma versão gratuita que pode ser usada tanto para fins educacionais quanto para fins comerciais. Há uma restrição, entretanto, que diz que companhias que tiveram lucro acima de US$ 100.000,00 em seu último ano fiscal, devem usar o Unity Pro que hoje custa US$ 1500.00, que não é o meu caso.

Como venho estudando Unity 3D a um bom tempo, comecei a fazer alguns jogos por conta própria e tambem a desenvolver jogos do tipo serious games que podem ser classificados como Adverganes, Edutainment, Simulação etc. O Labirinto Legal se enquadra na classificação Advergame por estar ligado a estratégia de comunicação mercadológica.

A parte principal desse jogo é a fisica e isso foi um dos motivos que escolhi a Unity 3D pois ela tem um motor de fisica integrado chamado PhysX, nesse link da própria Unity dá pra ter uma idéia do que é possível fazer com essa ferramenta.

Estarei falando cada vez mais sobre a Unity 3D, pois ela já passou a ser uma das minhas principais ferramentas de trabalho.

quinta-feira, 4 de novembro de 2010

Desenvolvimento de um jogo de futebol

Hoje falarei um pouco sobre o jogo Turma COC Soccer, que desenvolvi juntamente com a equipe Turma COC para aproveitar o evento do ano, a Copa do Mundo de 2010.

Este jogo foi um desafio e tanto, principalmente no que se refere a IA (inteligência artificial), pois as outras tarefas fazem parte do desenvolvimento de quase todos os tipos de jogos como por exemplo: controle de tempo, menus, telas de configurações, sincronização de áudio e animação. Mas a IA nesse jogo foi o que mais deu trabalho, pois tive que estudar varias técnicas de inteligência artificial para que pudesse adotar a que melhor se encaixasse num jogo de futebol.

O resultado foi que de inicio me deparei com algumas técnicas que tinha visto na faculdade, e que sinceramente, tive que realmente aprender "novamente", e entre elas estão: Redes Neurais e Algoritmos Genéticos.

Achei muito interessante a técnica de Redes Neurais pois ela possibilitaria que o computador “aprendesse” com o jogador e a partir de um certo tempo ele conseguiria neutralizar jogadas repetidas ou fazer ataques diferentes considerando a forma com que o jogador costuma se defender. Eu tinha certeza que essa era a técnica ideal, talvez pudesse ser mesmo, mas eu tinha outro probleminha, pois essa técnica requer muito processamento e isso ia comprometer muito a performance do jogo, principalmente por ser feito em flash/actionscript para se jogar no navegador onde cada pessoa que acessa o jogo pode der uma maquina mais modesta em termos de hardware.

Então depois de dar uma estudada em Algoritmos Genéticos e não gostar muito por não ver aplicação em jogos de futebol, pelo menos dentro do jogo em si, pois poderia ser aplicado para gerar variedades de jogadores ou para que eles evoluíssem conforme experiência em jogos etc. Mas não tínhamos tanta pretensão assim, nós queríamos fazer um jogo simples principalmente voltado para o publico infantil, nada parecido com FIFA ou Winning Eleven.

Finite State Mechines (Máquina de estados finitos) além de ser a técnica mais utilizada em jogos de todos os tipos, foi a solução ideal para o meu problema, pois com essa ela foi possível obter por parte NPCs (Non-player character) ou traduzindo “personagens não jogáveis”, um comportamento satisfatório que resultou na inteligência artificial definitiva do jogo. Só para deixar claro, essa técnica foi ideal no caso desse jogo especificamente, e não que ela deva obrigatoriamente ser aplicada a todo e qualquer jogo de futebol.

terça-feira, 19 de outubro de 2010

Programação Jogo de Corrida

Neste blog procurarei falar mais da parte técnica dos jogos, como por exemplo algoritmos, engines e obstáculos que podem ser encontrados do decorrer do desenvolvimento de um game. Quanto à parte artística tentarei colocar links para blogs de pessoas que entendem do assunto.

Para quem não sabe, eu trabalho com desenvolvimento de games voltados para crianças, e estarei postando alguns trabalhos em que participei como programador.

O primeiro jogo que irei divulgar é o Turma COC Racer, que é um jogo de corrida no qual, tanto para mim quanto para os outros membros da equipe que o desenvolveu, foi um grande desafio e aprendemos muito a cada obstáculo que superamos juntos. Segue os blogs de alguns membros da equipe: Paulo Fritoli, Douglas Rogério, Leandro Franco, Beto Candia.

Quanto a este jogo, ele foi desenvolvido em Flash usando linguagem ActionScript 3, e um motor de física que foi portado do C++ para ActionScript chamado Box2D, para tratar colisões. A técnica que usei para que os adversários corressem sozinhos, o que seria a “IA” do jogo, é conhecida como “waypoints” onde são definidos pontos que devem ser seguidos em ordem por um objeto qualquer.

Uma coisa legal é que agora estamos desenvolvendo jogos em 3D, o primeiro jogo em 3D será o Turma COC Racer 3D que estarei divulgando aqui assim que ficar pronto. Enquanto isso confira o jogo Turma COC Racer

quarta-feira, 13 de outubro de 2010

Animação Insector Sun

Hoje vou compartilhar com vocês um trabalho feito por dois amigos, Douglas(Dr. Desenhos hehe) e Leandro Ricardo(Tiuzão), eles são animadores, ilustradores, colorizadores etc.


Para conferir outros trabalhos destes artistas segue links:
Leandro Ricardo
http://titiu.com_artes.zip.net/
http://www.leandrotitiu.deviantart.com/gallery/

Douglas Rogério
http://locao000.zip.net/
http://fera000.deviantart.com/gallery/

quinta-feira, 7 de outubro de 2010

Primeiro Post

Olá pessoal,

Até que enfim criei coragem para criar meu blog, onde, além de poder divulgar um pouco sobre meus trabalhos, também pretendo postar links, artigos e novidades sobre assuntos do meu interesse pessoal e profissional.

Esses assuntos vão de tecnologia, programação, computação gráfica, desenvolvimento de games etc. a assuntos como teologia e ciência.

Espero conseguir cumprir minha proposta para este blog.