sábado, 16 de julho de 2011

Update das ferias

Bom, agora que chegou sábado, fim da semana, vim aqui relatar o que tenho feito para tentar contribuir pra com nosso projeto.

Basicamente, tenho estudado GWT e buscado alguma forma de criar um jogo com essa ferramenta.

Como já comentei no post da integrante Naomi, eu dei uma olhada (uma boa olhada) na API ForPlay, mas o maior problema é que não há uma biblioteca pronta para uso e o projeto está em sua versão alpha ainda, o que significa que com certeza ainda possui diversos pontos a melhorar.

Deixei então o ForPlay de lado por hora, e busquei outras ferramentas que poderiam ser uteis. O que achei foi o gwt-g2d uma API para GWT que é muito boa para desenhos e afins, mas para exibir imagens pré-feitas, pareceu-me um tanto complicado (se alguém tiver umas dicas sobre isso, favor poste - irá ajudar bastante).

Por fim, achei o chamado FocusPanel, um componente do próprio GWT que seria ótimo por receber eventos tanto de teclado quanto de mouse (o que não achei nos outros componentes que pesquisei - ou recebiam eventos do mouse ou do teclado, nunca de ambos) mas infelizmente
não suporta mais de um componente, ou seja, podemos ter apenas uma imagem dentro dele.

Um teste rápido que fiz (apenas para testar uma ideia do integrante Izepe) foi colocar quatro desses painéis um ao lado do outro. Um deles tinha uma imagem representando um personagem e os demais seriam o background. Funcionou muito bem (o personagem andava de acordo com as setas que eu pressionava no teclado) mas ainda assim, creio que seria um método ineficiente para resolver nosso problema, tendo em vista que seriam necessários, ao menos, 100 desses painéis (para termos uma tela com 250x250 pixels de tamanho).

Fora GWT, dei uma olhada em tutoriais para programação de jogos com java no youtube (do canal TheNewBoston- recomendo) e um pouco sobre I/O para transferência dos dados,
o que, sinceramente, me deu muita dor de cabeça...

Acho que ficou por isso mesmo. Não é muita coisa, na verdade, achei insatisfatórios meus resultados, porque não culminaram em nada concreto, apenas acumulo de conhecimento que não poderá ser aplicado. Mas enfim, é melhor do que nada.

Se alguém tiver alguma sugestão (seja do meu grupo ou dos demais), estou aberto a elas.
Continuarei as minhas pesquisas, e se não conseguir nada, tentarei montar manualmente a biblioteca do ForPlay (há um tutorial - não muito bom - sobre isso no site do projeto).

Em última instancia teremos de abortar o uso de GWT por falta de recursos compatíveis com a ideia e desenvolver uma aplicação desktop (que provavelmente terá todas as funções citadas na apresentação do projeto e talvez mais, por ser algo um pouco mais fácil de se desenvolver).

Sem mais, Victor Lucki.

LINKS:

3 comentários:

  1. Um outro painel que suporta varios outros componentes, não resolveria o "não suporta mais de um componente" ?

    Widget que é o que o FocusPanel recebe no construtor é a base de outros objetos visuais incluindo Panel

    ResponderExcluir
  2. Sobre a questão de colocar vários paineis para movimentar o desenho : um CellPanel ou AbsolutePanel permitem mudar a posição do objeto dentro do painel. Só tem que tomar cuidado com a questão do tamanho da janela do usuário.

    ResponderExcluir
  3. ForPlay: não sei se é a melhor opção mas entre começar do zero e de uma biblioteca Alpha, talvez o Alpha seja melhor e vocês participam do desenvolvimento da biblioteca.
    Só precisa ver se os objetivos dessa biblioteca atendem as necessidades do seu jogo e vocês podem até tira-la do alpha.

    ResponderExcluir