Jogos para programadores


Olá novamente, hoje falaremos sobre um fenômeno geralmente incomum como jogos de programação. Ou jogos para programadores. Em resumo, jogos em que na maioria das vezes você não pode resolver diretamente alguns problemas, mas precisa elaborar instruções e instruções para resolvê-los. Então para quem eles são?


(contamos tudo isso e muito mais na versão em vídeo, que pode ser encontrada no final do artigo; nela você pode ver a jogabilidade de jogos e outros materiais sobre o tópico).

Eles devem ser divididos em várias categorias: a primeira são jogos educativos que devem ajudar crianças ou os alunos entendem os conceitos básicos de programação, compilando algoritmos, comandos e princípios gerais. Por exemplo, a popular linguagem gráfica Scratch, que pode ser usada diretamente no navegador. Ou o sistema russo do PictoMir. Mesmo uma linguagem conhecida como BASIC, quando foi criada no início dos anos 60, foi concebida como uma versão simplificada com uma sintaxe entendida por não programadores.


A próxima categoria são jogos sobre programação e para quem é o proprietário. Os jogadores já precisam usar suas habilidades para vencer, ou seja, o jogo pode usar alguma linguagem de programação real ou sua aparência. Obviamente, esses jogos geralmente têm um manual detalhado.

E, finalmente, jogos algorítmicos, em que a programação é uma parte discreta e orgânica da jogabilidade.


Não é necessário que a escrita do algoritmo seja apresentada na forma de comandos de texto: por exemplo, há uma série de The Incredible Machine, um quebra-cabeça em que elementos complexos devem ser construídos a partir de elementos para executar algumas tarefas simples. Estourar todos os balões na tela, guiar os ratos para o queijo, lançar um foguete e similares - níveis do mar. Ela tem um análogo mais moderno, Crazy Machines, e até mesmo um remake dos mesmos autores. Para resolver isso, você recebe um conjunto de blocos: tiras, bolas, soquetes para aparelhos elétricos, mas nem todos os blocos de construção são estáticos: em alguns, você pode definir um temporizador ou fazê-lo para que eles comecem a funcionar depois de serem ligados, ou trabalhem pela segunda vez ou faça a classificação . Escopo enorme para a criatividade algorítmica.


Bem, se você olhar para jogos muito populares, por exemplo, em Dragon Age: Origins, poderá detalhar, passo a passo, controlar o comportamento dos membros do seu grupo na batalha. Com novos níveis, eles até abrem novas opções. Era possível escolher quem atacar primeiro, quando aplicar habilidades ou magia, sob quais condições mudar para outros inimigos e afins. O que não é um algoritmo?


Mas vamos às origens da pergunta: quando os programadores começaram a brincar com seus colegas? E isso aconteceu em 61, no início da era do computador, quando um grupo de desenvolvedores da empresa americana Bell Labs: Victor Vysotsky (filho de imigrantes russos), Malcolm Douglas McElroy e Robert Morris construíram o primeiro jogo, se é que posso chamar assim. Nenhuma imagem ou código foi salvo, mas o conceito foi posteriormente descrito e publicado. Esse jogo, Darwin, foi uma "batalha de programas", ou seja, Usando as três funções disponíveis - investigar, matar e reivindicar - era necessário compor um programa que sobrescritasse o código inimigo, impedindo-os de se multiplicar. E o mais interessante é que as batalhas ocorreram na memória do mainframe real do IBM 7090 sem virtualização - o movimento errado e a tela azul, ou melhor,luzes de alarme no console do operador! Isso foi feito para melhorar o desempenho, para não escrever um intérprete. O jogo não durou muito - apenas algumas semanas, até que o programa "final" do assassino foi inventado, o que não deixou chance para o oponente.


Mas o legado de Darwin não foi esquecido e, uma vez outro autor, Alexander Dudney, também um cientista, um popularizador da ciência, autor de romances de ficção científica e coleções de poesia, descreveu em detalhes um conceito semelhante com várias melhorias. Ele, é claro, fundou a idéia em Darwin. O jogo foi chamado Core War e um artigo detalhado sobre ele apareceu na revista "In the world of science", em 1984. Nele, o campo de batalha não era a memória de um computador real, mas o ambiente virtual de um computador MARS imaginário. O código dos programas opostos lembrava a linguagem assembly. Embora o autor não tenha apresentado os códigos-fonte, vários entusiastas criaram suas próprias versões, que se tornaram tão populares que as competições para o melhor programa começaram a ser realizadas neste jogo, um conjunto de regras e padrões apareceu no final dos anos 80 (aqui está, o surgimento do e-sports!) e muitas implementações posteriores,e como resultado da competição até hoje. E, com certeza, eles estão atraindo mais espectadores do que os fluxos de Starcraft.


O próximo jogo, a Guerra dos Robôs de 1981, foi muito mais fácil de usar e mais próximo dos jogos tradicionais de computador. Seu autor foi Silas Warner, conhecido por seu outro jogo, Castle Wolfenstein, aquele que inspirou a id Software para um remake e uma série de longa duração. Além disso, Castle Wolfenstein é considerado o primeiro jogo furtivo, mas não sobre isso agora.


O protótipo Robot War foi criado (ou espionado) pelo autor enquanto trabalhava com o sistema PLATO nos anos 70. O PLATO foi uma incubadora de idéias única, onde pela primeira vez muitas coisas que nos eram familiares hoje apareceram: fóruns, e-mail, aplicativos da web, jogos de interpretação de papéis, atiradores de tanques multiplayer e muito mais. Neste jogo, foi proposto o desenvolvimento independente da IA ​​de um tanque robótico. O tamanho do código foi limitado a 256 linhas, o que não é tão pequeno. Bem, após o teste, você pode levar seu amigo de ferro para a arena para esclarecer as relações com outras latas, que já foram mostradas graficamente e todas as ações eram visíveis em tempo real. O jogo foi lançado para o computador Apple II e pode ser visualizado através do emulador. Em geral, as batalhas de muitas IAs se tornaram um tema popular para esses jogos.


Outro jogo sobre robôs, havia tanto interesse neles, foi o Robot Odyssey, já no 84º. E esse já é um desenvolvimento claro, porque além do design e da programação reais, a parte da trama também apareceu. O jogo tem um personagem - um garoto que caiu na cidade subterrânea de robôs. E para voltar para casa, ele precisa usar os robôs que encontra ao longo do caminho, reprogramando-os para novas tarefas.


E aqui começa a parte mais interessante: o jogo sugere o desenvolvimento não apenas de software, mas de fato criando novo hardware, chips a partir de elementos primitivos, escolhendo a lógica dos robôs. Como resultado, a complexidade e sofisticação desse processo, bem como sua semelhança com a realidade, chocaram não apenas os atores, mas também os especialistas do presente. O Robot Odyssey agora é considerado "o jogo mais desafiador de todos os tempos".

Além disso, os criadores devem observar que ele possui um tutorial detalhado interno - uma raridade naqueles anos. E os autores do jogo não tinham ilusões sobre a complexidade, e aqueles que a aprovaram receberam um certificado pessoal.


Mas a jogabilidade não precisa ser tão difícil e impiedosa, e um exemplo disso é o jogo Tower of Babel, o quebra-cabeça de 89 anos do Atari ST. Aqui, controlamos um dos três robôs que possuem habilidades únicas, mas a programação não precisa ser realizada constantemente, mas apenas quando surge a necessidade, e precisamos coordenar suas ações quando é impossível executar uma tarefa. Isso lembra The Vikings Lost?


Jogos algorítmicos foram na Rússia. Por exemplo, um emocionante jogo Navigator para o computador MSX. Este computador tem sido usado em escolas soviéticas e russas desde a segunda metade dos anos 80. O jogo em si apareceu no 89º ou 90º ano. Era de natureza educacional e era necessário estabelecer uma rota para o computador de navegação da nave planetária, para que os assentamentos coloniais recebessem os bens de que precisavam. A "linguagem" de escrever o algoritmo era bastante simples - para não sobrecarregar os alunos.


Outro jogo doméstico foi chamado Snake Battle e foi criado por Gamos, mais conhecido por suas linhas de cores e pela missão Pilot Brothers. Mas esse jogo em particular foi claramente projetado para um público diferente. O princípio básico é retirado dos jogos clássicos à la Snake, ou seja, uma cobra rasteja pela tela, come pontos e fica mais longa e assim por diante. Mas aqui outras cobras devem ser usadas como alimento, controladas, como você pode imaginar, pela inteligência artificial. Apesar do fato de o jogo ter sido original e um tanto inovador, ele não trouxe muita distribuição, reconhecimento e dinheiro ao seu criador.


E, estranhamente, um gênero tão complexo e específico chegou aos prefixos. A série Carnage Heart apareceu pela primeira vez no Playstation em 95 e desde então passou a várias sequências, inclusive no PSP. Um fato surpreendente, dado que o jogo é realmente difícil. Ele também lida com lutas de imagens de metal programadas por nós. Instruções gráficas são usadas para escrever instruções de uma lista bastante extensa, quase todas podendo ser personalizadas de alguma forma. Foi complicado pelo fato de não haver um manual interno aqui, e o vídeo de treinamento estar no segundo disco.


E, finalmente, o TIS-100 é um dos jogos mais recentes sobre esse assunto, e longe de ser o mais fácil. No centro da trama, há um computador misterioso que estava acumulando poeira na garagem do seu tio. Infelizmente, o tio morreu de repente e você recebe o TIS-100. É difícil encontrar informações sobre esse modelo, alguns blocos de memória estão fechados para acesso, embora o tio tenha lutado por um longo tempo para resolver o mistério de sua origem e destino. Bem, agora este dinossauro nem quer inicializar - ele não pode executar o teste de diagnóstico mais simples.

Se você descrever o jogo em palavras simples, também será um quebra-cabeça. Aqui, o processo é dividido em tarefas separadas, e elas não precisam ser executadas em sequência direta. Após a decisão, como em muitos quebra-cabeças, você verá sua classificação, além disso, fornecendo estatísticas de outros jogadores e avaliando seu raciocínio rápido.


Mas comparar o TIS-100 com um pouco de Cut the Rope não seria totalmente correto. Afinal, este é de fato um simulador de um sistema parecido com um transputador que era popular nos anos 80. O sistema é programado em uma linguagem assembly simplificada. Cada processador, ou nó, e há 12 deles, tem um limite no número de linhas do programa. Ao mesmo tempo, o número de nós oferece maior liberdade na maneira de resolver tarefas. As tarefas são bastante variadas, mas geralmente elas têm a seguinte forma: pegue os dados iniciais, execute algumas ações neles (classificação, operações aritméticas ou outra coisa) e envie-os para a porta desejada.

Por um lado, essas manipulações são fáceis de fazer em muitas linguagens de programação, mas isso não é BASIC e, portanto, você terá que procurar soluções em termos da arquitetura misteriosa e da lista de comandos disponíveis.

E com isso terminaremos a excursão ao mundo dos jogos. Se você gostou, confira nossos vídeos sobre este tópico - há jogos e fatos que não são abordados neste artigo.

Obrigado pela atenção!

// Virgílio, Dimouse, verdadeira tristeza.

PS O vídeo com a transferência é dividido em duas partes:

Source: https://habr.com/ru/post/pt394753/


All Articles