Jeux pour programmeurs


Bonjour, nous allons parler aujourd'hui d'un phénomène aussi inhabituel que la programmation de jeux. Ou des jeux pour les programmeurs. En bref, les jeux où le plus souvent vous ne pouvez pas résoudre directement certains problèmes, mais vous devez rédiger des instructions et des instructions pour les résoudre. Alors, pour qui sont-ils?


(nous racontons tout cela et plus encore dans la version vidéo, qui se trouve à la fin de l'article; vous pouvez y voir le gameplay des jeux et autres matériaux sur le sujet)

Ils doivent être divisés en plusieurs catégories: le premier est des jeux éducatifs qui devraient aider les enfants ou les étudiants comprennent les bases de la programmation, la compilation d'algorithmes, les commandes et les principes généraux. Par exemple, le langage graphique populaire Scratch, qui peut être utilisé directement à partir du navigateur. Ou le système russe de PictoMir. Même un langage aussi connu que BASIC, lorsqu'il a été créé au début des années 60, a été conçu comme une version simplifiée avec une syntaxe comprise par les non-programmeurs.


La catégorie suivante concerne les jeux sur la programmation et pour ceux qui en sont propriétaires. Les joueurs doivent déjà utiliser leurs compétences pour gagner, c'est-à-dire le jeu peut utiliser un vrai langage de programmation ou son apparence. Bien sûr, ces jeux ont généralement un manuel détaillé.

Et enfin, les jeux algorithmiques, où la programmation est une partie discrète et organique du gameplay.


Il n'est pas nécessaire que l'écriture de l'algorithme soit présentée sous forme de commandes de texte: par exemple, il existe une série de The Incredible Machine, un puzzle où des éléments complexes doivent être construits à partir d'éléments pour effectuer des tâches simples. Éclatez tous les ballons sur l'écran, guidez les souris vers le fromage, lancez une fusée et autres - le niveau de la mer. Elle a un analogue plus moderne, Crazy Machines, et même un remake des mêmes auteurs. Pour résoudre ce problème, vous disposez d'un ensemble de blocs: bandes, balles, prises pour appareils électriques, mais tous les blocs de construction ne sont pas statiques: dans certains, vous pouvez définir une minuterie, ou faire en sorte qu'ils commencent à fonctionner après la mise sous tension, ou fonctionnent toutes les deux fois, ou effectuent un tri . Immense portée pour la créativité algorithmique.


Eh bien, si vous regardez des jeux très populaires, par exemple, dans Dragon Age: Origins, vous pouvez détailler, étape par étape, contrôler le comportement des membres de votre groupe au combat. Avec de nouveaux niveaux, ils ouvrent même de nouvelles options. Il était possible de choisir qui attaquer en premier, quand appliquer des compétences ou de la magie, dans quelles conditions passer à d'autres ennemis et autres. Qu'est-ce qui n'est pas un algorithme?


Mais passons aux origines de la question: quand les programmeurs ont-ils commencé à jouer avec leurs collègues? Et cela s'est produit en 61, à l'aube de l'ère informatique, lorsqu'un groupe de développeurs de la société américaine Bell Labs: Victor Vysotsky (le fils d'immigrants russes), Malcolm Douglas McElroy et Robert Morris a construit le premier jeu, si je peux l'appeler ainsi. Aucune image ou code n'a été enregistré, mais le concept a ensuite été décrit et publié. Ce jeu, Darwin, était une «bataille de programmes», c'est-à-dire En utilisant les trois fonctions disponibles - sonder, tuer et revendiquer - il était nécessaire de composer un programme qui écraserait le code ennemi, les empêchant de se multiplier. Et la chose la plus intéressante est que les batailles se sont déroulées directement dans la mémoire du vrai mainframe IBM 7090 sans aucune virtualisation - le mauvais mouvement, et l'écran bleu, ou plutôt,voyants d'alarme sur la console de l'opérateur! Cela a été fait pour améliorer les performances, afin de ne pas écrire d'interprète. Le jeu n'a pas duré longtemps - quelques semaines seulement, jusqu'à ce que le programme de tueur "ultime" soit inventé, qui ne laissait aucune chance à l'adversaire.


Mais l'héritage de Darwin n'a pas été oublié, et une fois un autre auteur, Alexander Dudney, également scientifique, vulgarisateur de la science, auteur de romans de science-fiction et de recueils de poésie, a décrit en détail un concept similaire avec un certain nombre d'améliorations. Il a, bien sûr, fondé l'idée sur Darwin. Le jeu s'appelait Core War et un article détaillé à ce sujet est paru dans la revue "In the world of science" en 1984. Dans ce document, le champ de bataille n'était pas la mémoire d'un véritable ordinateur, mais l'environnement virtuel d'un ordinateur MARS imaginaire. Le code des programmes opposés ressemblait au langage d'assemblage. Bien que l'auteur n'ait pas présenté les codes sources, divers passionnés ont créé leurs propres versions qui se sont avérées si populaires que des compétitions pour le meilleur programme ont commencé à se dérouler sur ce jeu, un ensemble de règles et de normes est apparu à la fin des années 80 (ici, c'est la naissance des e-sports!), Puis et de nombreuses implémentations ultérieures,et à la suite de la compétition à ce jour. Et, à coup sûr, ils attirent plus de téléspectateurs que les flux Starcraft.


Le jeu suivant, le Robot War de 1981, était beaucoup plus convivial et plus proche des jeux informatiques traditionnels. Son auteur était Silas Warner, connu pour son autre jeu, Castle Wolfenstein, celui qui a inspiré id Software pour une série de remake et de longue durée. De plus, Castle Wolfenstein est considéré comme le premier jeu furtif, mais pas à ce sujet maintenant.


Le prototype Robot War a été créé (ou espionné) par l'auteur alors qu'il travaillait avec le système PLATO dans les années 70. PLATO était un incubateur d'idées unique, où pour la première fois de nombreuses choses qui nous étaient familières sont apparues aujourd'hui: forums, e-mails, applications Web, jeux de rôle, tireurs de chars multijoueurs et bien plus encore. Dans ce jeu, il a été proposé de développer indépendamment l'IA d'un char robotisé. La taille du code était limitée à 256 lignes, ce qui n'est pas si petit. Eh bien, après le test, vous pouvez conduire votre ami de fer dans l'arène pour clarifier les relations avec les autres boîtes, ce qui était déjà illustré graphiquement et toutes les actions étaient visibles en temps réel. Le jeu est sorti sur l'ordinateur Apple II et peut être visualisé via l'émulateur. En général, les batailles de nombreuses IA sont devenues un thème populaire pour de tels jeux.


Un autre jeu sur les robots, il y avait un tel intérêt pour eux, était Robot Odyssey, déjà dans le 84e. Et c'est déjà un développement clair, car en plus de la conception et de la programmation réelles, la partie intrigue est également apparue. Le jeu a un personnage - un garçon qui est tombé à travers la ville souterraine de robots. Et pour rentrer chez lui, il doit utiliser les robots qu'il trouve en cours de route, les reprogrammer pour de nouvelles tâches.


Et ici commence la partie la plus intéressante: le jeu suggère de développer non seulement des logiciels, mais en fait de créer du nouveau matériel, des puces à partir d'éléments primitifs, de choisir la logique des robots. En conséquence, la complexité et la sophistication de ce processus, ainsi que sa ressemblance avec la réalité, ont choqué non seulement les acteurs, mais aussi les spécialistes du présent. Robot Odyssey est désormais considéré comme "le jeu le plus difficile de tous les temps".

En outre, les créateurs doivent noter qu'il dispose d'un didacticiel détaillé intégré - une rareté à l'époque. Et les auteurs du jeu ne se faisaient aucune illusion sur la complexité, et ceux qui l'ont réussi ont reçu un certificat personnel.


Mais le gameplay ne doit pas être si dur et impitoyable et un exemple en est le jeu Tower of Babel, le puzzle vieux de 89 ans pour Atari ST. Ici, nous contrôlons l'un des trois robots qui ont des capacités uniques, mais la programmation n'a pas besoin d'être effectuée en permanence, mais uniquement lorsque le besoin se fait jour, et nous devons coordonner leurs actions lorsqu'il est impossible de faire une tâche. Cela rappelle-t-il les Vikings perdus?


Les jeux algorithmiques étaient en Russie. Par exemple, un navigateur passionnant de jeu pour l'ordinateur MSX. Cet ordinateur est utilisé dans les écoles soviétiques et russes depuis la seconde moitié des années 80. Le jeu lui-même est apparu dans la 89e ou 90e année. Il était de nature pédagogique et il fallait y tracer une route pour l'ordinateur de navigation du vaisseau planétaire, afin que les colonies coloniales reçoivent les marchandises dont elles avaient besoin. Le «langage» d'écriture de l'algorithme était assez simple - pour ne pas surcharger les étudiants.


Un autre jeu national a été appelé Snake Battle et a été créé par Gamos, surtout connu pour ses lignes de couleurs et la quête Pilot Brothers. Mais ce jeu particulier a été clairement conçu pour un public différent. Le principe de base est tiré des jeux classiques à la Snake, c'est-à-dire un serpent rampe à travers l'écran, mange des points et devient plus long et ainsi de suite. Mais ici, d'autres serpents devraient être utilisés comme nourriture, contrôlés, comme vous pouvez le deviner, par l'intelligence artificielle. Malgré le fait que le jeu se soit avéré original et quelque peu innovant, il n'a pas apporté beaucoup de distribution, de reconnaissance et d'argent à son créateur.


Et étrangement, un genre aussi complexe et spécifique est arrivé aux préfixes. La série Carnage Heart est apparue pour la première fois sur la Playstation en 1995 et a depuis connu plusieurs suites, notamment sur la PSP. Un fait étonnant, étant donné que le jeu est vraiment difficile. Il traite également des combats d'images métalliques programmés par nos soins. Les instructions graphiques sont utilisées pour écrire des instructions à partir d'une liste assez étendue, dont presque chacune peut être personnalisée d'une manière ou d'une autre. C'était compliqué par le fait qu'il n'y a pas de manuel intégré ici, et la vidéo de formation était sur le deuxième disque.


Et enfin, le TIS-100 est l'un des derniers jeux sur ce sujet, et loin d'être le plus simple. Au centre de l'intrigue se trouve un mystérieux ordinateur qui accumulait de la poussière dans le garage de votre oncle. Hélas, l'oncle est mort subitement et vous obtenez le TIS-100. Il est difficile de trouver des informations sur ce modèle, certains blocs de mémoire sont fermés pour l'accès, bien que l'oncle ait lutté pendant longtemps pour résoudre le mystère de son origine et de sa destination. Eh bien, maintenant, ce dinosaure ne veut même pas démarrer - il ne peut pas effectuer le test de diagnostic le plus simple.

Si vous décrivez le jeu avec des mots simples, c'est aussi un casse-tête. Ici, le processus est divisé en tâches distinctes et il n'est pas nécessaire de les exécuter en séquence directe. Après la décision, comme dans de nombreux casse-tête, vous obtiendrez en outre votre note, donnant des statistiques sur les autres joueurs et évaluant votre intelligence.


Mais comparer le TIS-100 avec certains Cut the Rope ne serait pas tout à fait correct. Après tout, il s'agit en fait d'un simulateur d'un système de type transputer qui était populaire dans les années 80. Le système est programmé dans un langage d'assemblage simplifié. Chaque processeur, ou nœud, et il y en a 12, a une limite sur le nombre de lignes du programme. Dans le même temps, le nombre de nœuds offre une plus grande liberté dans la manière de résoudre les tâches. Les tâches sont assez variées, mais elles ont généralement la forme suivante: prendre les données initiales, effectuer certaines actions sur elles (tri, opérations arithmétiques ou autre) et les sortir sur le port souhaité.

D'une part, de telles manipulations sont faciles à faire dans de nombreux langages de programmation, mais ce n'est pas BASIQUE, et donc vous devrez chercher des solutions en termes d'architecture mystérieuse et de liste des commandes disponibles.

Et avec cela, nous terminerons l'excursion dans le monde des jeux. Si vous avez aimé, consultez nos vidéos sur ce sujet - il y a des jeux et des faits qui ne sont pas couverts dans cet article.

Merci de votre attention!

// Virgile, Dimouse, vrai grue.

PS La vidéo avec le transfert est divisée en deux parties:

Source: https://habr.com/ru/post/fr394753/


All Articles