GN⁺: Alien – CUDA 기반 인공 생명 시뮬레이션 프로그램
(github.com/chrxh)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
🔎 문제 해결
- NVIDIA 그래픽 카드가 컴퓨팅 기능 6.0 이상인지 확인
- 최신 NVIDIA 그래픽 드라이버 설치
- 설치 디렉토리 이름에 비영어 문자가 포함되지 않도록 확인
- ALIEN이 자체 디렉토리에 쓰기 권한이 있는지 확인
- 여러 그래픽 카드가 있는 경우 기본 모니터가 CUDA 지원 카드에 연결되어 있는지 확인
- 통합 및 전용 그래픽 카드가 모두 있는 경우 고성능 그래픽 카드를 사용하도록 설정
🌌 스크린샷
- 방사선원 주변의 다양한 식물군
- 세포 네트워크를 볼 수 있는 다양한 유형의 생물 클로즈업
- 생태계를 공격하는 다양한 무리
- 유전자 편집기
🧩 프로젝트 기여
- 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://www.youtube.com/@alien-project/videos
-
https://www.youtube.com/watch?v=qwbMGPkoJmg
-
https://www.youtube.com/watch?v=w9R6zrdl6jM
- Linux에서 작동 여부는 불확실하며, Windows + NVidia 설정에 제한될 수 있음
-
-
뷰 이동 방법 질문: 뷰를 어떻게 이동하는지 궁금함
-
웹사이트 링크:
https://alien-project.org/
-
AMD 가능성: AMD에서도 실행 가능할 수 있음
- 일부 사용자가 시도 중임:
https://github.com/chrxh/alien/issues/99
- 일부 사용자가 시도 중임:
-
Permutation City와의 유사성: Permutation City의 시작과 유사함
-
소프트웨어 평가: 이 소프트웨어는 매력적임
- 잠시 사용해봤으며, 작은 진화 샌드박스임