Introdução
Linguagem de programação é uma ferramenta essencial para se tornar um desenvolvedor de games. Aprendê-la pode ser até mesmo divertido, ao invés do bicho de sete cabeças que muitos pintam.
Antes de tudo, precisamos compreender o papel de um programador no processo de criação de um jogo. Ele é o profissional que escreve o código que dá vida a um videogame. O programador trabalha em estreita colaboração com os produtores e outros departamentos – por exemplo, design de jogos, arte e animação, som, etc.- para traduzir a visão do projeto em um game totalmente funcional e jogável.
Esse profissional pode ser responsável por qualquer coisa, desde ditar a velocidade com que seu personagem corre e quão alto ele pula, até quantos inimigos aparecem e quando, e como eles reagem quando são atacados.
Aprender a programar é exatamente aquilo que o nome “linguagem de programação” sugere: aprender uma nova língua, com sua “gramática” e lógica internar própria. Por isso, muitas vezes, esse processo parece intimidador para quem está começando.
Ao ser ter em vista essas dificuldades, empresas e desenvolvedores independentes criaram diversos jogos para auxiliar aspirantes a programadores a aprender de forma lúdica essas linguagens.
Esses games partem do principio explicado por Raph Koster, em seu livro Theory of Fun, de que jogos são uma mescla de aprendizado e diversão, facilitando, portanto, a imersão dos iniciantes na lógica de programação.
Selecionamos aqui alguns jogos que podem ser interessantes para aqueles que querem começar a programar.
Code Combat
Este site permite que tanto crianças quanto alunos mais velhos consigam dominar algumas linguagens de programação, como, por exemplo, JavaScript, CoffeeScript, Lua, C ++ e Python. Eles fazem isso enquanto jogam um videogame de navegador simples.
Em CodeCombat, o programador é um herói que se aventura pelos níveis do jogo. Para isso, o player pode criar uma conta de usuário que permite salvar seu o progresso, contudo também é possível jogar sem se inscrever. Para completar um nível, o jogador precisa digitar os códigos fornecidos no game.
Antes de o jogo começar, o player pode escolher qual linguagem de programação que deseja aprender, bastando isso para começar seu aprendizado.
O primeiro nível é Kithard Dungeon, que cobre os conceitos básicos de programação. Nele, o jogador se depara com desafios de codificação ao longo de sua jornada, e se superá-los, ele desbloqueará o próximo nível e ganhará pontos de experiência (XP) que pode usar para melhorar seu herói.
CodeCombat é considerado atraente para programadores jovens e aspirantes. De acordo com uma pesquisa do jogo, 62% dos usuários do CodeCombat têm menos de 18 anos.
SQL Murder Mystery
SQL Murder Mystery é perfeito para quem gosta de jogos como Detetive ou livros e filmes de mistério, baseado no clássico conceito: “Quem fez isso?” Assim como para quem quer aprender a linguagem SQL (Structured Query Language ou “Linguagem de Consulta Estruturada”).
A SQL executa comando em bancos de dados relacionais, que utilizam tabelas. Com essa linguagem de programação, os usuários conseguem, simultaneamente, acessar, consultar e modificar os dados estruturais de uma empresa ou organização, de maneira descomplicada e unificada.
Logo no início de SQL Murder Mystery, o jogador recebe algumas instruções básicas:
Ocorreu um crime e o detetive precisa da sua ajuda. Você se lembra vagamente de que o crime foi um assassinato ocorrido em 15 de janeiro de 2018 e que aconteceu em SQL City.
Comece recuperando o relatório da cena do crime correspondente do banco de dados do departamento de polícia.
A partir daí, o jogador precisa usar suas habilidades de consulta SQL para encontrar o assassino. Se a pessoa possuir experiência com SQL, poderá resolver o mistério rapidamente. Caso contrário, existe um bom passo a passo para mostrar algumas dicas de consulta, e, consequentemente, aprender a linguagem no processo.
CodinGame
CodinGame é uma coleção de vários minijogos de codificação. Este site permite o aprendizado de diversas linguagens de programação por meio de games baseados em turnos. Neles, o programador pode codificar em quase qualquer linguagem de programação que desejar.
Esse jogo suporta o uso de mais de vinte linguagens de programação, como, por exemplo, PHP, C e JavaScript. Do mesmo modo, ele também as compila em um servidor.
Portanto, o jogador pode escolher a linguagem de programação que deseja dominar. Para jogar, ele começa a adicionar partes de código que faltam para atingir seu objetivo.
No CodinGame, o programador também consegue testar seu trabalho quantas vezes desejar. E, após conseguir um resultado positivo, pode enviar sua resposta e se concentrar na próxima tarefa.
A interface do usuário é repleta de recursos e pode ser personalizada. Por exemplo, o programador consegue definir o estilo do seu editor de código entre “Emacs”, “Vim” ou “Clássico” (o tema padrão).
Os games podem ser jogados tanto no modo single player quanto no modo multiplayer. No segundo, o programador pode resolver os desafios do CodinGame com outros usuários, possibilitando uma maior troca de experiências, e, portanto, uma experiência mais ampla de aprendizado.
Embora a plataforma tenha sido lançada em 2012, ainda hoje ela é considerada referência para aqueles que querem aprender programação.
Screeps
Screeps é um Massively Multiplayer Online Game (MMO), que em tradução literal quer dizer Jogo Multijogador Online em Massa. Ele é perfeito para quem deseja programar em JavaScript.
Ele também é um game de estratégia de mundo aberto, no qual o jogador controla unidades, chamadas creeps, que irão ajudá-lo a extrair recursos, estabelecer seu território, entre outras várias tarefas e objetivos. Por ser um jogo multiplayer, ele estimula a interação dos creeps dos jogadores entre si.
Ao contrário de outros games mencionados aqui, este pede que o jogador já tenha uma noção de programação básica para que possa avançar nas missões.
O jogador controla suas unidades creeps, escrevendo códigos de JavaScript para fornecer o comando. O nome Screeps (scripting your creeps) veio desse conceito: escrevendo seus creeps.
Além do Java, existe a possibilidade de compilar outras linguagens no jogo, como, por exemplo, o C ++, e, portanto, executá-las por meio do WebAssembly.
Este último, também chamado de wasm é um formato portátil para execução, carregamento, verificação e exibição de modelos de código. Ele serve como um alvo de compilação para a web.
Screeps foi lançado em 2017, porém continua sendo popular entre os programadores. Atualmente, ele possui uma avaliação positiva de 89% na Steam, com mais de mil análises. Ele é, portanto, um torna um dos jogos mais aclamados dessa plataforma de games online.
Ruby Warrior
Este é um jogo simples baseado em navegador, com gráficos no estilo dos anos 80 que permite que se aprenda Ruby on Rails gratuitamente.
Embora essa linguagem de programação não seja uma das mais relevantes, muitos usuários gostam de Ruby Warrior por ser dinâmico e divertido.
O jogo é um side-scroller 2D que coloca seu personagem principal diante de uma série de obstáculos, cada um mais complexo do que o anterior. Para controlar o personagem é necessário usar a lógica de programação do Ruby on Rails.
À medida que o jogo avança, o player testa e aprimora suas habilidades de codificação, consequentemente, aprendendo cada vez mais como programar nessa linguagem.
Ruby Warrior é de uso gratuito e quem se interessar pode fazer o login através da conta do Facebook, se desejar manter seu progresso para a próxima sessão.
Conclusão
Dominar uma linguagem de programação, como Python, Ruby on Rails, JavaScript ou C++, é importante para quem desejar se tornar um desenvolvedor fazer seus aplicativos, jogos e sites.
Como mostramos neste artigo, a gamificação torna, portanto, a educação mais simples e divertida. Exatamente por essa razão, o Pátio Digital Academy optou por ser plataforma de ensino gamificada online e profissionalizante em jogos digitais e animação 3D.
Para quem quiser aprender a programar, também ofertamos a disciplina de Lógica de Programação, dentro do nosso módulo I.