2 points par GN⁺ 2024-08-19 | 1 commentaires | Partager sur WhatsApp

ALIEN - Explorer un monde de vie artificielle

⚡ Fonctionnalités principales

Moteur physique et graphique

  • Simulation de dynamiques de corps mous et rigides, de fluides, de dissipation thermique, de dégâts, d’adhérence, etc. à l’aide de particules
  • Interaction en temps réel de l’utilisateur avec la simulation en cours d’exécution
  • La simulation s’exécute entièrement sur le GPU via CUDA
  • Rendu et post-traitement via OpenGL en utilisant l’interopérabilité CUDA-OpenGL

Extension du moteur de vie artificielle

  • Les organismes multicellulaires sont simulés comme des réseaux de particules
  • Système génétique et composition de la descendance au niveau cellulaire
  • Réseaux neuronaux pour contrôler des fonctions avancées (par ex. capteurs et muscles)
  • Personnalisation des types de cellules à l’aide de différentes couleurs
  • Prise en charge de paramètres de simulation spatialement variés

Outils d’édition étendus

  • Éditeur de graphes pour manipuler les particules et leurs connexions
  • Outils de dessin libre et géométrique
  • Éditeur génétique pour concevoir des organismes personnalisés
  • Fonctions d’opérations en masse et de mise à l’échelle (zoom avant/arrière)

Réseau

  • Navigateur de simulations intégré
  • Téléchargement et envoi de fichiers de simulation
  • Recommandation de simulations avec un système d’étoiles

❓ Utilité de cet outil

  • Satisfaire la curiosité : une fois que des machines auto-réplicantes apparaissent et que les mutations sont activées, la simulation fait tout toute seule
  • Amusement : un moteur physique rapide et réaliste permet d’accélérer et de détruire des centaines de milliers de machines
  • Approche académique : aide à répondre à des questions fondamentales sur la manière dont la complexité ou des structures semblables au vivant émergent à partir de composants simples
  • Outil d’art génératif : l’évolution est une force créative qui produit de nouvelles formes et de nouveaux comportements

📘 Documentation

  • La documentation de la précédente version majeure est disponible sur alien-project.gitbook.io/docs
  • La version la plus récente inclut une documentation succincte et un guide utilisateur via la fenêtre d’aide et les infobulles du programme

🖥️ Configuration minimale requise

  • Carte graphique Nvidia avec compute capability 6.0 ou supérieure requise

💽 Programme d’installation

  • Programme d’installation pour Windows : alien-installer.msi (mise à jour : 2024-08-17)

🔨 Compilation depuis les sources

  • Pour récupérer le code source, saisissez la commande suivante dans le répertoire approprié :
    git clone --recursive https://github.com/chrxh/alien.git
    
  • Étapes de compilation :
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    cmake --build . --config Release -j8
    

⌨️ Interface en ligne de commande

  • CLI incluse pour exécuter des simulations sans utiliser l’interface graphique
  • Exemple :
    .\cli.exe -i example.sim -o output.sim -t 1000
    

🔎 Dépannage

  1. Vérifiez que votre carte graphique NVIDIA prend en charge le compute capability 6.0 ou supérieur
  2. Installez le dernier pilote graphique NVIDIA
  3. Vérifiez que le nom du répertoire d’installation ne contient pas de caractères non anglais
  4. Vérifiez qu’ALIEN dispose des droits d’écriture dans son propre répertoire
  5. Si vous avez plusieurs cartes graphiques, assurez-vous que le moniteur principal est connecté à la carte compatible CUDA
  6. Si vous avez à la fois une carte graphique intégrée et dédiée, configurez l’utilisation de la carte graphique haute performance

🌌 Captures d’écran

  • Diverses flores autour d’une source de rayonnement
  • Gros plan sur différents types d’organismes, avec visualisation des réseaux cellulaires
  • Divers essaims attaquant l’écosystème
  • Éditeur génétique

🧩 Contribution au projet

  • Contributions possibles via GitHub Issues, Pull requests ou le forum Discussions
  • Possibilité d’apporter du nouveau contenu, de créer ou partager des fichiers multimédias, de signaler des bugs, de demander des fonctionnalités, de poser des questions ou de faire des retours
  • Les Pull requests pour corriger des bugs, nettoyer le code, optimiser ou effectuer de petits ajustements sont les bienvenues
  • Une concertation préalable est nécessaire pour les nouvelles fonctionnalités, le refactoring ou les changements majeurs

💎 Crédits et dépendances

  • Développé et maintenu principalement par Christian Heinemann
  • Bibliothèques externes utilisées : CUDA Toolkit, Dear ImGui, ImPlot, ImFileDialog, boost, Glad, GLFW, glew, stb, cereal, zlib, zstr, OpenSSL, cpp-httplib, googletest, vcpkg, WinReg, CLI11

🧾 Licence

  • ALIEN est distribué sous licence BSD 3-Clause

Résumé de GN⁺

  • ALIEN est un outil de simulation de vie artificielle qui utilise un moteur de particules 2D basé sur CUDA pour simuler des corps mous et des fluides
  • C’est un outil ludique et éducatif qui permet aux utilisateurs de concevoir divers organismes et d’observer leur évolution
  • Il peut aider à comprendre les conditions d’évolution de systèmes biologiques complexes
  • Il propose divers outils d’édition, comme un éditeur génétique, pour concevoir des organismes personnalisés
  • Une carte graphique NVIDIA est requise, et il faut vérifier les pilotes récents ainsi que les éventuels problèmes de compatibilité

1 commentaires

 
GN⁺ 2024-08-19
Commentaires sur Hacker News
  • Ressource recommandée pour les débutants : recommandation de https://natureofcode.com/

    • destiné aux débutants et utilisant une bibliothèque JS, mais les idées présentées sont générales
  • Expérience avec la simulation Alien : exécution de la simulation Alien depuis plusieurs mois

    • utilisation du réglage initial "RGB Triad", avec trois types de formes de vie formant des structures cellulaires complexes
    • présence de "cristaux" géométriques, de longs filaments cherchant à dévorer d’autres formes de vie, et de structures épineuses formant des murs
  • Projet de simulation Alien : ce projet est stupéfiant

    • son propre programme en console progresse lentement, mais ce projet est extrêmement rapide
  • Souvenir d’un jeu Flash : souvenir d’un jeu Flash où de petites particules avaient chacune un comportement propre

    • chaque particule pouvait entrer en collision, réagir, se transformer ou détruire d’autres particules
    • l’emergent gameplay est toujours amusant
  • Partage de liens vidéo : plusieurs liens partagés, car il est difficile de trouver les vidéos sur GitHub

  • Question sur le déplacement de la vue : curiosité sur la manière de déplacer la vue

  • Lien du site web : https://alien-project.org/

  • Possibilité sur AMD : cela pourrait aussi fonctionner sur AMD

  • Ressemblance avec Permutation City : cela ressemble au début de Permutation City

  • Évaluation du logiciel : ce logiciel est séduisant

    • essai pendant un moment, et il s’agit d’un petit sandbox évolutif