alien

alien

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

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

ALIEN人工生命粒子引擎CUDA神经网络Github开源项目
<h1 align="center"> <a href="https://alien-project.org" target="_blank">ALIEN - 探索人工生命的世界</a> </h1>

预览

<p> <b><i>A</i></b>rtificial <b><i>LI</i></b>fe <b><i>EN</i></b>vironment <b>(ALIEN)</b>是一个基于CUDA专门设计的2D粒子引擎的人工生命模拟工具,用于模拟软体和流体。每个模拟的生命体由一个粒子网络组成,可以升级为更高级的功能,从纯信息处理能力到物理设备(如传感器、肌肉、武器、构造器等),这些功能由神经网络协调执行。这些生命体可以被视为在共同环境中运作的代理或数字有机体。它们的蓝图可以存储在基因组中并传递给后代。 </p> <p> 模拟代码完全用CUDA编写,并针对大规模实时模拟进行了优化,可处理数百万个粒子。 开发的动力来自于更好地理解(前)生物进化的条件和生物系统日益增长的复杂性。 一个重要目标是通过现代用户界面、视觉上吸引人的渲染和趣味性方法使模拟器变得用户友好。 </p> <p> 请加入我们的<a href="https://discord.gg/7bjyZdXXQ2" target="_blank">Discord服务器</a>,这里是讨论ALIEN和人工生命相关话题、分享新发展和反馈的地方。 </p> <p> 演示视频:<a href="https://youtu.be/qwbMGPkoJmg" target="_blank">新兴生态系统 | 2024年ALIFE虚拟生物竞赛获胜者</a> </p>

⚡ 主要特性

物理和图形引擎

  • 用于模拟软体和刚体力学、流体、热量散失、损伤、粘附等的粒子
  • 实时用户与运行中的模拟交互
  • 模拟完全在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

<h1 align="center"></h1>

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

截图2

<h1 align="center"></h1>

不同群体攻击生态系统

截图3

<h1 align="center"></h1>

基因组编辑器

截图3b

🧩 为项目做贡献

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

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

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

💎 致谢和依赖项

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

使用了以下外部库:

免费图标和图标字体:

🧾 许可证

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

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多