Espaço para divulgação de trabalhos e ideias criados durante o curso de Jogos e Entretenimento Digital (Jogos Digitais) - UNISINOS.

segunda-feira, 12 de julho de 2010

Alien Conquer - Nintendo DS

Demo de jogo para Nintendo DS implementado para a disciplina de Programação para Consoles - UNISINOS, 2010/1 -, com o professor Marcio Garcia Martins.

Grupo:
Deividson M. Goulart: implementação do gameplay e estrutura geral do jogo;
Otto Lopes: criação do projeto SVN, implementou o input (juntamente com Taiuã), interface gráfica (menu e hud) e implementou a estrutura para música e efeitos sonoros;
Taiuã Pires: ideia original e estrutura inicial.
Este jogo foi originalmente criado pelo Taiuã para PC, e para este trabalho foi portado pra NDS.

Arte de Leonardo Silva Marques e Taiuã Pires.

Utilizados:
  • Visual Studio 2008;
  • TortoiseSVN;
  • API PAlib;
  • Emulador DeSmuME;



Video (somente video sem áudio - jogo possui música e efeitos sonoros):

Terreno e SkyDome

Trabalho implementado para a disciplina de Técnicas Avançadas de Computação Gráfica (UNISINOS), de 2010/1, com a professora Rossana Queiroz.
Heightmap com LOD através de ROAM (implementado com Binary Triangle Tree) e SkyDome.

O heightmap é criado a partir de imagem.
Para a representação de terrenos, foi utilizada a técnica de Heightmap, ou mapa de alturas, uma estrutura de dados (matriz representando a largura e comprimento do terreno - XZ) que armazena a altura (Y) do terreno em cada coordenada do plano XZ. 
    O algoritmo base é de autoria de Bryan Turner, que apresenta uma forma de se renderizar grandes terrenos utilizando a técnica de LOD (Level of Detail), técnica que aumenta o nível de detalhe da malha de vértices em pontos próximos ao observador, e diminui em pontos distantes, através de ROAM (Real-Time Optimally Adapting Meshes), técnica para manipular a malha de vértices do terreno em tempo real, que por sua vez é possível utilizando-se BTT (Binary Triangle Tree), árvore binária de triângulos que possui vários níveis de profundidade, e durante a renderização, a profundidade que será executada varia da distância do ponto em questão ao observador e o limite de exploração árvore adentro a cada frame. A malha de vértices não é alterada, o processo de Tesselation, efetuado a cada frame antes da renderização, apenas monta os polígonos com vértices selecionados para formar uma malha aproximada à original, diminuindo drasticamente o número de vértices utilizados e polígonos desenhados.
A textura é um ponto que precisa ser melhorado, pois tive que utilizar uma textura para todo o terreno, com resolução limitada (máximo de 4096x4096).
Resultados: terrenos de 1024x1024 ou maiores, consegue-se 60fps com tranquilidade (isso com um Athlon 64 X2 Dual Core, com 2.6GHz por core).

Utilizado:
  • OpenGL;
  • Glut;
  • SDL_Image (inicialmente DevIL, mas migrei pra SDL pela documentação e funcionalidades);
  • Lua.

Video:

domingo, 11 de julho de 2010

Billboards


Exercício implementado para a disciplina de Técnicas Avançadas de Computação Gráfica, de 2010/1, com a professora Rossana Queiroz.
Imagens da professora e tbm de Mr. Bubble.

Utilizado:
  • OpenGL;
  • Glut;
  • SDL_Image;
  • Lua.


Video:

L-System

Exercicio implementado para a disciplina de Técnicas Avançadas de Computação Gráfica, com a professora Rossana Queiroz. Simples visualizador de L-System, com leitor implementado pela professora.

2010/1.

Utilizado:
  • OpenGL;
  • Glut;
  • Lua.

Video: