Se você é fã de Pokémon provavelmente já jogou algum dos jogos da série, e se é programador tem altas chances de algum dia ficar pensando em como os jogos eram feitos, no meu caso essa curiosidade foi fundamental para hoje trabalhar como programador e compartilhar algumas dicas principalmente se você for que nem eu e tem bastante curiosidade com o mundo do desenvolvimento de games (meu eu de 12 anos ficaria feliz em ver esse post) que eu tenho levado como um hobbie.
Ainda falando de Pokémon, é extremamente mágico ver uma franquia que começou lá na época do gameboy com gráficos assim:
Se tornar um jogo assim:
Após 20 anos de história e com a evolução dos hardwares e das tecnologias disponíveis dos videogames hoje é possível ver os pokémons andando fora das pokébolas com gráficos bacanas, capturar pokémons no meio da rua com Pokémmon Go! (cuidado com isso gente pelamor), ter interações entre videogame e celular além de podermos andar na diagonal nos jogos da franquia principal! (essa aqui quando surgiu em Pokémon XY era o que eu mais comentava por algum motivo).
Embora os jogos sigam a temática clássica e já bem conhecida de jogos RPG, onde vamos subindo de nível ganhando poderes e ficando mais fortes para derrotar um inimigo forte no final, a linguagem de programação por trás dos jogos é um mistério. Um pessoal em fóruns como Reddit e Quora especulam que os primeiros jogos: Red, Green e Blue; Tivessem sido feitos em Assembly, enquanto outros jogos da franquia foram feitos em C e C++.
O fato é que a Game Freak, produtora de todos os jogos da franquia principal, são muito bons em conseguir manter o código que tem a essência por trás dos jogos, o sistema de batalhas, lógicas de evolução entre outras comuns na série e portar em cada plataforma nova que surge, sempre com muita qualidade.
Já quando falamos de Pokémon Go!, desenvolvido pela Niantic, esse foi feito em cima da famosa engine Unity, que facilitou o desenvolvimento do mesmo para os sistemas operacionais Android e iOS. E se você já conhecer a Unity deixo a dica para usar a biblioteca Vulforia, que caso você queira fazer experimentos com realidade aumentada é uma excelente dica e a documentação dela é super bacana.
Criar um jogo completo com uma boa narrativa, música cantarolante e personagens super bacanas com roupinhas legais é uma tarefa que exige bastante conhecimento em área muito distintas. Alguns desenvolvedores como o criador de Undertale se aventuram em tentar fazer um pouco de cada coisa, o que é bem legal e é o que eu faço como hobbie hoje em dia, mas na prática isso exige bastante esforço e estudo, coisa que o Marcos Castro da uma noção legal no vídeo falando do making of de um jogo que foi sucesso indie no brasil "A Lenda do Herói". Se você quiser começar como programador aqui vão algumas dicas:
Existem diversas linguagens de programação no mundo (Java, C#, JavaScript, Swift, Kotlin, Scala, Haskell, Clojure...), vou deixar aqui as que eu vejo que podem ser boas pedidas para quem quer começar a fazer jogos:
Jogos grandes como Tibia e Civilization foram feitos em cima dessa linguagem que é bem simples se comparada com outras mais populares. Aprendendo as básicas da linguagem instruções e tento uma base de lógica de programação já da para dar os primeiros passos e arriscar fazer alguns jogos. Aqui na Alura temos um curso super legal onde você pode aprender a criar um jogo super bacana, o fuga das sombras no melhor estilo pixel art 2D. Ele roda em cima do TIC80 que é um programa que emula um computador antigo onde você já tem todo um ambiente para fazer os sons, mapas e os códigos do jogo, além de tudo ser fácilmente portável para rodar num navegador no final e até mesmo no seu celular com alguns ajustes.
E aproveitando a deixa de falar em navegador, uma linguagem relativamente próxima do Lua é o famoso JavaScript que é uma boa alternativa para quem quer começar a fazer jogos também.
Essa aqui é uma dupla popular entre os que usam a engine Unity para fazer jogos e C# como a linguagem de programação. Ambas possuem uma curva de aprendizado considerável, mas aliada ao desenvolvimento de jogos pode ser uma experiência bem bacana, é só ir com calma e se inspirar em jogos populares feitos em cima da Unity (Lembrando que nem todos eles foram feitos em C#) e segue a formação Unity aqui da Alura para ajudar nesses estudos, mesmo que você não seja aluno os materiais abertos da formação podem ti dar um norte super bacana :)
Com certeza é uma ferramenta que fez parte da história de muita gente que jogou no computador durante os anos 2000 e é uma boa forma de começar, principalmente por já existirem uma infinidade de scripts prontos com sistemas de batalha de jogos como Zelda e Pokémon que podem ajudar no pontapé inicial do seu jogo, além de ter jogos populares como To the Moon, feitos em cima dela.
Essa é a engine por trás de vários jogos com gráficos absurdos como (Kingdom Hearts 3, A Way Out, Injustice), pode ser complicado desenvolver em cima dela no começo, pois para conseguir fazer alguns testes você pode precisar de um computador potente, mas caso queira curiar sobre ela da uma olhada na formação que temos aqui da Alura.
Aqui já são skills que alguém com conhecimentos de Design pode ter mais facilidade, para eu que sou mais focado em desenvolvimento é uma das partes mais difíceis quando se tenta criar o próprio jogo. Criar os personagens, items e mapas é um desafio bem grande, eu que estou me aventurando nessa jornada como hobbie uso bastante sprites prontas que pego da internet para projetos pessoais, mas se você quiser aprender na prática aqui na alura também tem um curso bem bacana que vai ti ensinar tudo do 0
O Tic80 que eu citei anteriormente é uma boa para começar, e existem outros programinhas bacanas para fazer as músicas como o http://www.ymck.net/en/download/magical8bitplug/. No começo pegar audios prontos é o que mais vai poupar tempo de vida, principalmente se seu foco na carreira for ser desenvolvedor de jogos.
Outras habilidades são necessárias, como criar uma boa história, saber divulgar do jogo, conversar com os fãs (vai que seu jogo da super certo?), gerenciar redes sociais... Mas calma que você pode começar com os projetos aqui dos cursos da Alura ou se inspirar em jogos comuns mais simples de celular que são um ótimo treino e com o tempo você vai vendo o próximo passo que precisa, lembrando que com a ajuda de outras pessoas tudo pode ficar mais fácil.
E depois dessa tour sobre o mundo do desenvolvimento de games que começou falando de Pokémon, da uma olhada em como criar seu próprio jogo no estilo da franquia nesse vídeo, infelizmente somente em inglês, do curso introdutório de ciências da Computação de Harvard mostrando por onde começar
Lembrando que Pokémon é uma marca da nintendo, então quando for criar os seus jogos se inspire no pessoal que eu deixo como exemplo logo na sequência de jogos que se inspiraram no formato da franquia dos nossos amados pokémons.
E para fechar esse post, vou deixar algumas dicas de jogos que você pode dar uma olhada com uma mecânica bem próxima do que estamos acostumados com pokémon:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.