Arquivo da categoria ‘Snake Clone’

Apesar do atraso para liberar este release, não deixei de trabalhar no Snake Clone. As mudanças foram poucas, mas o projeto já está em sua reta final.

Mudanças:

  • Corrigido bug na saída do programa, agora não dá mais erro (pelo menos nos testes que fiz).
  • Aumentei o tamanho dos tiles de 20×20 para 32×32 pixels;
  • Criei uma tela de créditos, com o autor do projeto e libs / recursos utilizados.
Tela de créditos

Tela de créditos

Próximos passos:

  • Criar gráficos mais de acordo com a temática do Snake;
  • Encerrar o projeto! 😀

Como dito acima, o release 5 da semana que vem deve ser o último com mudanças significativas, já que consegui atingir o meu objetivo: criar um jogo completo, ainda que simples. Digo que “deve”, pois posso ter mais alguma idéia e novos releases serão gerados. Mas não vou seguir a regra de fazê-los toda segunda-feira.

Após o último release, pretendo focar no código-fonte:

  • Limpeza (retirar variáveis que não uso mais, apagar código comentado, etc.);
  • Documentação ao estilo Doxygen;
  • Utilizar uma ferramenta de profiling (provavelmente o gprof) para otimizar possíveis gargalos;
  • Liberar o código-fonte para estudo.

Download

Faça o download aqui.

Snake Clone Release 3

Publicado: 31 agosto, 2009 em Games, Programação, Snake Clone

Update da semana!

O Snake Clone vai caminhando a passos lentos, porém está avançando! 😀

Neste release temos os menus funcionando corretamente,  com um menu de opções para configurar as características (algumas ainda) do jogo.

Imagens:

Menu Principal

Menu de opções

Outras mudanças:

  • Suporte a screenshots. As telas deste post foram retiradas usando o jogo, e não o PrintScreen do Windows. Bem mais cômodo 🙂
  • Exibição de mensagens informativas no alto da tela. Por exemplo, quando se tira uma screenshot, aparece algo como “Screenshot <caminho-e-nome-do-arquivo> saved.”
  • Adicionados 2 campos ao arquivo de configuração:  resolution_w e resolution_h, substituindo o campo resolution anterior (devo voltar para um campo apenas no próximo release, e deixar configurável nas opções).

Fique atento ao LEIAME.txt que vem no release. Lá tem as descrições dos controles e informações gerais.

Próximo release:

  • Vou dar um tempo nas funcionalidades para focar na correção do bug que acontece quando se sai do jogo (um crash inofensivo, porém irritante).

Download:

Clique aqui para baixar.

Fiz alguns progressos na confecção dos menus. Criei um conjunto de classes que me permitam:

  • Criar um menu novo e posicioná-lo;
  • Adicionar items a este menu;
  • Desenhá-lo;
  • Executar as ações associadas a cada item através do ENTER.

No caso da imagem abaixo, tenho um Menu com 3 itens: New Game (Novo Jogo), Options (Opções) e Exit (Sair).

Tela de título, agora com Menu.

Cada item tem seu comportamento específico. Neste caso aqui, cada item vai levar a uma tela diferente. New Game vai levar à tela de jogo, Options, à tela de opções, e Exit vai sair do jogo. Outro comportamento planejado  para um item de menu será alterar valores, que é o que será feito quando a parte de Opções estiver funcionando.

Outra melhoria feita desde o último release foi a correção da transparência de alguns objetos, como a cobrinha e a comida. Mudei alguns gráficos também para ficar mais de acordo com o que eu quero, mas vai melhorar ainda. As imagens estão numa resolução muito ruim, tive que redimensionar os tiles de 32×32 para 20×20, perdendo qualidade. Das duas uma: ou farei tiles no Paint com a resolução 20×20 ou passarei a usar tiles 32×32 (mais provável, porquê sou muito ruim de desenho).

Problema das transparências corrigido

Espero estar com toda a etapa do menu em ordem até segunda-feira (31/08/2009). Aí então, solto uma nova versão do jogo.

  • Adicionado suporte a fontes True Type através da biblioteca AllegTTF. Pra utilizá-la, tive que compilar o projeto com a versão dinâmica da Allegro. Na versão anterior, Allegro era ligada estaticamente. O arquivo (alleg42.dll) está incluso no download. A fonte utilizada está na pasta /data.
  • Tela de título:

Tela de título

  • Tela de jogo reorganizada:

Tela de jogo reorganizada.

  • Tela de fim de jogo:

Tela de Fim de Jogo

As telas estão bem simples, porém funcionais. Melhorias em breve.

O que pretendo para o próximo release:

  • Implementar os menus.

E, possível, mas não obrigatóriamente:

  • Configurar o jogo a partir de um menu Options.

Link para dowload da versão 2 aqui.

Como prometido no meu post anterior, segue o link para o meu mais recente jogo, Snake Clone. Como é uma versão preliminar, não há nenhuma perfumaria, está sem acabamento e com vários bugs. Mas já é jogável, e é possível inclusive adicionar novos mapas. As instruções estão contidas no download. Não deixe de ler.

Link: Snake Clone

A partir de hoje, farei lançamentos semanais do jogo, toda segunda-feira, conforme for progredindo. Assim, poderemos acompanhar a evolução passo-a-passo.

Fala, pessoal!

Tirando um pouco da poeira do blog, após mais de 1 ano sem postar, revelo um novo projeto de jogo independente: um clone do clássico dos telefones celulares Snake.

snake

Eu já tinha começado a programá-lo há pelo menos dois anos, mas depois acabei encostando. Esses dias fiz uma faxina no meu PC e encontrei o código-fonte do jogo. Resolvi retomar, e dessa vez vou até o final (a imensa maioria dos joguinhos que comecei a fazer, acabava desanimando e parando no meio).

Características:

  • Feito em C++ e Allegro;
  • Sprites fornecidos pela SpriteLib;
  • Edição de fases via Paint, e conversão das imagens em arquivos-texto via um programinha que fiz, idéia retirada deste post do blog Portal C++ – Diogo_RGB;
  • Suporte a diferentes “temas” (grupos de imagens para mudar o visual do jogo);
  • Possibilidade de modificar parâmetros do jogo, como velocidade, sequência de fases e pontuação necessária para passar de nível via arquivo de configuração externo;

Ainda falta:

  • Criar as telas de abertura, fim de jogo e congratulações (quando se termina todas as fases);
  • Criar os menus e opções configuráveis de dentro do jogo;
  • Consertar os bugs ainda existentes;
  • Arrumar sprites melhores pra representar a cobrinha (os mostrados na imagem são provisórios). Aceito sugestões!

Pra não ficar mais enrolando, na próxima segunda, dia 17/08/2009, independente do que tiver conseguido realizar, vou publicar o jogo. Aguardem!