Projeto Alegria: Driver gráfico

Hoje finalmente incluí as classes que fazem a interface com a parte gráfica, no projeto Alegria. Já é possível criar uma janela, definir seu sistema de coordenadas e viewport.

Estou ainda trabalhando com as classes de base do projeto. São um conjunto de interfaces que permitem que desenvolvedores implementem para suportar diferentes tecnologias de Entrada, Vídeo e Áudio.

Ou seja, embora inicialmente estejamos desenvolvendo uma implementação para isso (um driver) para LWJGL, nada nos impedirá de portar a API para JOGL, Java2D ou Android no futuro.

Se você não tem experiência com computação gráfica, não deve ter captado ainda o que eu quero dizer com “definir seu sistema de coordenadas e viewport”. Bem, o screenshot abaixo explica em poucas palavras:

Janela desenhada no Alegria

Essa janela foi desenhada usando diretamente os drivers do projeto. Trata-se de um “jogo” de Arkanoid.

Não vale a pena postar os códigos aqui porque eles não são exatamente fáceis, afinal, estamos falando de classes de baixo nível, que a princípio não deveriam sequer ser usadas diretamente para fazer jogos. Classes melhores serão criadas para o desenvolvedor Indie.

Mas vocês já podem ver um recurso interessante. As classes do jogo Arkanoid foram feitas para uma resolução de 800×600. Porém, abri a janela de jogo em 1024×768. E dentro dela, disse que a área deveria ser de 16:9, ou seja, 1024×576.

Nenhuma alteração foi feita em nenhuma classe do jogo, elas continuam desenhando para 800×600. Porém, o jogo foi automaticamente ajustado.

A ideia é que no futuro, o desenvolvedor possa escolher entre:

  • Esticar sua área de desenho junto com a tela (é o que a maioria das APIs 2D fazem hoje em dia, se a tela cresce, o sistema de coordenadas cresce junto).
  • Esticar seu jogo, caso a resolução da tela seja maior ou menor que a dele;
  • Manter ou não a proporção do jogo, caso a proporção seja diferente. O Alegria incluiria automaticamente as faixas pretas na lateral da tela e trataria o redimensionamento. Se ele não quiser manter a proporção, o Alegria poderá esticar ou achatar a tela;

Tudo isso com um comandinho simples, no setup do jogo ou da fase. Interessante, não?

Anúncios

Sobre Vinícius Godoy

Leia a biografia completa aqui: http://pontov.com.br/site/index.php/colaboradores/54-vinigodoy
Esse post foi publicado em Alegria2D, Desenvolv. de Jogos, Java, OpenGL. Bookmark o link permanente.

3 respostas para Projeto Alegria: Driver gráfico

  1. Pingback: Tweets that mention Projeto Alegria: Driver gráfico | Blog do ViniGodoy -- Topsy.com

  2. Soraia disse:

    Muito legal a ideia desse projeto, tem tudo para ser bastante reconhecido. Boa sorte aos desenvolvedores! 🙂

  3. markyhitchhiker disse:

    hehe.. é um bom inicio.

Deixe uma resposta

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