Mostrando postagens com marcador Remake. Mostrar todas as postagens
Mostrando postagens com marcador Remake. Mostrar todas as postagens

quinta-feira, janeiro 07, 2010

XNA Freeway - Remake

Quem acompanha o blog já deve ter percebido que eu gosto de fazer remakes. Que eu me lembre, já foi o Frogger, Pong, Breakout, Space Invaders (mais de um, na verdade), Pacman e Glug Glug. O motivo é bem simples: os remakes me permitem focar o estudo em uma linguagem, ferramenta ou técnica sem ter que passar por toda a parte de planejamento e game design. Como o meu foco sempre foi muito mais no desenvolvimento do que na criação, essa é uma boa maneira de aprender.

[Ainda assim a área de criação me atrai, com o tempo eu gostaria de criar mais jogos originais (como é o caso do Gosmotrix, feito em parceria com amigos da faculdade, e do Paraquedismo).]

Nos últimos dias eu criei um remake do jogo Freeway, do Atari, utilizando o XNA. A idéia foi recriar o jogo original e fazer somente algumas modificações menores que eu achei necessárias (como o menu na parte de baixo da tela para configuração do jogo). Se bem me lembro, comecei o projeto no último sábado e na terça-feira ele já estava praticamente concluído. De lá pra cá fiz apenas correções de uns bugs e a documentação do código.


Bem, para o desenvolvimento eu usei como base o original (jogado no emulador Stella), e o manual e o FAQ do jogo, que me ajudaram bastante a entender alguns de seus detalhes (especialmente o FAQ, que detalha a velocidade dos veículos, seu espaçamento, direção...).

Foram feitas somente as quatro primeiras fases. Segundo o FAQ, as fases seguintes são repetições das primeiras, apenas com diferença na velocidade dos veículos, portanto eu não cheguei a desenvolver esta parte.

Neste projeto deu pra brincar com algumas coisas legais do XNA, como o uso de GamePads, a utilização de GameComponentCollection e seus eventos, e alguns detalhes legais sobre como tirar screenshots usando Threads e o método EndDraw, baseado no código de Nick Gravelyn. Por isso só já vale a pena ter perdido umas horinhas no seu desenvolvimento.

Pra quem tiver interesse, eu estou disponibilizando juntamente com o jogo seu código-fonte completo. As instruções de como jogar estão em um arquivo de texto dentro do zip. O download pode ser feito aqui e comentários são sempre bem-vindos.

Por fim, uma questão filosófica: Por que mesmo a galinha atravessou a rua?! Talvez pra ganhar uns pontos...

quinta-feira, dezembro 31, 2009

Glug Glug - Remake

Em agosto deste ano eu fiz um remake do jogo Glug Glug (um jogo originalmente lançado na década de 80 para o ZX Spectrum) utilizando o XNA Game Studio. Para quem não conhece, no jogo você controla um mergulhador que deve ir até o fundo do mar resgatar alguns baús com tesouros e trazê-los de volta ao navio. Isto, é claro, evitando ser atacado por piranhas, tubarões e outras criaturas marinhas.

Menu principal do jogo. Clique para ampliar.
O jogo é bastante simples, mas tem uns conceitos legais (como o tubo de oxigênio ser cortado caso seja atingido por um tubarão). Ao invés de repetir as fases originais, eu criei uma forma das fases serem geradas aleatoriamente, onde cada tipo de inimigo tem uma chance diferente de aparecer. Nas últimas fases a porcentagem dos tubarões, por exemplo, é bem maior que nas primeiras. Ao todo foram criadas sete fases, mas é bem fácil adicionar novos níveis.

Eu me preocupei em fazer um jogo simples e rápido. A implementação de todo o jogo levou cerca de duas semanas, em seções esporádicas de programação, já que eu estava a todo vapor com o mestrado e o projeto da Direção Defensiva na época. Por isso mesmo, fora da tela de jogo a interface é bem pobre, ao invés de botões pressionáveis com o mouse, o usuário apenas tem que apertar os números correspondentes às opções. Não há grandes configurações possíveis, apenas se o jogo deve rodar em modo janela ou tela cheia.

Tela de jogo. Clique para ampliar.
Os gráficos foram todos reaproveitados do jogo original, tirados deste link, mas eles foram redimensionados (no Paint mesmo) para permitir trabalhar com uma resolução mais alta. É claro que são gráficos bem pobres, mas eu acho que esses jogos antigos pixelados têm seu charme. Segue um vídeo do jogo, feito durante seu desenvolvimento.



Ficaram faltando alguns detalhes, especialmente uma música e outros efeitos sonoros (atualmente só o tiro faz algum barulho). Também seria interessante colocar algum tipo de ranking, mas eu não cheguei a mexer nessa parte.

O download, para quem se interessar, pode ser feito aqui. O arquivo inclui o executável do jogo e seu código-fonte completo. Qualquer observação que queiram fazer sobre o jogo, sintam-se à vontade.

Importante: para jogar, é preciso ter ao menos o XNA 3.1 Redistributable instalado. Quem não tiver, pode fazer o download aqui.