
Je travaille depuis longtemps en tant que concepteur de logiciels et je peux dire avec confiance que c'est intéressant. C'est un excellent travail, et je ne l'échangerais contre rien d'autre. C'est tellement excitant que certaines personnes veulent transmettre les aspects les plus intéressants de notre travail et les exprimer dans des jeux.
J'ai joué à deux de ces jeux. Le premier est Shenzhen.io . C'est similaire à ce que ferait un ingénieur embarqué. Un ingénieur résout des énigmes en écrivant du code d'assemblage pour les appareils de faible puissance. Ce qui est génial avec ce jeu, c'est que les développeurs ont supprimé les aspects ennuyeux du codage et de la mise en service.
- Les exigences sont claires et étonnamment bien adaptées à la tâche.
- , . , .
- , ( ) . , .
Un concepteur de logiciel devrait-il jouer à Shenzhen.io? Le gameplay de ce jeu n'est pas pour tout le monde. Pour certains, cela «ressemble trop au travail». Après tout, lorsque vous jouez, vous voulez vous détendre, pas travailler sur des tâches que vous faites déjà huit heures par jour. Quoi qu'il en soit, je pense qu'il vaut la peine de jouer pour voir à quel point la tâche devient passionnante lorsque les exigences sont claires et que les outils de développement sont rapides. Tout le monde sait qu'investir dans le développement et les outils est payant, mais le plaisir du jeu renforce ce sentiment.
Le deuxième jeu est Factorioqui est sorti vendredi dernier, bien qu'il soit jouable en Early Access depuis près de quatre ans maintenant. Ceux qui y ont joué sont probablement perplexes maintenant - après tout, ce jeu consiste à construire une usine, pas à coder. Le joueur travaille avec des convoyeurs, du métal, des produits pétroliers et crée les ressources nécessaires à la fabrication d'un vaisseau spatial.
Et pourtant, ce jeu me rappelle plus la conception de logiciels que tout autre jeu. Laissez-moi vous expliquer pourquoi.
- . « » ? — . , . ( !) , , . , / .
- « » (Don’t Repeat Yourself, DRY). — . , , , ? — « ». , , . — , - , , . Factorio — ( ) 4-5 . .
- . , , , 3-5 . , . , . — , - . , .
- . . , , , , . , , . !
- . , - . — , . — , , . , .
- . . , . , . , , (), , . , , , - . — . API , .
- . , . - . , - . , . , 100 . — , , , . — , , . , , . — .
- . , . - , . , . , , . , , . AWS CloudFormation — , . , , — , . , , , .
- . , — . , . .
Mais avant tout, il s'agit d'un jeu sur la façon de gérer la complexité. Comment concevoir une spécification et mettre en œuvre des systèmes conformes à cette spécification. A propos du support et de l'expansion progressive de ce système.
Il me semble que jouer à Factorio ne fera pas de vous un concepteur de logiciels plus habile. Mais si vous concevez un logiciel, le jeu peut vous sembler amusant. Inversement, si vous êtes bon dans le jeu, vous devez absolument vous essayer à la conception de logiciels.
Vous pouvez acheter Factorio sur le site officiel ou sur Steam . Si vous souhaitez essayer le jeu avant de l'acheter, il propose une démo gratuite . (Juste un conseil - ne vous attendez pas à une vente. Ce jeu n'a jamais eu de vente, et ce ne sera probablement pas le cas.)
Merci à Mineš Patel pour la relecture du brouillon et suggestions pour améliorer l'article.
Les commentaires peuvent être lus sur Hacker News et sur reddit .