Matcha9000
Os jogos salvos ficam apenas neste navegador.
Sobre o jogo
Matcha9000 coloca um pequeno robô num tabuleiro cercado de paredes e nunca deixa você controlá-lo diretamente. Em vez disso, o lado esquerdo da tela guarda um programa numerado de até vinte linhas, e o canto inferior direito mostra os op codes (instruções) que você pode usar. Clique num deles e ele vai para o fim do programa; o robô executa o programa do começo, sem parar, num ritmo constante, e o tabuleiro recomeça cada vez que o programa chega à última linha.
O objetivo de toda fase é a casa de saída. Algumas fases pedem antes que você pegue todas as moedas, mostradas num contador no alto, para a saída abrir. Outras trazem botões que precisam ser apertados e lasers que cruzam o tabuleiro. Novos op codes são liberados pelo caminho:
| Op code | A partir da fase | O que faz |
|---|---|---|
| STEP | 1 | anda uma casa para a frente |
| SLEEP | 2 | espera um tempo |
| ROT N | 3 | gira no sentido horário N vezes |
| USE | 4 | aperta o botão à frente |
| GOTO N | 5 | pula para a linha N |
| ADD N | 6 | soma N ao acumulador |
| DEC N | 7 | subtrai N do acumulador |
| JIF N | 8 | pula para a linha N se o acumulador for zero |
Nas últimas fases você está escrevendo pequenos laços com contador, que é exatamente como funciona a linguagem assembly de verdade. O jogo tem nove fases e guarda a fase alcançada no disco do WASM-4.
Jogando aqui
Matcha9000 foi feito para o WASM-4, um fantasy console: um portátil imaginário com tela de 160 por 160, quatro cores, um direcional e dois botões, para o qual desenvolvedores independentes criam jogos novos. O desenvolvedor dosisod o escreveu em AssemblyScript para a segunda game jam do WASM-4, em agosto de 2022. A versão que roda aqui é a 1.0.2, no runtime oficial do WASM-4. Clique em Jogar, leia as instruções curtas (em inglês) e clique em NEXT.
O jogo é jogado com o mouse. A fase atual fica guardada no navegador. O Enter abre o menu do WASM-4, onde também dá para salvar e carregar o estado enquanto a página está aberta.
Controles
| Entrada | Ação |
|---|---|
| Clique esquerdo num op code (canto inferior direito) | acrescentá-lo ao fim do programa |
| Clique direito numa linha do programa | apagá-la |
| Clique num argumento (N) | abrir os botões + / - para mudar o valor |
| R | reiniciar o cartucho na fase atual |
| Segurar Z ou X enquanto o cartucho reinicia | voltar o progresso para a fase 1 |
| Enter | menu do WASM-4 |
Algumas coisas que vale saber
O programa roda sozinho, em laço. Não há botão de executar: assim que você acrescenta uma linha, o robô começa a andar, e o tabuleiro recomeça cada vez que a última linha roda. Assista a um ciclo inteiro antes de acrescentar a próxima instrução.
Conte as casas. A maioria das primeiras fases se resolve contando quantos STEPs o robô precisa antes de cada curva.
GOTO economiza espaço. Vinte linhas acabam rápido. Uma sequência curta seguida de um GOTO para a linha 1 se repete quantas vezes for preciso.
Créditos e licença
Matcha9000 foi criado por dosisod, que escreveu o jogo, os gráficos e os efeitos sonoros em AssemblyScript. É software livre sob a GNU General Public License, versão 3, e o código-fonte da versão servida aqui está hospedado junto do jogo. O jogo compilado também traz o runtime do AssemblyScript (Apache License 2.0) e as ligações do WASM-4 (licença ISC), e roda aqui no runtime do WASM-4 (licença ISC). Os textos das licenças estão linkados nesta página.