Engine:pt
From NS2 community wiki
NS2 vai utilizar um, ainda a ser nomeado, engine de jogo desenvolvido por Max.
Contents |
Gráficos
O engine utiliza luz e sombra dinâmicos em tudo que existe no mapa. Uma demonstração em vídeo pode ser assistida no Videocast #5.
O engine utiliza Direct3D (post de Fórum por Max), DirectX 9 (post de Fórum por Max), e shader model 2.0 (entrevista Readyroom).
Motion Blur (borrão de movimento) está implementado na ferramenta cinemática e pode ser usada no jogo (post de Fórum por Max).
Câmeras podem ser acopladas à modelos (cite, explique o que isso significa).
Occlusion culling (refugo de oclusão) é assitido por hardware, feito em tempo real, utilizando uma implementação do algorítmo CHC++. Este método é adequado tanto para ambientes internos quanto externos, reduzindo a limitação de modos de jogo que possam ser criados (post de Blog, post de Fórum por Charlie).
Dynamic Infestation
Veja Dynamic Infestation.
Interface
A HUD utiliza o formato popular Flash. Nota: o engine não utilizará o Adobe Flash Player, mas algo como GameSWF ou um interpretador customizado (post de Fórum por Max).
Código de Jogabilidade
O código de jogabilidade está escrito em LUA.
Física
Código de Rede
Usa um código customizado que pega idéias empresatadas do Half-Life e Quake 3 (post de Fórum por Max).
Áudio
Utiliza a biblioteca de áudio FMOD (entrevista Readyroom), e o formato de áudio OGG (post de Fórum por Max).
Terá carregamento automático. Isso significa que quando você mudar o arquivo de som você poderá ouvir as mudanças imediatamente dentro do jogo. (post de Twitter)
História do Engine de jogo
A equipe inicialmente planejou utilizar o engine Source e a mudança para o engine próprio for anunciada em Julho de 2008 (Podcast #26). Três meses antes do anúncio o estudo de viabilidade da mudança de engines havia começado, com Max adicionando movimento de jogador à um engine "Maxor" já existente, que ele vinha desenvolvendo há alguns anos para outros propósitos. No momento do anúncio o engine próprio já estava além do estágio em que estavam com o engine Source, e especificamente os elementos a seguir já haviam sido implementados: gráficos, código de jogabilidade, física, rede, movimento dos jogadores, ragdolls, e animação de modelos.
As razões para a mudança foram:
- Limitações do engine Source.
- A grande quantidade de trabalho necessária para adequar o engine Source às necessidades do NS2.
- O maior tempo de desenvolvimento necessário quando se trabalha com o engine Source. Por exemplo, luz dinâmica significa nenhuma pré-computação enquanto mapas são desenvolvidos, permitindo que o desenvolvedor veja mudanças instantaneamente em vez de ser obrigado a esperar pela compilação.
- Falta de familiaridade com o engine Source.
- Considerações de negócios da toolchain.
