C++Robots para C++, nao tenho duvidas de que haja pelo menos um par destes jogos por ai, para cada linguagem de programacao. Ruby, python quem sabe ate brainfuck - nao me surpreenderia!Uma abordagem mais amigavelTLE - Dentro da naveEm meados de 2009 tive o prazer de auxiliar uns amigos Erick Lima, Thiago Martins no projeto de conclusao de curso onde se propunham a utilizar o videogame como forma de ensino de programacao. O projeto se chamava TLE CONTRA O TEMPO: A SALA DE AULA LEVADA AO MUNDO DOS GAMES. O jogador andava por um nave em 3D solucionando problemas tecnicos atraves de pequenos algoritmos programados em uma linguagem simplificada chamada Portugol diretamente dentro do jogo e ao concluir, o jogo executava o interpretador da linguagem e comparava se a saida do algoritmo do jogador poderia ser aceita como correta ou nao. Os desafios neste jogo contem sempre o fator tempo, forcando o jogador a TLE - Console de Programacao dentro do jogosolucionar o problema de maneira rapida ou enfrentar resultados catastroficos. No caso a esquerda, ha uma quantidade limitada de oxigenio disponivel para o jogador enquanto ele tenta escrever um algoritmo que quebre uma senha.O projeto e simples mas bastante divertido e pode ser baixado aqui.Apesar da simplicidade, este jogo quebrou alguns paradigmas se comparado aos outros jogos de programacao. Neste o foco nao e somente programacao, tambem contem uma estoria e uma narrativa justificando as acoes do jogador. Alem disso, o que considero mais importante, este jogo nao requer que o jogador compile manualmente seus codigos nem que saiba uma linguagem de programacao especifica . Ok, eu entendo que o jogador precisa saber o tal portugol mas e algo muito mais proximo da linguagem humana do que C, java ou assembly.Com isso, se por um lado perdemos um grupo especifico de nerds freneticos em seus teclados, avidos por escrever linhas nas suas linguagens preferidas, por outro lado aproximamos o jogador menos tecnico deste tipo de jogo. Na pratica o jogo cumpre seu papel como ferramenta de ensino de programacao.Depois deste projeto fiquei realmente interessado em aproximar jogos de programacao de jogadores nao-programadores. Ha cerca de 2 anos comecei meu proprio jogo de programacao que chamei de Sentinel e fico feliz em mostrar as primeiras cenas deste projeto e comentar um pouco sobre a sua implementacao nos paragrafos que se seguem. Sentinel - Ambiente de programacao SimplificadoPequeno programa SENTINELMuitos projetos pela web permitem que pessoas leigas criem alguma logica de programacao e pequenos algoritmos de maneira intuitiva ou pouco complexa utilizando linguagens visuais.O Google app inventor e um bom exemplo disso, permitindo que usuarios conectem blocos de isntrucoes como quebra-cabecas.Esta abordagem alem de substituir completamente a digitacao de codigo por parte do usuario, tambem impede erros sintaticos e semanticos que seriam inconvenientes de tratar durante a execucao do jogo. Depois de ter muito trabalho implementando um ambiente de programacao visual, descobri o projeto Blokly que implementa este ambiente de forma geral, permitindo bastante customizacao. O resultado desta programacao e a Abstract Syntax Tree (AST) representada em XML pronta para ser enviada ao