Pergunta

Devido à falta de capital e tempo, estamos tendo que fazer o nosso jogo em 2D, embora me (o desenvolvedor) preferiria se fosse feito em 3D. Eu odiaria para os usuários a entrar no jogo, apenas para pensar os gráficos parecem ruins e sair. Embora eu suponho que nós apenas temos que tentar fazer o nosso melhor.

Dito isto, gostaria de desenvolver o jogo de tal forma a que, se o tempo vem, podemos porta para 3D tão facilmente quanto possível. Eu sei de jogos que tiveram que reescrever toda a coisa a partir do zero. Eu odiaria fazer isso, então eu gostaria de algumas dicas / orientações para usar quando a programação do jogo para que, quando passamos para 3D, vai ser tão simples como mudar o código de 1-5 Graphics Rendering aulas (ou próximo) e os gráficos 3D seria executado.

P.S É um jogo multiplayer RPG ( não um MMORPG, muito menor no escopo para agora)

Foi útil?

Solução

Devido à falta de capital e tempo estamos ter que fazer o nosso jogo em 2D mesmo embora me (o desenvolvedor) preferiria se fosse feito em 3D. Eu odiaria para usuários para entrar no jogo, apenas para pensar os gráficos parecem ruins e licença. Embora eu suponho que nós só tem que tentar e fazer o nosso melhor.

Eu não acho que tudo tem que ser em 3D para uma boa aparência. Bem feito 2D pode olhar muitas vezes melhor do que alguns padrão de gráficos 3D. Para ter grandes gráficos 3D você tem que investir algum esforço sério. Se o seu orçamento não permite isso, eu preferiria tentar colocar muito esforço no desenvolvimento de jogo.

Basta pensar (um pouco datado) Diablo II que não é 3D, mas ainda tem algumas agradáveis ??e com bom aspecto gráfico.

É certamente possível construir uma arquitetura que poderia torná-lo mais fácil de mudar a representação gráfica, mas eu acho que quase nunca vai ser tão simples como você descreveu. Claro, se você quer apenas 3D por causa do 3D que poderia ser feito (em vez de bitmaps agora renderizar modelos 3D), mas isso é um pouco inútil. Se você quiser usar o 3D o jogador deve ser capaz de fazer uso dele (por exemplo, movendo a câmera, ter mais graus de liberdade, ...), mas isso teria que ser considerada em todo o projeto do jogo e, assim, a sério afeta o jogo.

Outras dicas

A maneira mais simples de conseguir isso é para escrever o jogo em 3D, e tornar os pontos de vista usando um 3D para projeção 2D, por exemplo, em plano ou elevação. Se os jogos mecânicos internos são 2D e tentar mover para um verdadeiro quadro 3d, você provavelmente melhor fora com uma reescrita. Também depende a uma extensão do que você entende por 3D, e se você tem uma opção de mapeamento eficaz. Por exemplo, Microsofts Age of Empires é renderizado em 3D, mas iria funcionar perfeitamente bem como um plano 2D. Um atirador de primeira pessoa, como Half Life ou Quake, por outro lado não iria.

Você pode usar a exibição GL orto. Isso permitirá que você desenhar na tela usando apenas 2D coordenadas, se você quiser 3D mais tarde, mudar de Ortho para Vista em perspectiva e você tem 3D, no entanto, não acho que ele vai ajudar você reutilizar o código, uma vez que a vista 2D orto geralmente é feito com texturas, e você não pode transformar uma textura a uma malha 3D.

Talvez uma melhor abordagem é fazer tudo em 3D, e configurar a câmera para olhar de cima, se você fizer isso mais tarde você pode alternar para o 3D apenas realocando a câmera e fazer melhores modelos e texturas. Esta opção sons agradáveis, mas dá-lhe mais trabalho com o trade-off 2D para 3D portabilidade sem alterações no código.

Um MVC padrão deve ajudar.

E eu acho que você está ciente já, mas você olhou Java3D ? Talvez ter um plugue substituível vista renderização em 3D baseado em que (mas que não é necessariamente polido e produção pronto) irá mantê-lo honesto para que você não acabar amarrado a 2D, de alguma forma horrível. Poderia ser tão simples como tornar o seu material 2D com alguns Z posicionamento acrescentou.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top