Snake Clone Release 4 (atrasado)

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! :-D

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

Update da semana!

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

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.

Snake Clone: Progressos 27/08/2009

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.

Snake Clone release 2 (24/08/2009)

  • 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.

Versão preliminar do Snake Clone

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.

Novo Projeto: Clone Jogo da Cobrinha

13 agosto, 2009 sejaoriginal 1 comentário

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!

Jogo brasileiro: Transportando o Brasil

13 novembro, 2008 sejaoriginal 1 comentário

A Dynamic Games está desenvolvendo um jogo 100% nacional, entitulado Transportando o Brasil.

O jogo, segundo o site,  te coloca no papel de um pai de família que tem que dar o melhor de si na tentativa diária de dar uma vida melhor para sua mulher e filhos.

Pelas fotos, o jogo parece bonito. Ainda não vi vídeos (estou no trabalho e o Youtube é bloqueado) mas colocarei impressões mais precisas após vê-los em casa.

De qualquer forma, a iniciativa é válida e eu deixo aqui registrados os meus parabéns aos desenvolvedores. Num mercado pouco incentivado como o de jogos no Brasil, qualquer atitude é válida, e o passo é importantíssimo para a maturidade desse mercado.

Review: Shadow of the Colossus

7 novembro, 2008 sejaoriginal 1 comentário

E aqui está; como prometido, meu review e impressões deste clássico, Shadow of the Colossus!

Capa do jogo

Capa do jogo

Introdução

Shadow of the Colossus, título para Playstation 2, foi desenvolvido e publicado pela Sony Computer Entertainment. O designer responsável é o já lendário Fumito Ueda, responsável por outro clássico cult, Ico. O jogo quebrou paradigmas para a época em que foi lançado, introduzindo um novo conceito de jogabilidade, onde você enfrenta apenas chefes. Hoje em dia, é aclamado como um clássico e um dos melhores jogos do Playstation 2.

História

O jogo conta a história de um rapaz misterioso, Wander (convenciona-se que é esse nome, apesar de não ser mencionado no jogo em nenhum momento), e seu esforço para ressucitar a jovem Mono, morta em um sacrifício. Para isso, ele viaja, levando o corpo dela, até um templo da chamada “Terra Proibida” em busca do ser superior / entidade Dormin, que possui o poder para “trazer as almas de volta a seus corpos”.

Nosso herói, Wander, e Mono.

Nosso herói, Wander, e Mono.

Dormin diz a Wander que, para ressucitar Mono, ele deve cumprir um ritual que consiste em viajar pela Terra Proibida, encontrar e derrotar os 16 colossos que lá habitam, avisando que o preço a pagar por isso é alto. Wander diz que não se importa e parte com seu fiel cavalo, Agro, em busca dos gigantes.

Ambientação

O mundo de Shadow of the Colossus é vasto e bonito. Desertos, florestas, planícies, montanhas, templos e ruínas compõem os belíssimos cenários que você vai encontrar ao longo da aventura. Seja procurando pelo próximo colosso a derrotar, seja dando apenas um passeio, você vai passar por lugares que vão te dar vontade de parar e admirar.

O jogo faz um belo trabalho em transmitir uma atmosfera de solidão, pois na maior parte do tempo você vai estar andando pelo mundo, seja a pé, ou cavalgando em Agro (que aliás é seu único aliado na história). Não há personagens adicionais pra interagir, não há cidades, pessoas, nem inimigos no meio do caminho. Apenas você, Agro, o ambiente, e o colosso que o aguarda no seu habitat natural. Apesar de no início parecer monótono, com o tempo o jogador entra no clima, e desfruta dessa característica que o jogo tem a oferecer.

Encontrando um colosso, a serenidade da viagem dá lugar à ação: Wander precisa, de alguma forma, desviar dos ataques do monstro e matá-lo, atacando seu ponto fraco com a espada. O problema é que você é insignificante perante o tamanho dessas bestas: algumas são maiores do que montanhas, e podem esmagá-lo com um simples golpe, quase te matando. O habitat dos colossos varia entre descampados, templos, lagos e desertos, todos igualmente belos.

Tá frio ai em cima?

Tá frio aí em cima?

Nota: 10

Gráficos

Como dito na seção anterior, os cenários de Shadow of the Colossus são lindos, verdadeiros paraísos. Muito se deve à engine gráfica do jogo, que, mesmo sendo de 2005, consegue extrair grande parte do potencial do PS2. Enquanto você navega pelo cenário, não há load times para transicionar os ambientes, o que adiciona à experiência.

Outro ponto positivo é a ausência de técnicas consagradas como fog (neblina) para esconder partes do mapa que ainda não foram renderizadas. O jogo utiliza imagens borradas no horizonte para simular a distância, e conforme o personagem se aproxima, ocorre a transição suave para o modelo 3D correspondente (mais detalhes aqui; Ctrl+F e procure por “Landscape Rendering”). Isso adiciona muito para a noção de vastidão do mundo.

Os colossos também são criados com maestria. Mesmo sendo enormes e com contagem poligonal razoável, são poucos os slowdowns (momentos de lentidão no jogo) percebidos. Os colossos tem várias formas e tamanhos, mas não vou revelar muito, pra não estragar a surpresa de quem for jogar eventualmente.

Existem vários bugs na parte gráfica, como alguns poucos objetos aparecendo na tela de repente, alguns momentos em que o personagem simplesmente ‘entrava’ nos objetos ou no chão do cenário, e alguns glitches de renderização aqui e ali. Nada que prejudique a experiência total do jogo, mas por conta disso a parte gráfica não recebe o 10.

Nota: 9.

Som

O som cumpre o seu papel nos dois momentos distintos de Shadow:

  • Quando você está explorando, não há música, apenas o som do vento, da água e dos animais selvagens, além das galopadas do seu cavalo; isso contribui para o clima solitário da aventura.
  • Quando você encontra o colosso, “entra em cena” a música: ela dita o ritmo da batalha, misteriosa quando você procura alcançá-los, feroz e emocionante quando você os domina e luta para atingí-los, e dramática quando eles finalmente tombam, derrotados. As melodias são orquestradas, e totalmente inesquecíveis.

Nota: 10

Jogabilidade

Simplicidade é a palavra-chave. Explico:

- Não há upgrades de habilidades: Wander vai do início ao fim do jogo com os mesmos movimentos sempre. Nada de comprar ou aprender um novo golpe, combo ou acrobacia; os únicos upgrades são a barra de energia e de grip, que aumentam a cada chefe derrotado;

- O jogo se desenrola em ciclos; basicamente, você caça o ‘colosso da vez’, derrota-o e retorna ao templo, só para repetir tudo;

- Ao enfrentar um colosso, a maior dificuldade (e aqui entra um aspecto de puzzle, ou quebra-cabeça) é descobrir como subir nele, para escalá-lo e atingir seu ponto fraco. Uma vez descoberto, derrotá-lo é uma questão de paciência.

A jogabilidade de Agro é fantástica; nunca andei de cavalo na vida, mas me senti como se estivesse. A experiência mais próxima de cavalgada que tive em um jogo foi em The Legend of Zelda: Ocarina of Time, e Shadow veio pra elevar o padrão. É simplesmente apaixonante.

Há alguns problemas na jogabilidade, o mais notório deles é a câmera que algumas vezes atrapalha quando se está no clímax de uma batalha; felizmente, ela é livre e pode ser ajustada, o que atenua um pouco o problema.

Replay

Infelizmente, Shadow of the Colossus é um jogo curto; chuto que, em 10 horas, um jogador mediano pode terminá-lo; se for mais dedicado, em 7 ou 8 horas.
Quando o jogo é terminado, abre-se o a dificuldade [i]Hard[/i]; ainda não joguei este pra saber como é, então não posso opinar. Também é destravada a opção de [i]Time Attack[/i], e é possível obter mais armas e upgrades para as existentes. Fora isso, não há muitas opções a não ser reviver toda a aventura novamente.

Nota: 8

Diversão

O principal fator de diversão da aventura é o combate com os colossos. O jogo te proporciona momentos heróicos ao derrubar monstros enormes, mesmo com recursos limitados e sendo tão pequeno em relação a eles.

Cavalgar em Agro é uma experiência única, como nunca vista antes desde The Legend of Zelda: Ocarina of Time.

Pra quem, como eu, curte exploração, poder viajar pela imensidão da Terra Proibida será responsável por muitas horas acrescidas na contagem final ao terminar o jogo. Eu perdi horas só futucando cada cantinho, usando a câmera livre pra contemplar planícies, o mar aberto, construções, desfiladeiros, pontes e até mesmo os colossos em movimento, são lindos demais.

Conclusão

Shadow of the Colossus foi um dinheiro muito bem gasto. Uma obra de arte em forma de jogo (tá, isso foi um clichê) que todo dono de PS2 que se preze deve ter para mostrar aos seus filhos.

Prós

  • Cavalgar em Agro;
  • A imensidão dos colossos;
  • Mundo vasto e belo a ser explorado.

Contras

  • Alguns slowdowns e quedas de frame-rate
  • Jogo muito curto;
  • A câmera atrapalha em alguns momentos mais críticos.

Créditos:

As imagens foram retiradas da Wikipedia e do making-of de Shadow of the Colossus.

Além de algumas que foram caçadas pelo Google Imagens.

Making of de Shadow of the Colossus

Como dito no meu post anterior, comprei e terminei o épico Shadow of the Colossus. Estou elaborando um post com minhas impressões do jogo (sai na próxima sexta), mas se você tiver curiosidade suficiente pode conferir uma tradução do making-of do jogo aqui (em inglês; o original é em japonês, se não me engano).

Modelando e configurando o monstrengo

Configuração da dinâmica de movimento do colosso

Destaco a explicação de como foram evitados os loading-times e as técnicas de landscape rendering para evitar a famosa técnica de Distance Fog. Não menos interessantes são os sistemas de colisão e deformação usados nos colossos. Várias fotos explicam as técnicas, e vou roubar algumas para o meu review :D

CategoriasGames, Programação

Retorno das ‘férias’

4 novembro, 2008 sejaoriginal 1 comentário

Já faz quase dois meses desde o meu último post, mas não, este blog não está morto!

Recentemente consegui colocar Velox aqui em casa, então agora vou poder postar com mais freqüência. Antes, sem Internet, tinha que postar do trabalho, e obviamente não conseguia fazê-lo à vontade como desejava.

Agora vou manter uma regularidade de pelo menos 1 post por semana.

Neste período sem postar rolaram algumas coisas legais:

  • Shadow of the Colossus: adquiri esta maravilha em forma de jogo para Playstation 2 e já o terminei; vou preparar um post com um review pessoal.
  • Python: estou começando a aprender, e gostando muito. Vou confeccionar um tutorial básico com o que aprendi, mas talvez seja mais útil um post com os links que estou usando pra estudar; tutoriais de Python são abundantes, e o material é de muito boa qualidade;
  • Delicious: nunca tinha dado bola, mas agora que comecei a usar vi como é útil ter os seus favoritos disponíveis onde quer que se esteja; se quiser dê uma conferida;
  • Japonês: estou interessadíssimo em aprender, mas ainda estou reunindo material online; aprendi inglês jogando video-game, mas não sei se com o japonês vai ser tão simples assim.

Bem, por enquanto é isso. Sexta-feira tem post! Até lá!

CategoriasOutros