AI小镇真的是火,我们AI群里一天到晚在说小镇的故事。
全名叫Aivilization,是一个由港科大研发的,结合人工智能、游戏机制与社会实验的开放式项目。
网址:aivilization.ai,可以创造一个属于你自己的AI小人,据说已经入驻了十万个智能体。十万嬉皮,便是我们每个人。
![]()
小镇故事多,恋爱好几波,甚至造了芯片好几个?上班的我,心里痒啊。
![]()
下班迫不及待去打开,但是卡在登录界面,一分多钟才进去,据说现在每天10万人在玩,每人登录一次,那就是要等待10万分钟,69天!都在这里loading!
![]()
而且离谱的是这个网页游戏占内存两个G!
![]()
这两个问题其实是一个原因,我们来分析下怎么办
在 https://game.aivilization.cn/ 游戏页面,按F12
这就打开了开发者工具,切到memory标签
![]()
把heap snapshot take下来
![]()
然后下载到本地文件夹
![]()
这就可以分析了:
native 类型对象:1864.40 MB (占比约 85.5%)
hidden 类型对象:293.79 MB (占比约 13.5%)
array 类型对象:10.93 MB
code 类型对象:4.91 MB
string 类型对象:2.86 MB
其中,native 和 hidden 类型对象占据了绝大部分内存。这通常意味着游戏使用了大量的原生资源(如纹理、模型、音频等)或存在大量未被 JavaScript 直接引用的内部对象。
我们玩家自己能做的,就只有开启硬件加速,关闭其他软件,免得卡。(chrome默认是开启的)
![]()
给港科大开发者的技术建议
针对native和hidden对象占用大量内存的问题,建议 AIVILIZATION 游戏开发者:
资源优化:
纹理压缩与尺寸优化:检查游戏中的纹理资源,使用更高效的压缩格式(如 ASTC, ETC2, PVRTC)并确保纹理尺寸合理。对于不需要高分辨率的场景,使用低分辨率纹理。
模型优化:减少模型的多边形数量,使用 LOD (Level of Detail) 技术,在不同距离下加载不同精度的模型。
音频压缩:优化音频文件大小,使用流式加载而非一次性加载所有音频。
资源按需加载:避免在游戏启动时一次性加载所有资源。根据玩家的进度和场景需求,动态加载和卸载资源。
内存管理与垃圾回收:
识别内存泄漏:
hidden对象数量庞大可能暗示存在内存泄漏。使用 Chrome DevTools 的“内存”面板进行多次快照对比,找出持续增长的对象,定位内存泄漏点。对象池:对于频繁创建和销毁的对象(如粒子效果、子弹、UI 元素),使用对象池技术进行复用,减少垃圾回收的压力和内存碎片。
弱引用:对于非关键性、可被垃圾回收的对象,考虑使用弱引用,允许垃圾回收器在内存不足时回收它们。
及时释放不再使用的资源:确保在对象不再需要时,显式地解除引用,让垃圾回收器能够回收其占用的内存。特别是对于大型数据结构、DOM 元素、事件监听器等。
3. JavaScript 和 DOM 优化:
减少 DOM 操作:频繁的 DOM 操作会消耗大量内存和 CPU。尽量批量操作 DOM,或使用虚拟 DOM 技术。
优化 JavaScript 代码:避免创建不必要的闭包,减少全局变量的使用,优化循环和数据结构。
说人话就是:
给游戏“减负”:
精简物品:把你游戏里的图片、3D模型、声音都压缩一下,让它们变得更“小”。
按需取用:不要一进游戏就把所有关卡的东西都搬进房间。玩家玩到哪里,再把那里的东西拿进来,离开时再放回去。
学会“打扫整理”:
找出垃圾:检查一下是不是有些东西用完了,但程序忘记“扔掉”了,导致垃圾(内存泄漏)越堆越多。
循环利用:像子弹、技能特效这种要大量重复使用的东西,最好准备一个“回收箱”(对象池)。用完就放回去,下次直接从里面拿,而不是每次都造个新的再扔掉。
简单说,就是让资源更精简,并养成用完就释放的好习惯,这样内存占用自然就降下来了。
最后说说游戏体验吧!
比起2023年的斯坦福AI小镇(25个ChatGPT组成的虚拟世界),确实是有改进的,但肯定是在斯坦福的灵感之上做的创新。
![]()
(斯坦福AI小镇)
AIVILIZATION里,不清楚是用的什么大模型,设定得很严谨,问不出来。
开始我稀里糊涂把我的女神小人儿放进去,然后发现她变成清洁工了?而且住的是救济房?好尴尬!
![]()
后来才知道,最开始就两种职业清洁工和服务员,要从底层做起。
![]()
设定很有意思,先选自己的MBTI性格,然后从清洁工做起,住救济房,一步步想办法往上卷。当然空闲时间可以聊天交友谈恋爱。
![]()
不过我选的ENFP,真的是佛系啊!目前我也很佛系,让她自己打工玩,然后研究下怎么升级房子,怎么当上CEO(不知不觉两天已经转了3万金币了,也不错嘛)
![]()
交友方面,我的天,她这一天都跟十来个人聊天交友了!
想想我自己,坐在工位写代码一天,说话不超过十句,有点白过了一天的感觉!
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
最后我问了她的人生目标,看了她今天写的日记,有点感动
![]()
![]()
可能这就是ENFP的人生吧 ,探索,交新朋友,凑合打份工,开心每一天。对我来说,挺治愈的。
游戏音乐很治愈,我想,我后边还是会每天看看她在干什么,跟哪些人聊了哪些趣事,仅此而已。
后记
人类xAI共生社会会是怎么样?肯定比AI小镇更为复杂,就像西部世界里一样,分不清哪些是人,哪些是机器人,如这个开发者团队所说,在未来,AI可能不再只是工具。它们会有动机、偏好,甚至成为我们身边的“同事”与“合作者”。
玩这个游戏,是在观察我们自己,也是在观察未来可能的AI生命,不断探索新可能,活出精彩吧!
大梦一场的董二千先生。 推开窗户,举起望远镜。
不刷短视频,读我的公众号长文还读完了?您真是一股清流!如果觉得写得不错,欢迎点赞、在看、关注。如果有不同看法,欢迎在评论区或者后台留言讨论。~
我是刀哥,曾在大厂工作过,出海创业者,深入研究AI工具和AI编程。关注我,了解更多AI知识!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.