Pergunta

Gostaria de saber como criar um fps jogo com SDL lib?

Existem livros que explicam com exemplos?

Foi útil?

Solução

Esta vitórias para mais pergunta aberta. Você poderia literalmente escrever um livro. Mas vamos resolver para apontar na direção certa ...

O primeiro passo, você terá boas habilidades de depuração para um projeto como este. Pegar código completo por Steve McConnell. Leia a coisa toda. O tempo investido vai pagar por si mesmo mais do que qualquer outra coisa que você podia ler / experimentar.

Tire suas mãos em algum código fonte de algum jogo. Qualquer jogo. Certifique-se de ver algo simples antes de ver algo grande e complexo, e ter em mente quando você olha para qualquer código de jogo que eles podem ter tido uma equipe combinada colocar WAY mais tempo nele do que você nunca vai ter. O ponto deste é ver estrutura de código.

Obter uma referência para a matemática 3D, não tem que ser em profundidade, mas você precisa saber coisas como produtos de ponto para trás e para a frente, ser capaz de descobrir como criar a matriz para a sua câmera no mundo etc. (mesmo se a sua escrita 0% do código de processamento)

(edit) Aqui está um grande livro sobre matemática 3D Matemática para o jogo 3D Programação e Computação Gráfica, Second Edition (Game Development Series) Este não é o tipo que você aprende na faculdade, é mais como um cruzamento entre trig e conceitos práticos mais avançados: Como criar uma caixa de ferramentas para si mesmo de física simples, detecção de colisão eficiente, etc.

Você vai precisar de saber algo sobre renderização e gasodutos. SDL dá-lhe uma perna para cima, mas certifique-se de compreender os conceitos do que está fazendo.

Leia-se sobre design prático sistema. Seus vários sistemas terão de intertravamento. Pense-o bem. Seu sistema pode ser apenas um bem em C ou C ++, é o pensamento de que é colocado em como seus dados / controle fluirá que vai contar, e não como perfeitamente você imitar os padrões de projeto (embora estes são muito úteis também de grosseiro)

Fundamentos da AI, não "real" AI, mas AI funcional; Há uma grande diferença. máquinas de estado são grandes para começar, e suficiente para um FPS simples.

Saiba um pouco sobre a estimativa e planejamento. Você não terá tempo para fazer tudo o que você gostaria de fazer para fazer corretamente um FPS. Você vai ter que tanto triagem e aprender a triagem; são 2 coisas separadas, sendo este último mroe difícil. A experiência é o melhor professor aqui de grosseiro. (Embora o lendário McConnell tem livro sobre isso também)

Ter um sistema para inserir o seu jogo em seu nível. Se é só você como um programador, então a sua melhor aposta é a de escrever um plug in para um programa de edição já existente, como 3DS Max. Eu recomendo Max sobre Maya para um programador. Maya roteiro é bom, mas é mais voltado para não-programadores inteligentes. Acho 3DS Max a pensar mais ao longo das linhas de como um programador iria sobre como criar e editar o seu mundo.

Você pode passar anos fazendo ferramentas para deixá-lo fazer isso certo, assim que você quer fazer as coisas de maneira tal que você pode editar com rapidez e precisão Se você fazer o seu próprio editor, incorporá-lo em seu mundo de jogo. Se o seu mundo não é verdadeiramente 3D e você quiser fazer um monte de nível rápido você pode salvar seus dados de nível como algo como isso, que você vai economizar muito tempo Onde X é uma parede, as outras letras são objetos do jogo que um analisador sujeira simples pode traduzir-se em objetos do jogo e coordenadas mundiais

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

Mas tudo depende de seu jogo. Meu ponto é que você vai precisar de recorrer a "ghetto codificação" como você obter os seus dados de jogo em seu mundo é muito importante e você precisa pensar em algo que é rápido para você implementar e rápido com você para trabalhar.

E o que lhe vem para baixo é o que é o seu objetivo aqui? Se é para aprender a código algo da maneira direito absoluto, à espera de passar a maior parte do seu tempo a iteração de código que parecia um mês decente atrás, mas agora que você é realize que suas exigências são, ele poderia realmente usar outra passagem. Não tenha medo de reescrever, você aprender muito fazendo isso, mas se você objetivo é funcionalidade, você provavelmente terá que descobrir onde cortar algumas coisas (como a incorporação de jogo coordenadas nad dados em arquivos de código) É IS ok para cortar, enquanto você sabe onde você tem cortado, e cuidadosamente mantido separado do seu código de boa para que você possa voltar e adequadamente escrever o código quando você tem a chance.

A linha inferior é, você precisa decidir o seu objetivo neste é, aprendizagem, ou a funcionalidade e encontrar o meio termo entre.

Outras dicas

Baixe o Quake 3 fontes em fileshack e aprender com eles.

Apesar da muito longo post é valiosa no longo prazo, eu sinto que não dá a motivação instantânea adequada de fazer as coisas na tela. Eis alguns fatos, juntamente com minha opinião

-SDL é uma biblioteca de gráficos 2D, você não pode escrever um FPS em 2D, portanto, você tem que ir com uma biblioteca em 3D, quer DirectX ou OpenGL

-SDL tem a capacidade de "sync" com OpenGL, usando-o para gráficos, mas não há um monte de ajuda on-line para esse tópico

Eu sugiro que você vá para Lazyfoo.net, que é recurso de um iniciante absolutamente surpreendente para programação de jogos com SDL, mostra-lhe como desenhar na tela, mas também ensina como aplicar isso a jogos de programação. Depois de passar por isso, você vai ser capaz de fazer um clone de tetris, ou a maioria dos jogos de outro tipo 2D

Depois disso, você estará pronto para 3D (que é muito mais complexo, requer uma melhor compreensão da matemática, e leva muito mais código para fazer as coisas mais simples) se você ir com OpenGL, veja Tutoriais de NeHe, eles 'está atualmente trabalhando em um novo conjunto, utilizando SDL com openGL, porque os tutoriais mais velhos, embora valiosa, são codificados bastante mal e usar as janelas (win32) API

ter em mente, o desenvolvimento do jogo é um dos mais exigentes, e recompensar a programação você vai se deparar, então boa sorte

Enquanto específico não SDL, os tutoriais NeHe OpenGL são um excelente lugar para começar a aprender sobre como Do 3D.

Se este é o seu primeiro jogo, você provavelmente vai querer apontar menor do que um FPS. Escrevendo um simples jogo 2D Tetris usando SDL vai te ensinar tudo que você precisa saber sobre essa biblioteca.

Quase tudo o que diz no título os "truques do jogo programação Gurus" vai mostrar-lhe como fazer um jogo FPS. LeMothe ama.

Edit: esqueceu esses títulos

.

Eu encontrei este site um tempo atrás, quando eu estava brincando com SDL , você vai encontrar programas para amostra você pode baixar aqui

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