Paralelos entre Factorio e design de software



Trabalho como designer de software há muito tempo e posso dizer com segurança que isso é interessante. É um ótimo trabalho e não o trocaria por mais nada. É tão emocionante que algumas pessoas querem transmitir os aspectos mais interessantes do nosso trabalho e expressá-los em jogos.



Joguei dois desses jogos. O primeiro é Shenzhen.io . É semelhante ao que um engenheiro incorporado faria. Um engenheiro resolve quebra-cabeças escrevendo código de montagem para dispositivos de baixo consumo de energia. O que é ótimo neste jogo é que os desenvolvedores removeram os aspectos irritantes de codificação e comissionamento dele.



  • Os requisitos são claros e surpreendentemente adequados para a tarefa.
  • , . , .
  • , ( ) . , .


Um designer de software deve jogar Shenzhen.io? A jogabilidade deste jogo não é para todos. Para alguns, "parece muito trabalho". Afinal, quando você joga, você quer relaxar e não trabalhar em tarefas que já faz oito horas por dia. Independentemente disso, acho que vale a pena brincar apenas para ver o quão emocionante a tarefa se torna quando os requisitos são claros e as ferramentas de desenvolvimento são rápidas. Todos sabem que investir em desenvolvimento e ferramentas compensa, mas a diversão do jogo reforça esse sentimento.



O segundo jogo é Factorioque foi lançado na última sexta-feira, embora já seja jogável no Early Access há quase quatro anos. Aqueles que o jogaram provavelmente estão perplexos agora - afinal, este jogo é sobre construir uma fábrica, não sobre codificação. O jogador trabalha com esteiras, metais, derivados de petróleo e cria os recursos necessários para a fabricação de uma nave espacial.





E, no entanto, este jogo me lembra mais o design de software do que qualquer outro jogo. Deixe-me explicar o porquê.



  • . « » ? — . , . ( !) , , . , / .
  • « » (Don’t Repeat Yourself, DRY). — . , , , ? — « ». , , . — , - , , . Factorio — ( ) 4-5 . .
  • . , , , 3-5 . , . , . — , - . , .
  • . . , , , , . , , . !
  • . , - . — , . — , , . , .
  • . . , . , . , , (), , . , , , - . — . API , .
  • . , . - . , - . , . , 100 . — , , , . — , , . , , . — .
  • . , . - , . , . , , . , , . AWS CloudFormation — , . , , — , . , , , .
  • . , — . , . .


Mas antes de mais nada, este é um jogo sobre como lidar com a complexidade. Como projetar uma especificação e implementar sistemas que estejam em conformidade com essa especificação. Sobre o suporte e expansão gradual deste sistema.



Parece-me que jogar Factorio não tornará você um designer de software mais habilidoso. Mas se você projeta software, o jogo pode parecer divertido para você. Por outro lado, se você é bom no jogo, então definitivamente deveria tentar criar software.



Você pode comprar o Factorio no site oficial ou no Steam . Se você quiser experimentar o jogo antes de comprá-lo, ele tem uma demonstração gratuita . (Apenas uma dica - não espere uma venda. Este jogo nunca foi vendido e provavelmente não terá.)






Obrigado a Mineš Patel por revisar o rascunho e sugestões para melhorar o artigo.



Os comentários podem ser lidos no Hacker News e no reddit .



All Articles