2P by neo 3달전 | favorite | 댓글 1개

ALIEN - 인공 생명 세계 탐험

⚡ 주요 기능

물리 및 그래픽 엔진

  • 입자를 사용하여 연체 및 강체 역학, 유체, 열 발산, 손상, 접착 등을 시뮬레이션함
  • 실행 중인 시뮬레이션과 실시간 사용자 상호작용 가능
  • 시뮬레이션은 CUDA를 통해 GPU에서 완전히 실행됨
  • CUDA-OpenGL 상호 운용성을 사용하여 OpenGL을 통한 렌더링 및 후처리

인공 생명 엔진 확장

  • 다세포 생물은 입자 네트워크로 시뮬레이션됨
  • 유전 시스템과 세포 단위의 자손 구성
  • 고급 기능(예: 센서 및 근육)을 제어하기 위한 신경망
  • 다양한 색상을 사용하여 세포 유형을 사용자 지정 가능
  • 공간적으로 다양한 시뮬레이션 매개변수 지원

광범위한 편집 도구

  • 입자와 연결을 조작하기 위한 그래프 편집기
  • 자유형 및 기하학적 그리기 도구
  • 맞춤형 생물을 설계하기 위한 유전 편집기
  • 대량 작업 및 (확대/축소) 스케일링 기능

네트워킹

  • 내장된 시뮬레이션 브라우저
  • 시뮬레이션 파일 다운로드 및 업로드
  • 별을 주어 시뮬레이션을 추천

❓ 이 도구의 유용성

  • 호기심 충족: 자기 복제 기계가 등장하고 돌연변이가 활성화되면 시뮬레이션 자체가 모든 것을 수행함
  • 재미: 빠르고 현실적인 물리 엔진으로 수십만 대의 기계를 가속하고 파괴할 수 있음
  • 학문적 접근: 단순한 구성 요소에서 복잡성 또는 생명체와 유사한 구조가 어떻게 발생하는지에 대한 근본적인 질문 해결
  • 생성적 예술 도구: 진화는 새로운 형태와 행동을 창출하는 창의적인 힘임

📘 문서

  • 이전 주요 버전에 대한 문서는 alien-project.gitbook.io/docs에서 확인 가능
  • 최신 버전은 프로그램 내 도움말 창과 도구 설명을 통해 간단한 문서와 사용자 안내 포함

🖥️ 최소 시스템 요구 사항

  • 컴퓨팅 기능 6.0 이상의 Nvidia 그래픽 카드 필요

💽 설치 프로그램

  • Windows용 설치 프로그램: alien-installer.msi (업데이트: 2024-08-17)

🔨 소스 빌드 방법

  • 소스 코드를 얻으려면 적절한 디렉토리에서 다음 명령어 입력:
    git clone --recursive https://github.com/chrxh/alien.git
    
  • 빌드 단계:
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    cmake --build . --config Release -j8
    

⌨️ 명령줄 인터페이스

  • GUI를 사용하지 않고 시뮬레이션을 실행할 수 있는 CLI 포함
  • 예시:
    .\cli.exe -i example.sim -o output.sim -t 1000
    

🔎 문제 해결

  1. NVIDIA 그래픽 카드가 컴퓨팅 기능 6.0 이상인지 확인
  2. 최신 NVIDIA 그래픽 드라이버 설치
  3. 설치 디렉토리 이름에 비영어 문자가 포함되지 않도록 확인
  4. ALIEN이 자체 디렉토리에 쓰기 권한이 있는지 확인
  5. 여러 그래픽 카드가 있는 경우 기본 모니터가 CUDA 지원 카드에 연결되어 있는지 확인
  6. 통합 및 전용 그래픽 카드가 모두 있는 경우 고성능 그래픽 카드를 사용하도록 설정

🌌 스크린샷

  • 방사선원 주변의 다양한 식물군
  • 세포 네트워크를 볼 수 있는 다양한 유형의 생물 클로즈업
  • 생태계를 공격하는 다양한 무리
  • 유전자 편집기

🧩 프로젝트 기여

  • GitHub Issues, Pull requests 또는 Discussion 포럼을 통해 기여 가능
  • 새로운 콘텐츠 제공, 미디어 파일 제작 또는 공유, 버그 보고, 기능 요청, 질문 또는 피드백 제공
  • 버그 수정, 코드 정리, 최적화 또는 소규모 조정에 대한 Pull requests 환영
  • 새로운 기능 구현, 리팩토링 또는 주요 변경 사항에 대한 사전 협의 필요

💎 크레딧 및 종속성

  • Christian Heinemann이 주로 개발 및 유지 관리
  • 사용된 외부 라이브러리: CUDA Toolkit, Dear ImGui, ImPlot, ImFileDialog, boost, Glad, GLFW, glew, stb, cereal, zlib, zstr, OpenSSL, cpp-httplib, googletest, vcpkg, WinReg, CLI11

🧾 라이선스

  • ALIEN은 BSD 3-Clause 라이선스 하에 라이선스됨

GN⁺의 정리

  • ALIEN은 인공 생명 시뮬레이션 도구로, CUDA 기반의 2D 입자 엔진을 사용하여 연체 및 유체를 시뮬레이션함
  • 사용자가 다양한 생물체를 설계하고 진화 과정을 관찰할 수 있는 재미있고 교육적인 도구임
  • 복잡한 생물 시스템의 진화 조건을 이해하는 데 도움을 줄 수 있음
  • 유전자 편집기와 같은 다양한 편집 도구를 제공하여 사용자 맞춤형 생물체 설계 가능
  • NVIDIA 그래픽 카드가 필요하며, 최신 드라이버와 호환성 문제를 확인해야 함
Hacker News 의견
  • 초보자를 위한 추천 자료: https://natureofcode.com/을 추천함

    • 초보자를 대상으로 하며 JS 라이브러리를 사용하지만, 제시된 아이디어는 일반적임
  • Alien 시뮬레이션 경험: 몇 달 동안 Alien 시뮬레이션을 실행 중임

    • "RGB Triad" 초기 설정을 사용했으며, 세 가지 유형의 생명체가 복잡한 세포 구조를 형성함
    • 기하학적 "결정", 다른 생명체를 먹으려는 긴 끈, 벽을 형성하는 가시 구조 등이 있음
  • Alien 시뮬레이션 프로젝트: 이 프로젝트는 놀라움

    • 자신의 콘솔 기반 프로그램은 느리게 진행되지만, 이 프로젝트는 매우 빠름
  • 플래시 게임 기억: 작은 입자가 고유한 행동을 하는 플래시 게임을 기억함

    • 각 입자는 충돌, 반응, 변형 또는 다른 입자를 파괴할 수 있었음
    • Emergent gameplay는 항상 재미있음
  • 비디오 링크 공유: GitHub에서 비디오를 찾기 어려워 여러 링크를 공유함

  • 뷰 이동 방법 질문: 뷰를 어떻게 이동하는지 궁금함

  • 웹사이트 링크: https://alien-project.org/

  • AMD 가능성: AMD에서도 실행 가능할 수 있음

  • Permutation City와의 유사성: Permutation City의 시작과 유사함

  • 소프트웨어 평가: 이 소프트웨어는 매력적임

    • 잠시 사용해봤으며, 작은 진화 샌드박스임