Meu filho (15) decidiu que quer seguir uma carreira como programador de jogos. Eu disse que ele deveria começar agora com um jogo simples. Ele ainda não tem experiência em programação, mas eu sou um programador (aplicativos de negócios, não jogos) para poder ensiná-lo a programar, mas qual seria uma boa plataforma para ele começar? Inicialmente, estou procurando algo que possa fornecer resultados rápidos, para manter o entusiasmo dele.
O que você sugeriria?
Respostas:
O XNA é uma boa solução para um programador bastante confiante. Seria uma boa meta almejar no futuro.
O Unreal Development Kit é uma maneira de obter resultados com muito mais rapidez e facilidade e pode ser um bom lugar para começar. Os comentários indicaram que o UDK é realmente uma alternativa muito ruim , então não posso recomendá-lo.
A unidade é uma alternativa, será executada em telefones, algo que o UDK não pode fazer (tanto quanto eu sei). Então, se ele gosta de programar jogos para telefones, talvez a unidade seja melhor?
fonte
Eu também tenho 15 anos, então acho que isso poderia ajudar? : P
Recentemente, comecei a aprender Python (pratico C ++ há mais ou menos um ano) e estou achando muito mais fácil aprender do que C ++. Existem muito menos armadilhas e você precisa de pouco código para exibir algo na tela - o que eu acho que faz você querer continuar.
E existem wrappers como Pygame e Pyglet sobre SDL / OpenGL para o lado gráfico.
Antes que ele comece a fazer jogos simples, eu recomendaria aprender um idioma por pelo menos alguns meses. (É claro que jogos baseados em texto, como adivinhar o número e o carrasco, são bons exercícios durante esse período)
fonte
Uma resposta pouco ortodoxa aqui:
Editor de galáxia de Starcraft II.
Você pode fazer quase qualquer jogo no Starcraft 2.
Ele também ensina a maioria das construções de programação, como loops e instruções if de uma maneira centrada na GUI.
Uma vez que ele esteja confiante com o básico, você pode ter coisas para ele.
Se ele é bom nisso, e acha isso interessante, ele vai adorar a programação de jogos adequada.
fonte
Eu dividiria aproximadamente as ferramentas de desenvolvimento de jogos em três grandes categorias:
Para pessoas sem experiência em programação, geralmente aconselho que iniciem na primeira categoria, apenas para começar a fazer ALGO. Quando eles se sentem confortáveis com uma determinada ferramenta de criação, mas realmente sentem que as limitações estão superando os benefícios, é hora de aprender algo na próxima categoria.
fonte
Eu sei que isso vai me namorar um pouco, mas quando eu realmente gostei de P-Robots . Há um objetivo muito simples (vencer os outros robôs), uma API simples e um curto período de tempo entre as alterações no código e a visualização dos resultados. Ele segue para IA, padrões de design e estrutura de código ainda maior (alguns desses robôs podem ficar bem grandes - e quanto ao compartilhamento de código entre robôs?). Se você puder encontrar algo semelhante, mas mais recente, seria uma boa maneira de obter a parte "começando a programar". Sugestões:
Uma vez feito isso, considere optar por um jogo de tiro em 2D realmente simples, de plataforma ou outro jogo "estilo arcade" - você pode usar SDL ou XNA ou o que for mais familiar. Mesmo colocar um clone de pong em funcionamento não é totalmente trivial. Isso fornece um pequeno eco de como é criar algo "básico".
Depois disso, explore: um mod para um jogo em 3D existente (um novo objeto, ou um bot ou algo assim) para dar uma pequena ideia dos mecanismos maiores.
As chaves, pelo que vi, parecem ser:
fonte
Meu conselho é criar jogos baseados na web. Por quê? Bem, antes de tudo, o JavaScript é uma linguagem bonita que ensinará a ele todos os conceitos básicos de programação e você pode realmente criar um jogo excelente, competente e multiplataforma. Também o qualificará para muitas outras coisas além de apenas fazer jogos ... Se você, por algum motivo, não quiser que seu filho entre no desenvolvimento da Web, sugiro usar o Python, com um módulo chamado PyGame. Eu também tenho experiência com isso, e é incrível. O que eu não sugiro é começar com C / C ++, foi o que fiz e é horrível e pode deixá-lo desmotivado para a programação.
Em outra nota, você provavelmente é um pai incrível, parabéns!
fonte
O Mindstorms Roboter é muito legal. Temos alguns NXTs na escola e, na semana passada, começamos a programar coisas como seguir uma linha e essas coisas. Você pode obter resultados facilmente.
Também achei www.3dgamestudio.de há um tempo atrás. Eu não entrei mais nisso, mas foi realmente interessante. Você pode programar com lite-C, que é:
No http://tutorial.3dgamestudio.net/, você entra nele. E também há um editor de nível, modelo e terreno.
ps: tenho 16 anos e comecei com um amigo programando um site e personalizando um servidor de jogos programado. Então, isso também pode ser interessante para ele.
fonte
Não posso sugerir isso o suficiente, mas construindo seus próprios níveis para seu jogo favorito .
Para alguém dessa idade / nível de habilidade, eles devem começar construindo níveis em seu mecanismo de jogo favorito de sua escolha .
Muitos ótimos jogos vêm com um editor de níveis que permite muitos graus de liberdade.
RPG : série de ferramentas elétricas NWN 2 da Obsidian , Elder scrolls
O editor de níveis de RTS : Warcraft III é um fantástico editor de RTS e até criou seu próprio jogo ( liga de lendas e heróis da atualidade ).
FPS : Martelo por meia-vida 2. O Counterstrike era originalmente um mod de meia-vida.
Comece aqui . A criação de níveis para o seu jogo favorito é provavelmente o melhor lugar para começar.
fonte
Embora todas as informações aqui sejam úteis, eu queria mencionar que o STEM Challenge (uma competição nacional de jogos promovida pela Casa Branca e pela ESA) tem algumas sugestões sobre plataformas http://www.stemchallenge.org/about/Default.aspx
Gamestar Mechanic, Gamemaker, Kodu, Scratch, PBS KIDS Pronto para Aprender Stream
Sinto que existem recursos da comunidade sobre essas plataformas especificamente no que se refere ao STEM.
Veja também este excelente tutorial sobre python e pygame (que também é um livro on-line) http://inventwithpython.com/chapters/ aqui está o PDF da sequela do livro especificamente sobre pygame http://inventwithpython.com/blog/making -games-with-python-pygame /
Aqui está outro artigo do NYT http://www.nytimes.com/2011/11/10/technology/personaltech/computer-programming-for-children-minus-cryptic-syntax.html?_r=2&sq=mitchel+resnick&st=cse&adxnnl= 1 & scp = 1 & adxnnlx = 1322489239-tMp1Wjl9FUcI8rLaJ6cbOw
Atualização: aqui está uma discussão do slashdot http://ask.slashdot.org/story/11/12/27/152228/ask-slashdot-tools-for-teaching-high-school-kids-how-to-make-games
fonte
O Game Maker é uma excelente opção para pessoas sem experiência em programação. Tem uma versão gratuita e uma versão paga relativamente barata. Ele permite que você faça jogos rapidamente com uma interface de arrastar e soltar, mas inclui suporte para scripts mais avançados.
fonte
Como Martin mencionou, o UDK é provavelmente a maneira mais rápida de fazer algo funcionar, pois vem com tantas coisas pré-fabricadas como IA, modelos e também uma grande variedade de livros. Possui um editor de mapas muito bom, e a linguagem é semelhante ao Java (e ao script ECMA).
Uma alternativa pode ser tentar fazer jogos em Flash ou Silverlight - comece com jogos 2D simples. Qualquer que seja o gênero de jogos que ele goste dita o kit de ferramentas.
fonte
Vindo de 14 anos, esse conselho pode ser útil. Acho que, a melhor maneira de escolher uma plataforma, é a plataforma mais adequada ao objetivo. Eu já fiz este post muitas vezes antes.
Do Reddit -
Veja jogos como o Minecraft. Certamente, está escrito em Java, uma linguagem que possui uma participação de mercado extremamente pequena no setor de desenvolvimento de jogos. Os consumidores se importam? Não. Eles se preocupam com a funcionalidade.
No entanto, como seu filho não tem experiência em programação, sugiro aprender uma linguagem rápida para codificar como Python, ou usar uma plataforma existente, como XNA. Pessoalmente, adoro o Slick2D com Java, mas acho que essa é a minha preferência ...
fonte
Fui apresentado à programação em tenra idade (com menos de 15 anos) e meu pai decidiu usar o VB (1.0). Fizemos uma versão distorcida do pong usando um objeto timer e desenho GDI. Gostei disso porque começamos com uma tela em branco e pudemos aprender o básico de estruturas de programação enquanto tentávamos fazer algo divertido.
Hoje, acho que escolheria o XNA e escolheria um jogo 2D simples. C # e XNA são bastante diretos e deixam muito espaço para crescer e são gratuitos.
fonte
Se ele só quer fazer jogos, então ele deve usar XNA, Unreal, Unity etc. Se ele quiser ser um programador de jogos, ele deve aprender C / C ++ e OpenGL / SDL ou D3D primeiro.
XNA, Unreal, Unity, etc, são ótimos para criar jogos, mas são muito ruins em fazer muito por você. Tenho certeza que as pessoas vão discordar de mim sobre isso, mas isso basicamente o transforma em um programador preguiçoso e, quando chegar a hora de aprender coisas como pontos em C ++, será mais difícil porque você optou primeiro pelas opções mais fáceis.
Peronally, eu nunca sugiro outra coisa em C / C ++ como a primeira linguagem a aprender se você quer ser um programador de jogos. O principal motivo é que, mesmo que você aprenda C # / XNA, se estiver realmente interessado em se tornar um desenvolvedor de jogos, precisará conhecer C ou C ++ em algum momento, porque ninguém o contratará. Então, se eles são sérios sobre a profissão, você está apenas atrasando o aprendizado do que se espera de você.
fonte