O que é o jogo
Screeps: World é um jogo de estratégia que você não joga com as mãos. Sua colônia de pequenas unidades roda continuamente nos servidores do desenvolvedor, e a única forma de controlá-la é escrever JavaScript que o servidor executa em seu nome, ciclo após ciclo, esteja você conectado ou não. A Screeps LLC o mantém desde 2016, e o motor do jogo é open source.
O mundo é uma grade persistente de salas compartilhada com outros jogadores. As unidades minam energia, constroem geradores e extensões, transportam recursos, melhoram o controlador de uma sala, defendem muralhas e se expandem para salas vizinhas. Há uma economia, manufatura, logística e comércio com colônias de outros jogadores. Tudo isso é código que você escreveu.
Você observa por um cliente de navegador que mostra as salas em funcionamento, com um console para seus próprios registros. Um pacote inicial gratuito dá acesso permanente com um limite de vinte CPU; um desbloqueio vitalício de CPU pago uma única vez ou consumíveis dentro do jogo aumentam esse limite, e um shard separado com CPU travada deixa todo mundo competir com o mesmo orçamento. Também existe uma versão paga na Steam.
O que você realmente faz
Você escreve um programa, e depois observa ele falhar de jeitos que você não previu. Uma unidade que colhe bem em um nível da sala bloqueia um corredor no nível seguinte; um transportador morre para um invasor enquanto você dorme e nada reabastece o gerador. Como o código roda sem supervisão, tudo precisa lidar com o caso em que você não estava lá. Então o trabalho é ler registros, acrescentar uma verificação, publicar, e voltar depois para ver se a colônia se recuperou sozinha. Melhorar parece substituir comportamento fixo por papéis que decidem por si mesmos, e manter tudo dentro do orçamento de CPU.
O que exercita
- Escreve JavaScript que precisa rodar sem supervisão e se recuperar de falhas
- Lê registros para descobrir por que um sistema quebrou sem ninguém olhando
- Projeta papéis e máquinas de estado em vez de programar cada ação
- Refatora código que funcionava em pequena escala e quebrou em escala maior
Por que avaliamos como Excepcional Pontuação interna 91 / 100
EncaixeQuanto conhecimento ou habilidade real o próprio jogo exige?93peso 45%
Encaixe marca 93. Não há nenhuma separação entre jogar e programar. O jogo não aceita nada além de código, então toda melhoria na colônia é uma melhoria em um programa e todo retrocesso é um bug a encontrar. Isto é praticamente o mais perto que um jogo chega de ser a própria disciplina que afirma ensinar, motivo pelo qual o número fica tão alto.
TransferênciaO que você pratica aqui funciona fora do jogo?90peso 30%
Transferência marca 90. Isto é JavaScript de verdade com modos de falha reais: exceções não capturadas, limites de memória, código que funciona em pequena escala e desmorona em escala maior. Programação defensiva, registro de logs, profiling e refatoração são os hábitos reais do trabalho, e se transferem diretamente para qualquer outra base de código. O que a mantém logo abaixo do topo é que o domínio é um mundo de jogo com sua própria API, sobreposta à linguagem.
PráticaO jogo faz você usar essa habilidade de novo e de novo, com dificuldade crescente?90peso 25%
Prática marca 90. A colônia nunca para, então o ciclo de observar, diagnosticar, corrigir e publicar se repete indefinidamente, e cada correção cria as condições para o próximo problema. Os jogadores ficam com a mesma base de código por meses, refatorando conforme a colônia cresce, o que se aproxima mais de como software é praticado de verdade num emprego real do que qualquer conjunto de exercícios conseguiria. Só a motivação limita até onde isso vai.
O que diz a evidência
Apenas critério editorialNinguém fora da nossa redação verificou. É a nossa leitura de como o jogo funciona.
O nível de evidência é apenas critério editorial. Três fontes são listadas: o login pelo navegador, a página oficial da loja e a ficha da Steam. Juntas, confirmam a Screeps LLC, o mundo persistente compartilhado, o modelo de controle por JavaScript, o motor open source, o pacote inicial gratuito com seu limite de vinte CPU, o desbloqueio vitalício de CPU e os consumíveis dentro do jogo, o shard com CPU travada, e os números de recepção da Steam usados em outro ponto desta página. O que nenhuma delas estabelece é que jogar melhora a programação de alguém. O argumento aqui é que a atividade simplesmente é programação, uma afirmação sobre a mecânica, não sobre um resultado medido.