|
|
TechDesign
Documento de Projeto com detalhamento das interfaces entre os módulos do jogo.
Introdução
Detalhamento dos módulos do jogo e interfaces de comunicação entre os mesmos.
Módulos
Inicialização, loop principal e finalização
Inicialização
- SDL
- OpenGL
- OpenAL
- ZoidCom (Networking library)
- ODE
Loop principal
...
Finalização
Todas as bibliotecas acima listadas na seção de "Inicialização".
Geração dinâmica do "Ghost Path"
"Ghost Path"
O caminho será gerado dinamicamente e deverá se conformar às seguintes restrições:
- Comprimento inicial em que o caminho já terá antes da visualização inicial pelo usuário. Tal comprimento é a distância máxima que o usuário está limitado a ver (devido à escuridão, neblina, poeira ou qualquer outra coisa que restrinja sua visibilidade)
- Velocidade horizontal da nave
- Gravidade
- Comandos de navegação (restritos à velocidade máxima que um usuário poderia gerar os comandos) 50ms?
- Nível de dificuldade? (o qual influenciaria, por exemplo, na velocidade dos comandos de navegação)
Visualização do "Ghost Path"
Uma tecla (mais tarde um comando) habilita/desabilita a visualização do "Ghost Path".
Visualização
Ghost Path
...
Caverna
...
Painel de controle
Itens do painel de controle:
- ...
Luzes e sombras dinâmicas
...
Geração dinâmica da caverna
Caverna
A geometria da caverna será gerada dinamicamente e deverá se conformar às seguintes restrições:
- Ela terá uma forma básica de um cilindro
- O ponto central deste cilindro percorrerá o "ghost path"
- As paredes cilíndricas da caverna devem manter uma distância mínima em relação à nave. Tal distância mínima varia de acordo com o nível de dificuldade (o qual varia com a distância percorrida até um dado momento)
- As paredes cilíndricas são o Nível 0 da geração da malha, ou seja, sem acréscimo de detalhe geométrico procedural
- Há vários níveis de geração procedural (quanto maior o nível, mais iterações existem e, portanto, maior o tempo de processamento gasto), ...
Modos de visualização
- Wireframe
- Simple shading (uma luz direcionada para frente na parte da frente da nave)
- Com fog "de escuridão"
- Com textura
- Com bump mapping
- Com luzes (da nave e talvez fissuras na caverna que deixam a luz do sol entrar) e sombras dinâmicas
Obs.: Alguns dos modos são mutuamente exclusivos. Obs.: Inicialmente não haveria controle do usuário. Apenas haveria visualização passiva do ambiente através do "Ghost Path".
Modos de geração da caverna
Tais modos podem ser setados dinamicamente durante o jogo:
- Sem geração procedural de detalhes, Nível 0 (paredes cilíndricas da caverna)
- Nível 1 de geração procedural de detalhes
- Nível 2 de geração procedural de detalhes
- Nível 3 de geração procedural de detalhes
- Nível 4 de geração procedural de detalhes
- Nível 5 de geração procedural de detalhes
Comandos
Os comandos de navegação devem ser enviados do cliente para o servidor (mesmo em modo single player). O servidor por sua vez (local ou remoto) processa os comandos dos usuários e envia informações sobre os objetos alterados a todos os clientes. Os clientes então visualizam o mundo com os objetos atualizados pelo servidor.
Registrar eventos
Registrar os eventos de teclado e mouse via SDL. Os eventos estão divididos em:
- Comandos de controle
- Seleção de tipo de jogo
- Sair do jogo
- Salvar configuração
- Comandos de navegação
- Acionar propulsor para cima
- Acionar propulsor lateral direito e para cima
- Acionar propulsor lateral esquerdo e para cima
- Comandos de visualização
- Habilitar/desabilitar Wireframe
- Habilitar/desabilitar Simple shading
- Habilitar/desabilitar fog
- Habilitar/desabilitar textura
- Habilitar/desabilitar bump mapping
- Habilitar/desabilitar luzes e sombras dinâmicas
- Setar geração procedural de detalhes (níveis 0, 1, 2, 3, 4 ou 5)
Física e detecção de colisão
Equações que regem os movimentos
Ações:
- Acionar propulsor para cima
- Acionar propulsor lateral direito e para cima
- Acionar propulsor lateral esquerdo e para cima
?
?
?
Áudio
Som ambiente
Lista de sons ambientes:
- Som do foguete principal que impulsiona a nave para frente
Efeitos sonoros
Lista de efeitos sonoros:
- curto circuito (acompanhado de efeito visual no painel de controle, por exemplo)
- água: desde gotas caindo até cachoeiras
- explosão da nave
- foguetes laterais
- foguete que impulsiona nave para cima: pequeno acionamento, grande acionamento (por tempo prolongado), ?
- troca de nível de dificuldade
- bônus?
- radares laterais
- radares de teto e de chão (devem ser mais fortes que os laterais)
Música
- pré-gravada e cíclica
- procedural (varia de acordo com os movimentos da nave, da velocidade que o usuário entra com os comandos, das formas das paredes da caverna, de obstáculos, da iluminação da caverna etc.)
Camada de persistência
Arquivo de configuração por usuário
...
Arquivo de melhores scores
...
Arquivo de gravação de jogo
...
Sign in to add a comment
