匿名
未登录
创建账号
登录
科幻设定百科
搜索
查看“数字生命”的源代码
来自科幻设定百科
命名空间
页面
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
数字生命
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
<br /> =思路整理= 我对市面上所有的游戏,注意,是'''所有的游戏,我都不满意'''。 因为我认为: '''游戏里应该是一个真正的的世界'''。无论你去或者不去,它都在哪里,在前进。 游戏里的生物,也应该是活生生的。它们应该能发展,能进化,能思考。 人们玩游戏,就像是去穿越去异世界进行发掘宝藏的大冒险一般,能收获满满。 游戏是人成为神的必经之路。人类在游戏中创造世界,最后发现自己。 既然没有这么一款游戏,那我也只好自己做出来了。 整体设计思路: '''通过简单规则,在大量运算后生成的复杂结果''',并且让普通人也可以参与进这一过程 类似于细胞自动机,遗传算法等等。 但是因为玩家毕竟是来玩游戏的,所以出于对用户理解性的考虑,所以没法完全放飞自我,必须要考虑到玩家面对一堆无法参考无法理解的生物淤泥时候,肯定是没有耐心的。 =简介= 游戏应该是一个真实世界,游戏里都是活生生的生物。 因为缺乏现有词汇,我很难简单的概括,我只能描述出我理想中游戏的游戏。 '''游戏中的每一个生物,都是独一无二的,不是开发者设置好的,而是一步步进化来的''',有历史有未来,有无限的可能性。 打个比方: 电脑中有一个世界,世界具备某些类物理现象,世界中有可以繁殖变异的数字生命。 这些数字生命会有性/无性繁殖后代,后代的结构会变异。它们可以互相厮杀、交配、帮助。。。 玩家可以通过放置贡献算力,来游戏世界快速演化,比如说,现实中一天就是游戏中一百年。 游戏中有一系列现象,生命的进化就是更好的利用这些现象,适应环境竞争物资繁殖后代,比如说有水,呼吸器官,物理碰撞等现象,生物就可以进化出更大的水下储气结构,可以把敌人推到水里,按住淹死,从而进化出一种特殊两栖猎食者。 生物除了具备生理结构,还具备大脑(我偏好neat神经网络结构),进化不仅仅是生理的,还是智力层次的。 这一套框架拓展起来有很多可玩性,但是我身为开拓者,暂不考虑玩法可玩性之类的,先集中注意力到实现上,毕竟没有实物,其他都是空谈。 但注意,我们的游戏是一直挂机放置才能让生物进化的,也就是说要长时间让一个游戏世界全地图运算,是非常消耗算力的。 如何节约算力也是很关键的。 =进化= 每个生命可以繁殖后代,后代会产生变异。 生命生存会消耗资源,杀死他人可以获得资源。 =物理现象= 现实中,所有的生命啊技术啊,几乎任何东西,细细拆分下去,最后的本质都是现象。 比如说:物体通过形变可以蓄积能量,这是弓箭,肌肉,地震等等事物的本质之一。 比如说:压强与受力面积的关系,这是爪子,刀剑,子弹等等的本质之一。 道生一,一生二,二生三,三生万物。而现象,就是一二三。 但这有个问题,那就是三生万物这个过程,是要消耗算力的。自然本身有无限的算力,而我们哪怕用超级计算机,用最先进的算法,模拟几个原子都很吃力。 我们无法在电脑中复现三生万物,只能直接展示万物,并且笨拙的把每个物体都定义一下。 比如说你在游戏中会看见弓箭命中远处物体,那是直接代码定义好的。很难看见材料的形变蓄力,因为相比于直接定义出弓箭,吃力不讨好。 所以我在前面一直说,现在的游戏里的世界,都不是真正的世界,而只是对人眼看见世界的照搬。 现象,排列组合成现实, 现象的数量质量,决定了可能性的边界。 拳皇游戏中,只存在上下左右ABCD血量敌我攻击防御等现象,在这个世界里,你再怎么折腾,你也不可能帮助他人,不可能搭建城堡,不可能画画。因为世界的现象中不包含这些行为的基本要素。这个世界不包含盖房子这种可能性。 但是如果拳皇游戏中增加一个现象,可以通过按A键在正下方产生一格像素物体,那么你足够有耐心就完全可以搭建一栋房子。 通过遗传算法和神经网络,可以模拟出生命的行为,比如说让死板的AI在拳皇世界中天下无敌。 但是想要真正的成为具备无限可能的生命,就必须要具备由现象堆叠起来的生命结构。 =层级= 关于模拟世界,模拟生命,有以下几个层次: #空间级模拟 #原子级模拟 #分子级模拟 #细胞级模拟 #组织级模拟 #器官级模拟 #个体级模拟 ===空间级=== ('''只具备理论上可能性''') 理论是参考Stephen Wolfram的新物理模型,思路则是一样 “通过简单规则涌现出复杂结果”。 其理论证明了简单的规则下,如何演化出空间时间结构。理论上可以演化出真正的宇宙。 但是算力消耗,我觉得量子计算机都撑不住。 ===原子级=== ('''只具备理论上可能性''') 地球上生命全部都是碳基生命,碳元素是所有元素中化合物种类最多的。碳就像是一个万能积木一样,可以搭配出无数种结构的化合物。 从元素周期表出发模拟生命,可以模拟本宇宙生命的所有可能性。 ===分子级=== ('''只具备理论上可能性''') 组成碳基生物的是DNA、RNA和二十种氨基酸这些大分子结构。 碳元素啊,DNA啊,氨基酸啊,这些,都可以看做某种现象。它们具备优秀的复杂性稳定性,具备无限的可能性,而进化和智力,则是从无限的可能性中,寻找到某些适应环境的可能性。 从DNA、RNA、氨基酸出发模拟生命,可以模拟出地球生命的所有可能性。 ===细胞级=== 1完全模拟现实 有实验室模拟几种细胞的结构和运动,在计算机中测试这些细胞的各种的排列结构,最后在现实中用细胞组装成一个生物机器人,可以做到在血管中游动,搬运少量物质到特定目的地。 但是这种模拟是有限的,因为人类对细胞的理解是很有限的,完全模拟现实,力不从心。 2自定义细胞 从这一步开始,我们就没必要完全按照现实来走,而是自己定义。 比如说,将细胞定义成在合适环境下可以复制变异自己,可以根据身周其他细胞的行动而做成行动。然后观察其演化结果。 ===组织级=== '''在细胞级往上,就不是直接模拟现实了。而是抽象的模拟'''。 组织的一个特点,'''单个组织提供单一功能'''。比如说肌肉组织可以拉伸,神经组织可以传递电信号。单个的组织毫无用处,但是组织可以组合成有意义的器官。 游戏常见的,是mc里的红石系统。一些游戏里的电路系统。 特点是自由度极高,上限极高,但是普通人压根玩不转。 案例: 游戏 “'''进化小车'''”,简单遗传算法 ===器官级=== 器官的特点,是'''每个器官都可以有一个独立的可以直接使用的功能'''。 比如说肺部器官,手部器官。 游戏常见的,是一些可以自由搭配的造船游戏,造车游戏。比如说提供轮子,发动机,护盾等等。 这些游戏,玩家用一大堆零件组装成一个飞船,有的游戏甚至会不同部分血量单独计算。 特点是自由度尚可,下限极高,普通人随便凑合也能造出点东西。 ===个体级=== 这就是普通动作游戏中最常见的情况,直接用血量代表一个生物,用攻击防御等数据量化个体。 优点是开发简单,符合玩家认知。 缺点是根本没有自由度,根本谈不上是创造世界,创造生命。 =开发思路= 虽然我很想做原子级模拟,但是很遗憾,大家谁都没有量子计算机。 目前有几种方案: 方案一:结合细胞级、组织级和器官级两个特点, 简单地说,游戏提供一些基础组织零件,可以玩家搭配/游戏演化成某些器官,而游戏的生物则是这些器官构成的。 类比一下,游戏提供电路板螺栓等组织零件,组合成轮子、发动机、外壳、激光枪等等器官。然后这些器官组合出一个机器人去战斗。 缺点:生物的进化,仅仅是将组织和器官的排列组合,进化出更有效的器官,更强大的个体。AI不是这个世界的真实大脑,而是一种灵魂。繁殖是写死的代码 不推荐。 方案二:游戏内编程 方案一中,AI的结构和复制,都是独立于游戏世界之外的代码,就像是灵魂独立于物质世界一样。这样子,AI无法产生本质进步,仅仅是更加擅长战斗而已。 但是如果我们把AI的思维结构,也放到这个世界上呢?(类似虚拟机) 举个例子,我们在 我的世界 这个游戏中,用红石电路做出一个时钟,这个时钟也许简陋,但是玩家可以在游戏中破坏或者改进它。但如果这个时钟是写死在代码里,玩家就根本无法改变它。 我们要在游戏场景内,做出实时可变的某种结构,而这种结构,就是生命本身。 它类似于编程,但是并不是给人类准备的,它最重要的是可能性与复杂度。 方案二有三个子方案: 方案2.1:仿虚拟机仿软件 设计一种特殊的游戏世界里的编程代码,特点是高度容错高度复杂可变异可繁殖。 给每个生物提供一定量的虚拟机硬件配置,每个生物都是一段代码,繁殖后代就是复制程序分发硬件,变异就是改变代码。 方案2.2:仿DNA仿蛋白质 设计出一种可以自复制的复杂结构,分子级模仿。 几乎相当于从走一遍生命诞生之路。 但这种结构是什么呢?没人知道。 PS:不看好这个方案,可行性是有的,思路也有一点,但是可玩性几乎没有,而且消耗算力过大。 方案2.3:混沌海 这不是一个独立的方案,而是一个尝试性补充。 假设世界中没有生命,至少没有我们设定好的,我们认定的那种生命。 整个世界全都是某种蠕动的复制自我的奇特物质结构。这是一种原始的半生命。 整个世界就像是一片混沌海,我们没有明确的目的性,就是单纯的好奇会打捞出什么奇奇怪怪东西。 关于这种原始半生命,有两种方案 1是某种结构,比如说生命游戏的煮汤。 2是某种代码,比如说规定一些自复制的代码。 目前倾向于第一种,因为第二种完全可以用之前的方案一。 可以说第一种是对方案2.2的预演。 可以参考细胞自动机,但是细胞自动机展示的,是简单的规则演化复杂的世界,而我们要展示的,是简单的复制变异,演化复杂的生命。 我们可以把这个混沌海,作为数字生命的一个前置练手。 遵循细胞自动机的思路 == 结构 == === 点线结构 === 本质上其实是神经网络的可视化,物理化。然后对环境数据,竞争数据的处理优劣,决定后代繁殖数量。 生命由点和线构成, 然后有两种思路:节点+骨骼,点线+骨骼+肌肉。 前者通过配置关节实现,后者是铰链关节+弹簧关节, 打算两种都做demo,看看那种运行效率高。 点可以进行信息接受、处理、存储、发送。 线可以进行收缩运动、信息传递。 基本点的设计: 信息输入:视觉,触觉(掉血时候向后传信) 信息处理:内置一个函数,对各个入参进行计算,大于x,则触发功能。 功能触发:向后发信息,收缩线,生长,分裂,回收等等 有一个问题:每个点,只执行单个功能,还是执行多个功能 执行单个功能,代码实现比较容易,也比较简洁。 缺点是节点数量会极大增加,可能一个简单的功能,就需要几十上百个节点,而且每个节点都具备碰撞体。 目前我比较倾向于单一功能。但是具体哪种比较好,需要demo验证 实现生长不难,难的是让它的结构自然具备生长能力,而不是人为设计出的生长功能 生长,分裂,回收。这些功能,我在思考是作为专门的功能点,还是做成功能。 分裂功能:单体分裂繁殖用的点,每次触发繁殖点时候,会根据繁殖点中信息,让整个生命的某些线进行断裂处理,将整个生命分为两个生命。 回收点:可以将和回收点相连的点线,全部无损的化为能量,让其他点吸收。(设计目的是进行变态发育,理论上生命可以频繁进行变态发育来切换自身形态) 点和线可以组成一个神经网络。 每个生命,既可以当做一个具备神经网络的AI,也是一个具备运动碰撞实体的游戏生物。 (感觉就像是把一个神经网络,每个点线都赋予空间坐标,扭成一个可以运动的生命结构) 点和线都具备血量。依靠动量碰撞进行攻击。 点有硬度、生长两个互斥的属性,硬度决定受伤掉血,生长决定长出新点线的速度和消耗。 硬度越高,则点生长越慢,线伸缩越差。 点的硬化密集排布,可以做到骨盾类似的结构 关于生长,节点可以消耗能量,在自己坐标位置的x,y,z处生成一个节点。 有一个设计问题, 点线是否需要具备级别? 点线可以消耗能量生长。越高级的点血量越高,可以存储更多信息,可以连接更多的线。 线等级越高就越长,伸缩能力越强。 又或者全部一视同仁,点全部一样,方便计算。 做升级功能的坏处是,会增加人物设计程度,而人为的设计往往是最差的。 他们互相攻击时候,每掉落一部分身体,就会缺失一部分神经网络。 不过我相信它们会进化出萎缩硬化的脑组织专门用来打架 有一些特殊的点线: 透明点,无碰撞体,可以作为视觉触手 透明线,无碰撞体,牵引透明点 死亡:血量归零的点,会根据血量,按比例化为能量掉落在地,接触一段时间后会吸收。点可以储存能量。 (能量回收比例一定低于100%) 点线具备颜色 特殊视觉:信息素,某种AI专用的大量信息传输用的方式。 环境规则: 原地不动的就会掉血。 线的缩放会消耗能量,消耗能量时候会恢复血量。 特殊算法:繁殖算法,有性繁殖,无性繁殖,自我构建繁殖 [[分类:未完成]] [[分类:人工智能]] [[分类:晦暗天明]]
返回
数字生命
。
导航
导航
首页
最近更改
随机页面
新人指南
网站帮助
相关网站
科幻设定论坛
管理
网站管理
网站活动
Wiki工具
Wiki工具
特殊页面
页面值
页面工具
页面工具
删除
重命名/移动页面
复制短链接
自定义URL
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志