Caio
unread,Jun 15, 2012, 6:21:17 PM6/15/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to mc613_2012_s1
Pessoal,
infelizmente a placa tem uma memória limitada. Isso é ruim do ponto de vista do potencial que vocês poderiam explorar, mas didaticamente eu encaro como uma oportunidade. Vocês como profissionais vão acabar lidando com situações assim novamente.
O que dá para fazer para lidar com as limitações:
1) Usar o máximo possível da memória, mas com o risco de ficar sem espaço para outras utilizações. A placa tem 212992 bits para memória, então, é possível trabalhar com resoluções como 320x220 e 3 bits de cores ou 352x200 e 3 bits cores.
2) Diminuir o número de bits de cores. Você pode usar 320x240 com 2 bits de cores.
3) Usar memória externa. É a melhor opção de todas, contudo, não costumam ser fáceis de trabalhar. A SRAM provavelmente é a mais simples. A SDRAM eu não sei como é implementada na placa, mas se vocês tiverem que fazer o controlador dela, isso seria um projeto a parte, portanto, ela seria inviável. Na época do meu projeto, também havia me deparado com esse problema de
resolução. Eu tentei usar as memórias externa, mas depois uma tarde
inteira sem sucesso e correndo contra o tempo, optei pela opção 2.
4) Remover do VGACON a dependência de uma memória. Você pode fazer um controlador vídeo que use a memória interna junto de registradores e assim alcançar o número de bits que você deseja.
Agora o mais importante é, antes de vocês gastarem seu tempo precioso tentando uma dessas soluções, preocupem-se em deixar o projeto funcional. Com todo grupo que eu tenho conversado eu tenho insistido para usarem uma matriz (na memória) para lógica do jogo. Essa matriz será lida pelo controlador de vídeo do seu jogo e ele enviará ao vgacon os pixels que devem ser escrito na tela.
Se essa ideia for implementada, uma vez que o projeto esteja ok, vocês só precisarão mudar os componentes que lidam com os pixels e o vga, para melhorar o gráfico e nada mais.
Outra coisa é a demonstração do jogo. Um jogo que os tiros atravessam o alvo, sendo que deviam detruí-lo, objetos que mudam de posição sozinhos, mas não deviam, pontos que não contam e outras bizarrices, mostram um jogo imaturo. As vezes mostram erros conceituais, máquinas de estados erradas, latches inferidos, etc. Isso é pior do que um jogo com gráfico simples, mas que esteja plenamente funcional.
Quem tiver dúvidas, envie e-mail para a lista, talvez uma resposta ajude mais do que apenas um grupo. Semana que vem que quiser ajuda fora do horário de atendimento mande e-mail para marcar um horário.
--
Atenciosamente,
Caio.