Atualizado em 09 de Março de 2007
Implementar usando C++ e assembly um jogo sobre a plataforma Windows. Este será construído em 2 partes.
Requisitos obrigatórios para a primeira parte:
- O estilo do jogo é livre. No entanto, exige-se que ele tenha uma apresentação com animação, e que esta seja feita em assembly.
- O resto do jogo deve ser implementado em C++, contendo alguns trechos de código assembly inline, divididos da seguinte forma:
- 100 linhas em procedimentos.
- 1 acesso ao buffer do teclado em assembly.
- O jogo deve rodar na mesma velocidade, independente da máquina onde ele está sendo executado. A abertura, por ser uma animação, também deve atender a este requisito, mas deverá implementar esta rotina em assembly.
- Caso haja diferentes níveis de dificuldade no jogo, deverá haver uma "tecla secreta" para passar para o próximo nível.
- As opções básicas devem estar visíveis (o usuário não deve precisar perguntar como jogar, sair, jogar novamente, etc). Tal ajuda deve estar disponível dentro do jogo (i.e., não pode haver manual escrito à parte).
- Todos os códigos devem representar alguma funcionalidade.
- Entrega: 16/01/2007
Requisitos obrigatórios para a segunda parte:
- Todos os requisitos da primeira parte.
- Na segunda etapa, você deve alterar o seu jogo de forma a permitir
com que ele seja jogado de forma multi-player., i.e. vários
usuários jogando ao mesmo tempo (mínimo de dois).
- Para isso, deve ser construído um middleware que suporte a distribuição do sistema. Este middleware tem os seguintes requisitos:
- Por definição, ele deve abstrair a camada de rede do sistema, facilitando o trabalho de programação distribuída.
- A equipe deve implementar 2 serviços de middleware que sejam relevantes à aplicação.
- O middleware também deve ser implementado em C++ com CORBA.
- Entrega: 15/03/2007.
Checkpoints:
- Haverá dois checkpoints de acompanhamento com os monitores, fora do horário das aulas, nas seguintes datas:
- 02/12/2006, de 9:00 as 12:00 – Avaliação da proposta do jogo e orientação com relação à arquitetura. Até esta data, a equipe já deve ter definido qual será o tema central do jogo, e deve ter uma idéia de como será a implementação.
- 03/03/2007, de 9:00 as 12:00 – Orientação com relação à construção do middleware do jogo.
Critérios da Avaliação:
1a. parte
- Executando Sem Bugs
- Básico Assembly
- Velocidade Constante/Assembly
- Básico C++
- Colisão e Estágios
- Velocidade Constante/C ++
- Assembly In-Line
2a. parte
- Executando Sem Bugs
- Multi-Player
- 2 Serviços Midleware
- Midleware C++
Observações úteis:
- Assembly não é trivial. Não deixem para a última hora.
- Cuidem primeiro das funcionalidades básicas e deixem os adicionais para o final.
- Comentar código assembly é fundamental.
- Testem o projeto em diversas máquinas, com diferentes versões do Windows.
- Os monitores irão disponibilizar ferramentas e tutoriais que facilitem de alguma forma na implementação.
- Pensei em dividir o projeto desde a primeira parte, não deixam para
se preocupar com isso somente na segunda parte, quando pode ser tarde
demais!
- Recomendamos o uso da biblioteca Allegro, mas quaisquer bibliotecas podem ser usadas (OpenGL, etc...).
- Recomendamos o uso da IDE Visual Studio, para facilitar a integração com CORBA
Regras da 2a. Apresentação
- Não haverá adiamento
- O projeto deverá funcionar nos computadores do grad 3. (Caso o
assembly nao rode na maquina, ele poderá ser "separado" do jogo).
- TODAS as apresentações serão realizadas no dia 15/03/2007.
- As apresentações começarão as 16:00 e terminarão após a apresentação
do último projeto.
- A equipe estará dispensada após a apresentação de seu projeto.
- As 16:00 deverá ser entregue um cd com o projeto, suas dependencias
e um arquivo de texto, mostrando as configurações necessárias
(dependencias, bibliotecas e parametros) para a execução do mesmo.
- As equipes terão 5 minutos de tolerância para instalar o jogo. O
atraso resultará na perda 1 ponto a cada 10 minutos.
- TODOS os integrandes deverão estar presentes no momento da apresentação.
- A ordem das apresentações abaixo.
- Não haverá adiamento.
Ordem da Equipes - 2a. Apresentação
- 1. IES, FFA2, TVSD, CBHF, PAE, EAQN
- 2. VMF, VAP2, RASO
- 3. PRGA, RPM, MCTS, GAVS
- 4. FCAC, LPSR, TAVL, ABC, FAA
- 5. RCSR
- 6. MGR, AJSS, SSS4, RAS4, CLAC
- 7. FAAS, JGGXM, JPSO, LAMS
- 8. FCO, GBM, VCB, RCAA2, AILF
- 9. ERMA, AJCA, TFDS, GVFS2, JDSO, FAD
- 10. ALM, RMB3, SJBJ
- 11. BPN, DRSS2, CFA3, JCBLC
- 12. FINR, MDC, LHVS, SGOS, TMC
- 13. TGR, AGCJ, EJVM, NLN
- 14. NJ5J, TAN2, RML2, LAZS
- 15. DLL, IMC, IDAL, JPFB, LDSP, TLAM
- 16. Demais
|