Project Icon

alien

基于CUDA的人工生命模拟工具

ALIEN是一款基于CUDA的2D粒子引擎人工生命模拟工具,支持软体和流体模拟。该工具通过神经网络控制传感器、肌肉等高级功能,模拟数字生物在共同环境中的运作。ALIEN优化了大规模实时模拟能力,可处理数百万粒子,并提供用户友好的界面和高质量渲染效果。这个项目为研究生物系统复杂性增长提供了独特平台,适合研究人员和对人工生命感兴趣的人士使用。

ALIEN - 探索人工生命的世界

预览

Artificial LIfe ENvironment (ALIEN)是一个基于CUDA专门设计的2D粒子引擎的人工生命模拟工具,用于模拟软体和流体。每个模拟的生命体由一个粒子网络组成,可以升级为更高级的功能,从纯信息处理能力到物理设备(如传感器、肌肉、武器、构造器等),这些功能由神经网络协调执行。这些生命体可以被视为在共同环境中运作的代理或数字有机体。它们的蓝图可以存储在基因组中并传递给后代。

模拟代码完全用CUDA编写,并针对大规模实时模拟进行了优化,可处理数百万个粒子。 开发的动力来自于更好地理解(前)生物进化的条件和生物系统日益增长的复杂性。 一个重要目标是通过现代用户界面、视觉上吸引人的渲染和趣味性方法使模拟器变得用户友好。

请加入我们的Discord服务器,这里是讨论ALIEN和人工生命相关话题、分享新发展和反馈的地方。

演示视频:新兴生态系统 | 2024年ALIFE虚拟生物竞赛获胜者

⚡ 主要特性

物理和图形引擎

  • 用于模拟软体和刚体力学、流体、热量散失、损伤、粘附等的粒子
  • 实时用户与运行中的模拟交互
  • 模拟完全在GPU上通过CUDA运行
  • 通过OpenGL使用CUDA-OpenGL互操作性进行渲染和后处理

https://user-images.githubusercontent.com/73127001/229868357-131fa71f-d03d-45db-ac76-9d192f5464af.mp4

人工生命引擎扩展

  • 多细胞有机体被模拟为粒子网络
  • 遗传系统和逐细胞构建后代
  • 用于控制高级功能的神经网络(如传感器和肌肉)
  • 可以使用各种颜色来根据自己的规格定制细胞类型
  • 支持空间变化的模拟参数

https://user-images.githubusercontent.com/73127001/229569056-0db6562b-0147-43c8-a977-5f12c1b6277b.mp4

广泛的编辑工具

  • 用于操作每个粒子和连接的图形编辑器
  • 自由手绘和几何绘图工具
  • 用于设计定制有机体的基因编辑器
  • 批量操作和(上/下)缩放功能

网络功能

  • 内置模拟浏览器
  • 下载和上传模拟文件
  • 通过给予星星来为模拟投票

❓ 这有什么用

  • 初步回答:通过观察进化的运作来满足你的好奇心!一旦自我复制的机器出现并开启突变,模拟本身就会完成一切。
  • 也许最诚实的回答:乐趣!它几乎就像一个拥有快速而真实物理引擎的游戏。你可以用鼠标指针使成千上万的机器加速和破坏。感觉就像在你自己的宇宙中用自己的规则扮演上帝。不同的渲染风格和可视化编辑器为事件提供了令人着迷的洞察。YouTube频道上有很多视频可以说明这一点。
  • 更学术的回答:这是一个解决基本问题的工具,探讨复杂性或类似生命的结构如何从简单组件中产生。整个生态系统如何适应环境变化并找到新的平衡?如何找到允许开放式进化的条件?
  • 生成艺术的工具:进化是一种创造力,不断产生新的形式和行为。

📘 文档

前一个主要版本的文档,以教程形式向读者介绍模拟器,可在alien-project.gitbook.io/docs找到。请注意,其中许多信息已不再是最新的。 最新版本在程序本身中通过帮助窗口和工具提示包含了简要的文档和用户指南。

更多信息和艺术作品:

🖥️ 最低系统要求

需要一张计算能力为6.0或更高的Nvidia显卡。请查看https://en.wikipedia.org/wiki/CUDA#GPUs_supported

💽 安装程序

Windows安装程序:alien-installer.msi(更新日期:2024-08-17)

如果程序因未知原因崩溃,请参考下面的故障排除部分。

🔨 如何构建源代码

构建过程主要通过跨平台的CMake构建系统和vcpkg包管理器自动化,vcpkg作为Git子模块包含在内。

获取源代码

要获取源代码,请在合适的目录(不应包含空格字符)中打开命令提示符,并输入以下命令:

git clone --recursive https://github.com/chrxh/alien.git

注意:--recursive参数是必要的,以检出vcpkg子模块。此外,子模块通常不会通过标准的git pull命令更新。相反,你需要写git pull --recurse-submodules

构建说明

先决条件:CUDA Toolkit 11.2+和CMake的工具链(如GCC 9.x+或MSVC v142+)。

构建步骤:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j8

如果一切顺利,ALIEN可执行文件可以在构建目录下的./alien.\Release\alien.exe中找到,具体取决于所使用的工具链和平台。 重要的是要直接从构建文件夹启动ALIEN,否则它将找不到资源文件夹。

据报告,以下版本存在构建问题(更新日期:2024-06-22):

  • GCC 13(版本11应该可以工作)
  • Visual Studio 17.10(版本17.9应该可以工作)
  • CUDA 12.5(版本12.4应该可以工作)

⌨️ 命令行界面

这个仓库还包含了ALIEN的CLI。它可以用来在不使用GUI的情况下运行模拟。这对于性能测量以及自动执行和评估不同参数的模拟非常有用。 CLI接受模拟文件及其参数和时间步数作为输入。然后它提供结果模拟文件和统计数据(作为CSV文件)作为输出。 例如,

.\cli.exe -i example.sim -o output.sim -t 1000

运行模拟文件example.sim1000个时间步。

🔎 故障排除

请确保:

  1. 你有一张计算能力为6.0或更高的NVIDIA显卡(例如GeForce 10系列)。
  2. 你已安装最新的NVIDIA图形驱动程序。
  3. 安装目录的名称(包括父目录)不应包含非英语字符。如果不满足此条件,请将ALIEN重新安装到合适的目录。不要手动移动文件。如果你使用Windows,还要确保使用不包含非英语字符的Windows用户安装ALIEN。如果不是这种情况,可以创建一个新的Windows用户来解决这个问题。
  4. ALIEN需要对其自身目录有写入权限。这通常应该是默认的。
  5. 如果你有多个显卡,请检查你的主显示器是否连接到支持CUDA的显卡上。ALIEN使用同一显卡进行计算和渲染,并选择计算能力最高的那张。
  6. 如果你同时拥有集成显卡和独立显卡,请确保alien-executable被配置为使用你的高性能显卡。在Windows上,你需要访问"图形设置",将"alien.exe"添加到列表中,点击"选项",然后选择"高性能"。

如果这些条件不满足,ALIEN可能会意外崩溃。 如果条件满足但错误仍然发生,请使用命令行参数-d启动ALIEN,尝试重现错误,然后在https://github.com/chrxh/alien/issues 创建一个GitHub问题,并附上log.txt。

🌌 截图

辐射源周围的不同植物群落

截图1

不同类型生物体的特写,可以看到它们的细胞网络

截图2

不同群体攻击生态系统

截图3

基因组编辑器

截图3b

🧩 为项目做贡献

我们非常欢迎对项目的贡献。最便捷的方式是根据主题通过GitHub IssuesPull requests讨论论坛进行交流。例如,可以是:

  • 提供新的内容(模拟或基因组文件)
  • 制作或分享媒体文件
  • 通过GitHub Issues或讨论论坛报告错误、需求功能、提问或反馈。
  • 提交错误修复、代码清理、优化或小改动的Pull requests。如果你想实现新功能、重构或其他重大更改,请提前在讨论论坛进行咨询和协调。
  • alien-docs进行扩展或修正。它有自己的仓库

源代码的简要架构概述可以在文档中找到。

💎 致谢和依赖项

ALIEN由Christian Heinemann发起、主要开发和维护。感谢所有为这个仓库做出贡献的其他人:

使用了以下外部库:

免费图标和图标字体:

🧾 许可证

ALIEN采用BSD 3-Clause许可证授权。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号