A comunidade brasileira de desenvolvimento e programação de jogos.
Framework

Framework para jogos estilo Tetris 

Autor: jonathascosta
OBJETIVOS

O objetivo principal do projeto é desenvolver um framework para construção de jogos estilo Tetris.

Objetivos secundários são: facilidade de criação de novas peças, personalização da entrada de dados e separação da camada de interface gráfica da camada lógica do jogo.

E por último, permitir o desenvolvimento mais fácil através da extensão das propriedades do framework.



REQUISITOS

O sistema foi desenvolvido na linguagem C++. Os compiladores utilizados foram MS Visual C++ 7.0 (Visual Studio .NET 2003) e Borland C++ Compiler 5.5. O compilador da Microsoft foi utilizado para compilar o framework enquanto que o compilador da Borlando foi utilizado para criar um jogo de exemplo baseado no framework.

A plataforma utilizada para testes foi Windows XP Home Edition e Windows XP Professional.



ESPECIFICAÇÃO

CArena representa a arena do jogo onde os blocos “caem”. Contém métodos para incorporar a peça corrente à arena, inserir uma nova peça no jogo, mover peças e limpar linhas.

CBiblioteca representa a coleção de peças disponíveis no jogo. Contém métodos que carregam a biblioteca a partir de um arquivo texto (biblioteca.txt) e métodos para acessar as peças disponíveis.

CConfiguracao armazena as configurações de personalização do jogo, como por exemplo as teclas utilizadas para movimentar as peças na arena, o intervalo de tempo inicial de queda das peças e a largura e altura da arena.

CCronometro gerencia a velocidade do jogo, medindo o tempo entre as atualizações do jogo.

CExibicao é uma interface que deve ser extendida na implementação de um jogo. Deve ser utilizada na herança de exibidores. Representa a camada de apresentação (interface gráfica).

CPeca representa uma peça do jogo com as características de tamanho, formato e cor. Contém métodos de manipulação de uma peça dentro do jogo, como mover, girar etc.

CTetris gerencia as regras do jogo harmonizando a interação entre as demais classes.

Descrições mais detalhadas destas classes, tais como, assertivas de métodos, valores retornados, entre outras propriedades estão disponíveis nos módulos de definição das mesmas.



ROTEIRO DE TESTES

Foi utilizado um processo automatizado de testes baseado no documento “Arcabouço para Automação de Testes de Programas” [Staa 2003]. Foram criados módulos de testes e scripts para cada uma das classes do framework.

Este processo gera arquivos de log das operações solicitadas e estes logs, bem como os scripts de teste estão incluídos na documentação fornecida.

Além dos testes automatizados, foi criado um jogo de teste, o Textris, que utiliza o modo texto como exibidor. Este jogo testa o framework como um todo, todas as suas classes e métodos em uma aplicação real. O objetivo da construção deste jogo de teste é testar a completude do framework, verificando se ele possui todas as funções necessárias para criar minimamente um jogo, objetivo este que foi alcançado. Seu código fonte está incluído na documentação.



REFERÊNCIAS

[Staa 2003] Staa, A.v.; Arcabouço para Automação de Testes de Programas Redigidos em C. Monografia em Ciências da Computação, PUC Rio - Departamento de Informática; 2003

[Staa 2000] Staa, A.v.; Programação Modular; Rio de Janeiro; Campus 2000

[Howland] Howland G.; How Do I Make Games?: A Path to Game Development; URL: http://www.gamedev.net/reference/design/features/ makegames

[Jamsa/Klander 1999] Jamsa K., Klander L.; Programando em C/C++ - A Bíblia - O Melhor Guia Para a Programação em C/C++; São Paulo; Makron Books; 1999
  Cadastro: 05/01/2006
Atualização: 05/01/2006
Status: 050% concluído
Views: 700

Arquivos 

Códifo fonte, Documentação, Testes e Piloto (05/01/2006 12:29)

Discussão 

 

Entrar no Tópico

jonathascosta Legal você ter gostado. Valeu pelo feedback positivo. Este Framework foi projetado para ser expandido (como qualquer framework). Principalmente a classe CExibicao que na verdade funciona como uma interface (ou classe base) para construção de novas UIs. A próxima meta é criar uma outra forma de exibição. Atualmente só existe a forma textual (através da classe CExibicaoTexto) que foi utilizada no projeto piloto, o Textris.
durfos Cara gostei do seu projeto, muito interessante, aliás eu numca vi um Framework para jogos estilo Tetris. Seu Framework tambêm tem uma ótima documentação e as classes estão bem documentadas. Só tenho elogios cara, alías vou dar uma boa olhada nos fontes. Se você tiver a oportunidade de ver, eu também tenho um Framework em construção: Aguardo a sua opinião.
jonathascosta Este foi meu projeto de Programação na faculdade. Sempre tive vontade de construir este framework. Agora que ele está em versão estável, pretendo expandi-lo, colocando novas funcionalidades. Sintam-se a vontade para opinarem. Principalmente criticar! Críticas são muito bem-vindas! O link para acessá-lo é Segue abaixo um pequeno resumo da especificação do projeto. O framework foi desenvolvido na linguagem C++. Os compiladores utilizados foram MS Visual C++ 7.0 (Visual Studio .NET 2003) e Borland C++ Compiler 5.5. O compilador da Microsoft foi utilizado para compilar o framework enquanto que o compilador da Borlando foi utilizado para criar um jogo de exemplo (piloto) baseado no framework. A plataforma utilizada para testes foi Windows XP Home Edition e Windows XP Professional.

Desenvolvido e administrado por: Luiz Pestana (2004 - 2011)