Ouvi recentemente um instrutor dizer que o desenvolvimento de jogos era a melhor maneira de aprender programação. Além do fato de que tudo tinha que ser criado em código, ele disse que você realmente experimenta e implementa totalmente o OOP em seus programas. Em outras palavras, tudo o que você cria em um jogo é um objeto literal, tanto tecnicamente quanto em conceito. É seguro fazer essa suposição? Ou sempre há exceções ao aprender programação?
note que foi voltado para o desenvolvimento .net / xna / c #.
learning
object-oriented
Edward
fonte
fonte
Respostas:
O desenvolvimento de jogos é um dos desenvolvimentos mais desafiadores que existem, na minha opinião. Vejamos todos os conceitos que uma pessoa que cria um jogo de tiro em primeira pessoa precisa saber:
Você vê, um jogo pode cobrir muitas áreas simultaneamente. Isso o torna uma excelente ferramenta de aprendizado se você estiver disposto a gastar o tempo e torná-lo bom.
Quanto à OOP, esse é um padrão que funciona bem. Você pode usar um jogo como uma ferramenta de aprendizado para praticar boas técnicas de design.
Para responder sua pergunta, porém, não é a única maneira de aprender programação. Depois de se tornar um desenvolvedor intermediário, a criação de um jogo permitirá que você toque em muitos conceitos e níveis de programação. Além disso, é divertido!
fonte
Não deve ser tautológico, mas a programação é a melhor maneira de aprender programação. Se você está interessado em jogos de computador, a programação de jogos pode ser uma ótima maneira de aprender programação.
Eu não ligo para jogos, mas eu amo matemática, muitos dos meus projetos de aprendizagem eram de natureza muito matemática.
A conclusão é que você precisa encontrar maneiras de resolver problemas com o código, e os jogos funcionam para muitas pessoas.
fonte
É uma maneira de aprender programação, entre outras maneiras. Quando você escreve código, aprende coisas. Agora, é o melhor caminho? Não tão certo.
Pelo menos, os dois motivos apresentados pelo seu professor não são válidos .
"tudo tinha de ser criado em código" : quando você escrever um aplicativo de negócios, você está realmente escrever o código. Não será escrito por mágica. Sim, existem ajudantes que permitem usar o código gerado automaticamente. Não, não é obrigatório usá-los. A propósito, as partes geradas automaticamente são geralmente as mais irritantes da programação (não é adicionando controles ao controle do Windows Forms que você aprenderá algo interessante e útil).
"você realmente experimenta e implementa totalmente o OOP em seus programas" : alguém precisa me explicar por que isso é válido apenas para jogos, mas inválido para qualquer outra coisa. Se você entende OOP e deseja usá-lo, também pode usá-lo em aplicativos de negócios. Se você não o obtiver ou não quiser usá-lo (e preferir usar a programação funcional, por exemplo), o desenvolvimento de jogos não o forçará a mudar.
Mas:
Desenvolver jogos pode ser divertido . A maioria dos jovens gosta de jogos, então eles gostariam de desenvolver um jogo em vez de escrever um aplicativo de negócios, o que será extremamente chato para a maioria deles. Vendo isso, os professores podem começar a acreditar que, na verdade, jogar é a melhor maneira de aprender programação e, em seguida, tentarão encontrar uma explicação lógica para isso.
Dito isto, esses professores acabam tornando o desenvolvimento de jogos tão chato para os jovens quanto o desenvolvimento de aplicativos de negócios. Se eles acreditam que o jogo deve ser feito para aprender OOP, etc., eles pedirão aos alunos que façam o tipo de projetos que não são agradáveis. Este foi um dos maiores erros dos meus professores quando eu estava na faculdade. Eles nos deram muitas vezes projetos de jogos para escrever no Ada no modo console. Sem gráficos. Não é divertido. Nenhuma experiência do usuário. Em toda a minha vida e carreira, nunca vi projetos tão chatos assim.
fonte
BadGuy
,Weapon
,PowerUp
, e outros itens em um jogo pode facilmente ser um objeto. Você pode programar interações entre os objetos e vê- los na tela. Eu acho que a parte visual é o que a torna tão atraente. Aplicações de negócios que têm hierarquias tipo deServerTaskScheduler
,AbstractDataProcessor
,UserQueryAgent
, etc ... não são tão emocionante , mesmo que eles podem ensinar os mesmos conceitos OOP como em jogos.Customer
ouProduct
ouTransaction
podem ser objetos. Mas entendo que é muito mais agradável lidar comBadGuy
s do que com chatosTransaction
s.Transaction
implica.A programação de jogos é a melhor maneira de aprender a programação de jogos. Se você quiser aprender o desenvolvimento da Web, faça isso, se quiser aprender a programação de sistemas, faça isso e assim por diante.
A programação de jogos é desafiadora e provavelmente ensina muitas coisas (Michael notou muitas em sua resposta, e muitas delas são muito desafiadoras e utilizáveis fora dos jogos). Criar um RPG ou magnata (ou jogo similar) ensinará muito sobre o design de POO, porque eles se prestam muito bem a esse paradigma. Você também poderá aprender muito sobre considerações de desempenho, algumas matemáticas graves para jogos, etc., dependendo da complexidade de seus gráficos e física.
É uma boa maneira e a melhor maneira de aprender algumas coisas, mas não é uma maneira superior de aprender programação. Não importa quantos jogos você programou, ainda é provável que você não tenha idéia de como criar um sistema operacional. Eu acho que a maioria dos desenvolvedores ainda pode ganhar algo desenvolvendo um jogo, mesmo que não faça isso como sua principal disciplina de programação, desde que tenha tempo.
fonte
Pergunta: Qual é o melhor método para aprender programação
Resposta: O método que você realmente faz
Ou seja, ao aprender ou fazer alguma coisa, não importa muito qual método você escolhe há tanto tempo que é um método que você realmente segue.
Se o jogo é algo que parece realmente divertido para você, vá em frente. Se você acha que resolver problemas de matemática é mais satisfatório, comece com isso. Existem muitos tipos diferentes de programação e cada um exige habilidades diferentes; portanto, uma boa aposta é começar com a que você achar mais interessante, provavelmente com a qual você estará trabalhando.
... Mas sim, jogar é uma boa maneira de aprender uma ampla variedade de programação, pois incorpora matemática, simultaneidade, algoritmos, oop, gráficos, etc, etc.
fonte
Se você gosta de jogos, escrever jogos seria uma boa maneira de começar o desenvolvimento, mas eu não diria que é o melhor caminho. Eu acho que a melhor maneira é um curso de pós-graduação, seguido de um emprego em uma empresa de software que investirá em treinamento e orientação de funcionários juniores.
Além dessa resposta reconhecidamente bastante pomposa, sim, o desenvolvimento de jogos ensinaria muitas boas habilidades, e se você gosta de jogos de computador, manterá você interessado no processo de desenvolvimento. Deve ser mais interessante do que muitos outros aplicativos simples que você vê nos livros.
fonte
Eu diria que a melhor maneira de aprender a codificar é diverti-lo. Não precisa ser um jogo real, mas algum tipo de jogo para você. Para mim, é um jogo para resolver alguns problemas de matemática, desenvolvendo algoritmos de uma maneira que eu possa resolver um problema complexo da maneira mais rápida possível. Seja desafiador, eu me torno um codificador melhor a cada tentativa de resolver um problema. Quanto mais difícil o problema, melhor.
Quanto ao aprendizado de código (melhores práticas), eu diria que você teria que enfrentar desafios maiores. Desafia a exigir muito mais a entrada / saída única
fonte
Eu nunca ouvi falar de alegações de que jogar Halflife ou Call of Duty ensina habilidades de programação.
Programar eles pode, mas programar algo assim não é algo que um iniciante deve tentar um pouco. E especialmente os iniciantes costumam ter a impressão de que podem criar o próximo sucesso de bilheteria com seu conhecimento de programação inexistente. Diga a eles para tentarem criar um clone do PacMan ou Tetris primeiro e eles gritarão que não é isso que eles querem fazer e que você deve 'me dar zuh koduz'.
fonte
Não, realmente não. Não existe um melhor tipo de projeto para aprender programação. O melhor tipo de projeto é relevante para seus interesses.
Por exemplo, tentei aprender a programar de duas maneiras diferentes, incluindo aprender a programar jogos. Apenas nunca pareceu grudar.
Então, quando eu precisava aprender a programar para o que estava fazendo na minha pesquisa? No momento, estou confortável o suficiente para dizer que conheço dois idiomas e estou trabalhando em um terceiro. Por quê? Porque era relevante para os meus interesses. Eu tinha um motivo para continuar, um motivo para aprender e mais problemas para tentar do que apenas o "Exercício 8" do livro.
Aliás, isso não significa que programar modelos epidêmicos seja a melhor maneira de aprender programação. Mas foi o melhor caminho para mim. Encontre o seu. Pode ser jogos, mas pode muito bem não.
fonte
Na minha própria experiência, ao escrever um jogo (supondo que você esteja fazendo isso por conta própria / pequena equipe de desenvolvedores), você é forçado a pensar não apenas na parte algorítmica / analítica da programação, mas também na experiência e no design do usuário.
Além disso, se for um jogo razoavelmente complexo, você trabalhará nisso por alguns meses e perceberá a importância de documentar tudo o que faz - o que mais tarde fará de você um membro melhor de uma equipe.
fonte
Eu acho que este é um excelente artigo que fornece uma visão sobre o desenvolvimento de jogos.
Ele fala sobre algumas áreas básicas para focar
fonte
Eu concordo, exceto ...
É tão provável que a primeira experiência de programação que muitos já tiveram foi a construção e programação de um robô Lego (Mindstorms).
Embora o termo geral "jogo" possa definir uma categoria tão grande que abranja quase toda a programação, quando usado no contexto do pôster original, sempre parece significar "escrever jogos no estilo Doom".
Como foi afirmado aqui antes - a melhor maneira de aprender programação é ter algo que você realmente deseja que exija um programa. Ou seja - aprenda a programação escrevendo o programa que deseja.
Um dos meus primeiros programas para Windows foi um controlador MIDI, porque eu realmente queria um programa controlador MIDI, e o Windows parecia o ajuste perfeito (controles deslizantes, botões, suporte a SDK para MIDI etc.). Eu aprendi muito sobre a programação do Windows (isso foi no Win 3.1 dias) com esse programa.
Eu nunca fui parcial na programação de jogos pelas razões mencionadas aqui também - eu não desenho muito bem, então qualquer jogo que eu fizer terá gráficos mais pobres que os de um artista. Eu quero aprender a programar, não a gerenciar uma "equipe de criação de jogos" (exercício louvável, mas totalmente diferente).
No final, discordo totalmente da afirmação do professor. A melhor maneira de aprender programação é escrever o programa que você realmente deseja.
-R
fonte