Jeu de programmation - Programming game

Un jeu de programmation est un jeu vidéo qui intègre des éléments de programmation informatique , permettant au joueur de diriger des unités autrement autonomes au sein du jeu pour suivre des commandes dans un langage de programmation spécifique à un domaine , souvent représenté comme un langage visuel pour simplifier la métaphore de programmation. Les jeux de programmation se divisent en gros en deux domaines : les jeux à un joueur où les éléments de programmation constituent une partie ou la totalité d'un jeu de puzzle , et les jeux multijoueurs où le programme automatisé du joueur est opposé aux programmes des autres joueurs.

Comme des jeux de puzzle

Les premiers jeux du genre incluent System 15000 et Hacker , sortis respectivement en 1984 et 1985.

Les jeux de programmation ont été utilisés dans le cadre de jeux de réflexion, mettant le joueur au défi d'atteindre un résultat spécifique une fois que le programme commence à fonctionner. Un exemple d'un tel jeu est SpaceChem , où le joueur doit utiliser son langage visuel pour manipuler deux waldos afin de désassembler et réassembler des molécules chimiques. Dans de tels jeux, les joueurs peuvent tester et déboguer leur programme aussi souvent que nécessaire jusqu'à ce qu'ils trouvent une solution qui fonctionne. Beaucoup de ces jeux encouragent le joueur à trouver le programme le plus efficace, mesuré par le nombre de pas de temps nécessaires ou le nombre de commandes requises. D'autres jeux similaires incluent Human Resource Machine , SpaceChem et TIS-100 ont été créés par Zachtronics , une société de développement de jeux vidéo connue pour ses jeux de réflexion qui implémentent la programmation dans leurs mécanismes de jeu .

D'autres jeux incorporent les éléments de programmation en tant que parties de puzzles dans le jeu plus large. Par exemple, Hack 'n' Slash inclut une métaphore permettant d'accéder aux programmes internes et aux variables des objets représentés dans le monde du jeu, mettant en pause le reste du jeu lorsque le joueur engage cette interface de programmation, et modifie le programme de l'objet pour progresser davantage; cela pourrait changer l'état d'un objet d'indestructible à destructible. D'autres jeux similaires avec ce type d'approche de programmation incluent Transistor , sinon Heart.Break() , Glitchspace et Pony Island .

Une autre approche utilisée dans certains jeux graphiques avec des éléments de programmation consiste à présenter au joueur une interface de ligne de commande pour émettre des ordres via un langage spécifique à un domaine pour diriger des objets dans le jeu, permettant au joueur de réémettre des commandes lorsque la situation change plutôt que de créer un programme pré-fait. Des jeux comme Quadrilateral Cowboy et Duskers demandent à l'utilisateur de commander plusieurs petites créatures robotiques en tandem à travers le langage du code pour atteindre un certain objectif. Hackmud présente au joueur une interface mainframe simulée à travers laquelle il émet des commandes pour progresser.

Comme jeux compétitifs

De nombreux jeux de programmation impliquent de contrôler des entités telles que des robots , des tanks ou des bactéries qui cherchent à s'entre-détruire. De tels jeux peuvent être considérés comme des environnements d' organismes numériques , liés à des simulations de vie artificielle . Les joueurs reçoivent des outils pour développer et tester leurs programmes dans le langage spécifique au domaine du jeu avant de soumettre le programme à un serveur central. Le serveur exécute ensuite le programme contre d'autres et rapporte les résultats au joueur, à partir duquel il peut apporter des modifications ou des améliorations au programme. Il existe différents tournois et ligues pour les jeux de programmation où les personnages peuvent s'affronter. Habituellement, un script est optimisé pour une stratégie spéciale. Des approches similaires sont utilisées pour les jeux plus traditionnels ; le championnat du monde d'échecs par ordinateur consiste en des matchs entre des programmes écrits pour le jeu de stratégie abstrait des échecs .

Le jeu de programmation compétitif a également trouvé sa place dans divers jeux de société tels que RoboRally ou Robot Turtles , généralement où un programme devient un jeu de cartes prédéfinies jouées une par une pour exécuter ce code.

Les chercheurs ont présenté RoboCode comme un substrat « d'apprentissage basé sur des problèmes » pour l'enseignement de la programmation.

Domaines connexes

Les jeux en monde ouvert qui offrent aux joueurs la possibilité de construire des environnements à partir d'un éventail de blocs de construction ont souvent été utilisés par des joueurs plus avancés pour construire des circuits logiques et des programmes plus avancés à partir des blocs fondamentaux. Minecraft en est un exemple, car bien que le jeu fournisse un ensemble limité de blocs qui imitent les commutateurs et les circuits électriques, les utilisateurs ont pu créer des ordinateurs fonctionnels de base dans le monde virtuel, et au moins une modification vise à apprendre aux enfants à programmer. sur l'ordinateur virtuel dans un langage simpliste.

Plusieurs sites, tels que Codecademy , aident à enseigner les langages de programmation du monde réel grâce à la gamification , où les principes du jeu vidéo sont utilisés pour motiver l'utilisateur.

Voir également

Les références

Liens externes