SimuvieFichier sourceDernière MAJ 18/12/2017Notice :
- A : Activer/Désactiver la sauvegarde automatique
- Ctrl+L : Charger la sauvegarde automatique
- F5 : Sauvegarde manuelle
- F8 : Charger la sauvegarde manuelle
- R : Désactiver/Activer le mode "rebouclage" : la cellule rebouclera à l'opposé de l'écran dès
qu'elle franchira un bord (si l'option est désactivée, la cellule ne pourra pas franchir les bords
de l'écran).
- Espace : Afficher/masquer
la barre de stats- S : Afficher/Masquer un tableau représentant le nombre de pixels pour chaque niveau de couleur de
la palette.
- L : Afficher/Masquer la liste des points ayant atteint en premier chacune des couleurs.
- P : Faire basculer les données de direction entre occurrence/pourcentage
- 0-4 : Définir le nombre de décimales pour les pourcentages.
- F12 : Capture d'écran (à retrouver dans le dossier de sauvegardes).
--------
Amis AGSiens bonsoir. Aujourd'hui je vous propose de changer un peu de d'habitude avec un peu de poésie informatique (et pourquoi pas ?). Tout ce que vous allez voir ici n'a aucune réelle utilité, sinon le plaisir des yeux, la curiosité, la contemplation et l'expérimentation.
*
* *
Y'a pas longtemps j'ai regardé la dernière vidéo de
Science Étonnante, animée par le brillant David Louapre,
sur Le Jeu de la vie. Il s'agit d'un programme qui fait évoluer des formes selon des règles simples, pouvant faire apparaitre des choses insoupçonnées, comme si les pixels prenaient vie. Cela m'a rappelé sa vidéo sur
La Fourmi de Langton, qui m'avait à l'époque donné envie de m'amuser à en coder une sous AGS. Il va sans dire que je vous recommande chaudement ces deux vidéos, ainsi que toutes celles de la chaîne si vous êtes un peu curieux.ses, ça pullule de choses passionnantes à découvrir.
Mais la question n'est pas là. Le fait est que tout ça m'a donné envie de m'amuser à utiliser la programmation, et en l'occurrence AGS (vu que je ne connais que ça) comme outil d'expérimentation d'une sorte de "biologie informatique" (j'espère que
Billbis me pardonnera cet abus de langage si d’aventure il passait par ici). L'idée étant de faire la part belle à la contemplation et à la fascination de voir vivre un programme dont on a créé les règles de bases, mais dont le résultat nous échappe totalement.
Voici donc ce par quoi j'ai commencé :
- Un pixel rouge (appelons le "cellule") au centre d'un écran noir.
- À chaque cycle (approximativement 100/seconde) cette cellule se déplace aléatoirement d'un pixel vers la gauche, la droite, le haut ou le bas (ou même reste immobile).
- Sur chaque point survolé, la cellule laisse une trace de son passage.
- À chaque passage, cette trace est altérée.
De cette manière, non seulement la cellule se déplace à sa guise dans le terrain de jeu, mais ce faisant elle crée son propre environnement, tout un monde qui se dévoile et évolue progressivement sous nos yeux émerveillés.
J'ai d'abord laissé tourner le programme en utilisant la numérotation de base des couleurs d'AGS, c'est à dire que chaque pixel commence à la couleur 0 (le noir) et quand il est survolé par la cellule, il passe à 1, puis 2, etc...
Après quelques heures voici ce que j'obtiens :
C'est pas forcément hyper beau, surtout fixe, mais ça peut faire penser à une carte de jeu de rôle...
Deux constats :
1. C'était déjà mon impression, elle est plus où moins confirmée :
la gestion de l'aléatoire par AGS est un peu pétée (edit : bon, en fait il s'avère que ceci est très discutable)... Je pense que si les déplacement dans les 4 directions étaient en permanence parfaitement équiprobables, on obtiendrait (paradoxalement) un résultat plus homogène. Qu'à cela ne tienne, c'est plus rigolo comme ça.
2. La numérotation des couleurs d'AGS est un tantinet anarchique utilisée de cette manière.
Nouvelle tentative en commençant à la couleur 32 (les couleurs 0 à 31 étant réservées pour le 8-bit) et en ajoutant 100 à chaque passage. En contemplant l'évolution on trouve quelque chose d'assez intéressant, bien que les couleurs soient assez arbitraires encore une fois. Je laisse tourner le programme toute la nuit pour voir. Et non sans surprise, au réveil, j'obtiens de la neige de téléviseur hertzien, mais en couleurs :
Les couleurs ne permettent plus du tout de rendre compte des zones les plus fréquentées par notre cellule fétiche, alors que sur les premières heures l'ensemble était beaucoup moins chaotique. La faute encore à l'organisation des codes couleurs dans AGS (passer de 100 en 100 était aussi une méthode un peu bourrine).
Je cherche donc à obtenir quelque chose de plus joli, mais aussi qui rende mieux compte du trajet de la cellule, et des zones qu'elle a décidé de plus squatter que les autres. Arrive alors à mon renfort mon camarade
Thebroch, qui me propose la palette suivante :
À l'extrême gauche (mais point de révolution à l'horizon) la couleur que prendront les zones survolées une seule fois, tandis que plus on se dirige vers les couleurs de droite, plus cela signifie que la zone a été beaucoup fréquentée. Il ne me reste plus qu'à relever la numérotation de chaque couleur et d'inscrire cela dans un tableau.
Notez que tout ce que je vous ai monté jusqu'à maintenant a été simulé en basse résolution. Vu que nous disposons à présent d'une profondeur de couleurs certes plus réduite mais plus intéressante, faisons nous plaisir et passons en haute résolution. Je laisse actuellement tourner le programme depuis environ deux heures et voici ce que notre petite cellule rouge a dessiné sur son chemin (au passage, je vous laisse trouver Charlie
) :
Au départ, se dessine ce qui pourrait faire penser à de la fumée de cigarette, puis progressivement, un nuage cosmique, des amas de galaxie, que sais-je... Et tout ça à cause d'un petit point rouge qui se déplace à sa guise sur l'écran !
Ici on constate que la cellule (qui est partie du centre de l'image, je le rappelle) s'est d'abord dirigée vers le haut, avant de conquérir toute la partie droite de son univers. En deux heures, la partie gauche est restée inexplorée. Je pense que si je laisse tourner le programme jusqu'à demain, tout ça sera très différent.
* *
*
Vous voyez ici qu'on est parti de quelques principes très simples (les règles énoncées plus haut) puis que le tout a été progressivement peaufiné à coup de petits ajustements afin d'arriver à quelque chose de plus en plus joli, de plus en plus intéressant à contempler... Et ce n'est pas fini ! Il existe une infinité d'améliorations possibles pour rendre cette petite cellule et son environnement plus vivants, ou plus jolis, ou plus poétiques, ou plus intéressants. Pourquoi pas faire naître ou mourir de nouvelles cellules ? Créer des déplacements plus élaborés, etc... L'horizon des possibles n'a de limites que notre imagination (et nos compétences). Je suis donc totalement ouvert à vos suggestions !
Cependant vous n'avez vu ici que des images fixes, et pour apprécier la chose à sa juste valeur, il faut la voir en mouvement. Je vous met donc un lien pour télécharger le programme : chacune des simulations que vous ferez sera unique ! N'hésitez donc pas à poster vos captures d'écran pour comparer.
J'en profite aussi pour vous proposer le fichier source. Sentez-vous libre d'y faire toutes les modifications que vous voulez !