Qual é um bom livro para começar a programar um jogo 2D em C ++? [fechadas]


8

Sou formado em Ciência da Computação e, enquanto estava na faculdade, criei um jogo 2D simples no Game Maker. Gostaria de recriar este jogo em C ++ como um começo para aprender a criar jogos em C ++. Qual seria um bom livro para começar a programar jogos em C ++ para alguém que tenha um pouco de experiência em C ++ (minhas aulas principais de CS foram ministradas usando Java e eu tive uma aula em C ++ para aprender sintaxe) e conhecendo os conceitos por trás dos objetos, métodos, herança, etc?

Isso seria um hobby meu, enquanto eu acumulo experiência até poder trabalhar um dia na indústria de videogames.


Se você precisa de motivação (e você tem tempo), você pode querer participar de pyweek ou um dos concursos PyGame
bobobobo

Respostas:


8

Como você estava usando o Game Maker, suponho que você esteja no Windows, então entre no fundo do poço com o SDK direto x. As amostras fornecem o código-fonte e também fornecem uma amostra do poder disponível. Só porque você quer fazer um jogo em 2D não significa que você deve ficar com uma biblioteca em 2D, em algum momento você provavelmente fará algo que a biblioteca não implementa por si mesma (sombreadores ou rotações ou algo aleatório que você acabou de fazer). NECESSIDADE para o seu projeto).

O SDL - e provavelmente o SFML e o Cinder - fornece uma abordagem de alto nível " desviou o básico" de ser um mecanismo, para que você tenha todo o poder de fazer isso do zero (para ter pixel shaders no SDL), mas você não aprenderia como as coisas são feitas. Você faria C ++ real dentro de uma estrutura auxiliar, o que ajudará a fazer as coisas, mas não será uma grande ajuda para ensinar como desenvolver jogos, se você estiver trabalhando em uma empresa de desenvolvimento de jogos.

SDL, SFML e até Cinder são maneiras inteligentes de evitar o aprendizado sobre as coisas difíceis em C ++. Eles normalmente envolvem o OpenGL, o que é útil para aprender se você deseja codificar gráficos para máquinas que não sejam Windows, mas há muitos recursos para realizar o trabalho no Direct-X também (provavelmente mais porque o vírus do Windows se espalhou por todos os cantos do mundo).

Se você não quiser aprender coisas interessantes, tudo bem, mas, caso contrário, não tenha medo de começar com um aplicativo Win32 bruto.

Sugiro que, para maior conforto, você comece com todos os diferentes pacotes de ajuda que puder encontrar, mas siga para escrever seu próprio mecanismo de renderização. Escrever um mecanismo é muito divertido e pode fornecer um recurso para você olhar para trás em seus projetos futuros. Nada cria um bom código como a sabedoria de fazer errado no passado.


Obrigado pela resposta, tenho experiência em C ++ e gostaria de entrar nas coisas mais difíceis, para ter experiência nisso. Eu adoraria que esse hobby acabasse por levar a uma carreira na indústria de videogames, quando eu tivesse alguma experiência profissional.
sange 7/09/10

7

Eu recomendaria ficar longe dessa biblioteca Cinder. Navegar pelos tutoriais é o mais desmotivacional possível. Escolha algo fácil, divertido e rápido de codificar, como SFML . Pense nisso como um substituto moderno e orientado a objetos para SDL. Se os recursos atenderem às suas necessidades, instale-o, siga os tutoriais e comece a brincar com ele. Você pode encontrar códigos-fonte para projetos SFML existentes nos fóruns para ver como eles implementam coisas, como o loop do jogo, como eles organizam o código e os objetos e os fazem se comunicar uns com os outros e com o Wikipossui vários tutoriais e códigos-fonte que você pode usar em seus projetos. E os fóruns estão ativos para que você possa pedir ajuda a qualquer momento.


Eu nunca tinha ouvido falar disso - parece muito mais apropriado do que cinzas para jogos! agradável.
Iain

4

Não conheço nenhum livro específico para jogos 2D, mas você deve procurar as respostas aqui . Afinal, jogos 2D e 3D têm muito em comum. Existem muitos jogos 3D com jogabilidade 2D.

Talvez você possa conferir os tutoriais de Lazy Foo , eles cobrem muitos assuntos importantes passo a passo. Eles usam SDL e OpenGL.


3

Pode ser um pouco datado, mas o Desenvolvimento Avançado de Jogos em 2D foi um livro muito bom. Confira.


Acabei de comprar este livro (esperando que ele chegue!) - em que termos você diria que está datado?
Zolomon

Bem, desde que foi lançado em 2008, a tecnologia certamente mudou. Mas os métodos provavelmente são os mesmos. Desculpe, já faz um tempo desde que eu o li e nada vem à mente.
Miguel Moll


0

Além de um livro, é importante decidir que tipo de jogo você deseja fazer. Isso ajudará a informar seu caminho em geral. Eu sugeriria escolher algo simples, Campo Minado ou Tetris ou talvez Lightcycles of Tron, onde a lógica do jogo é bastante direta e os requisitos gráficos são mínimos apenas para obter algo básico.


0

Embora existam muitos livros por aí, não encontrei um com o qual sou feliz. A maioria parece aderir a "jogos" que não são particularmente interessantes do ponto de vista de jogo e não chegam aos detalhes de implementação de gráficos, loops de jogos e assim por diante.

Minha recomendação seria, em vez de procurar um livro, ensinar a si mesmo através da pesquisa no Google. Existem vários tutoriais on-line para criar jogos simples, basta escolher um jogo como o Tetris (ou qualquer outra coisa), fazer uma lista de tarefas de programação e, em seguida, quando você fica preso em alguma coisa (talvez não tenha certeza de como aceitar informações em tempo real) , ou como desenhar gráficos na tela), procure a resposta para essa pergunta específica. Repita toda vez que ficar travado e, quando terminar, você terá uma boa idéia de como um jogo é montado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.