duangsuse::Echo
简直是《人类一败涂地》,就这还AI生产力觉醒呢,Jupyter和dsh都比不过。连问题出在哪都并不注意
#statement
😁 哈哈,滥竽充数公理。 放公司里还有养闲人,提升【排场】,AIGC出玄学Task和周报,提升社会参与感的副作用,但放在「像使用时那样开发,即是软件价值」的场景就会显得赛任一般扭曲了。
一定要用大名鼎鼎的破烂玩意(譬如死慢的Gradle),GH文件和主md不能小于三页,开箱即用耗时不得<10min
我真是太懂云原生了
😁 哈哈,滥竽充数公理。 放公司里还有养闲人,提升【排场】,AIGC出玄学Task和周报,提升社会参与感的副作用,但放在「像使用时那样开发,即是软件价值」的场景就会显得赛任一般扭曲了。
一定要用大名鼎鼎的破烂玩意(譬如死慢的Gradle),GH文件和主md不能小于三页,开箱即用耗时不得<10min
我真是太懂云原生了
duangsuse
光凭一个 demo,就给一家游戏公司下这样的结论,确实太草率了。这个案例做到了什么,离商业游戏还差多少,我没讲清楚,标题倒是先下了结论。 真以为任天堂不会用AIGC.png 而且,这种特效管线为0,也没融合动效、游戏脚本、玩法创新、IP和发布的东西…… 用一句话,左边实时排名,右边赛道小地图,圈数、计时、时速、集气条都齐了。 场景里的城堡、大蘑菇、起跑线,也都给你搭好了。 所以就是抄开源,内核套闭源的呗…… 试试离开AI擅长的H5技术栈,做成端游或 RTX ready 😂
这似乎在开源软件(Luanti; BlockWild.app )上改了不少? #game
刚刚说这个, #bilibili 就有人一条对话线升级了 #CG , 轻松到甚至懒得发视频
云层、树冠和远景一起重新调整。 让天空真正参与照明。水面重点处理了重复高光与反射失真 (水体深度吸收、菲涅尔反射与天空盒、方块AO)
Astra 开了个Linux Chromium; py 与 SwiftShader沙盒,
用webgl离屏渲染测试的,甚至还试玩以便测试PBR( “海岸光影试验场 → 创建独立试验世界”) ,并不是 “BlockWild 使用了 Filament”
日落颜色、 雾化/光晕、水面细碎高光、水下、云内部volume明暗,LUT用预计算换实时性能都有
刚刚说这个, #bilibili 就有人一条对话线升级了 #CG , 轻松到甚至懒得发视频
Astra:不是使用逆向编译或泄露的 Minecraft 源码,而是复用了独立开发的开源引擎 Luanti 和玩法项目 Mineclonia,再做中文界面、光影配置等修改。
云层、树冠和远景一起重新调整。 让天空真正参与照明。水面重点处理了重复高光与反射失真 (水体深度吸收、菲涅尔反射与天空盒、方块AO)
Astra 开了个Linux Chromium; py 与 SwiftShader沙盒,
用webgl离屏渲染测试的,甚至还试玩以便测试PBR( “海岸光影试验场 → 创建独立试验世界”) ,并不是 “BlockWild 使用了 Filament”
日落颜色、 雾化/光晕、水面细碎高光、水下、云内部volume明暗,LUT用预计算换实时性能都有
duangsuse::Echo
Astra 开了个Linux Chromium; py 与 SwiftShader沙盒,
#game https://github.com/RedLynx101/Blockwild
7.5号Claude起步的MC克隆,在内存较多时可以打开。居然没有一个人star,而AI发现了友军的成品就拿来加 render() 层了 😅
基本上TS脚本和操作+Rust体素引擎零依赖,源码近40万行,基本上只能靠AI的case study和HITL继续开发
但是,真的需要500M内存才不会挂。相比之下 https://minetest.dustlabs.io/ 体素引擎在画质类似时需要20MB,只是非标地形和玩法的完成度为0
RLE和Octree的稀疏表示是3D体素引擎的常识,与最开始不支持Endless(直至现在也并非种子求差方法)且“为无头Agent优化”的BlkWild完全不同。 实际上纯函数噪声和Procedural是可以互补的,JS玩法绑定也不一定会炸GC(丰富≠胖死)
Minetest只解决了引擎,但这人用AI只剩下run crash的贴图、方块表和模型
绝大多数体素开源项目都死在“写完 Chunk 网格和光照后,发现还要填 500 种方块、几十种生物 AI、流体与逻辑系统”的内容债务里。 Terraria/Necesse 横板俯视的2D体素,没有开源的位置。
fogleman/craft (2MB) 基于无限Simplex+SQLite支持光照很有创意, classicube.net 平衡的较好但世界生成是残的,老MC(估计连带着流式存档也费劲),不要红石和武器好平替也没人做出来过。
可能 veloren.net #Rust 和 openclonk.org (3D+2D)的思路比较好(多细节层次体素 自己捏脸 + 类似Nealfun的对齐连续场),ECS架构先进美术也在线
7.5号Claude起步的MC克隆,在内存较多时可以打开。居然没有一个人star,而AI发现了友军的成品就拿来加 render() 层了 😅
基本上TS脚本和操作+Rust体素引擎零依赖,源码近40万行,基本上只能靠AI的case study和HITL继续开发
📚 https://github.com/RedLynx101/Blockwild/blob/main/BLOCKWILD_AGENTIC_AUTORESEARCH_CASE_STUDY.md#architecture-built-for-both-players-and-agents
但是,真的需要500M内存才不会挂。相比之下 https://minetest.dustlabs.io/ 体素引擎在画质类似时需要20MB,只是非标地形和玩法的完成度为0
RLE和Octree的稀疏表示是3D体素引擎的常识,与最开始不支持Endless(直至现在也并非种子求差方法)且“为无头Agent优化”的BlkWild完全不同。 实际上纯函数噪声和Procedural是可以互补的,JS玩法绑定也不一定会炸GC(丰富≠胖死)
Minetest只解决了引擎,但这人用AI只剩下run crash的贴图、方块表和模型
😨 只剩下luanti了吗? 2d/3d 体素没有玩法成熟度接近MC的?
绝大多数体素开源项目都死在“写完 Chunk 网格和光照后,发现还要填 500 种方块、几十种生物 AI、流体与逻辑系统”的内容债务里。 Terraria/Necesse 横板俯视的2D体素,没有开源的位置。
fogleman/craft (2MB) 基于无限Simplex+SQLite支持光照很有创意, classicube.net 平衡的较好但世界生成是残的,老MC(估计连带着流式存档也费劲),不要红石和武器好平替也没人做出来过。
可能 veloren.net #Rust 和 openclonk.org (3D+2D)的思路比较好(多细节层次体素 自己捏脸 + 类似Nealfun的对齐连续场),ECS架构先进美术也在线
GitHub
GitHub - RedLynx101/Blockwild: Open-source browser voxel survival RPG with deterministic world generation, living ecology, host…
Open-source browser voxel survival RPG with deterministic world generation, living ecology, host-authoritative multiplayer, AI companion drones, and 1,000+ checks. - RedLynx101/Blockwild
duangsuse::Echo
可能 veloren.net #Rust 和 openclonk.org (3D+2D)的思路比较好
沙盒游戏 🤔🙏🏻
我认为开发的难度之一,在于【迁移调试】困难。有许多开源或MOD SDK 高度精细的,体素沙盒类游戏,它们的方块模型是通用的,理论上可以互相读档,已经能共享贴图音效包
(当然,不至于各自做load/dump兼容,可能该像MCP/剪贴板那样互通,但是xyzb实时的,带宽可能比纯函数图层/同codebase联机吃点亏)
更新即跑的跨pid模块化,确实对dev是很大的鼓励,介于MC成熟的AI和建模可以白嫖,甚至跨进程与开源杂交,这样内部测试反馈后完成落盘,想必质量上升难度下降。 纯AI弄40万行(还不含音画资产)实在不成
反正体素游戏,本就有 creature/item->[chunks dat]->proc->lazySeed纯函数 这样的管线了,联机也一样,跨引擎也不该差很多。但是强引擎对精简引擎的拉扯是生态级的,只是shader不能套皮而已。
技术上的难度也显然了。craft和?classicube都没实现TNT,换句话说,批量更新blk的优化在这些前端可能只有水流,结合【海市蜃楼】的眼前优先同步约等于1-by-1换方块。【通用方块换皮sync】对渲染器有侵入性,此外coplay只是SHM不落盘,但MC没有这样的方块属性
想了一下,实时SHM{xyzb/rpm} 区块内creature同步可行性还行,如果能复用旧存档和模型(+预处理贴图包)资产,甚至是间接偷到ModPE生态(PE脚本骨皮建模也是json),肯定对 voxel game 开发者试错有很大帮助。 如果认真要开发的话,做二开也比做竞品/PoC toy 强 😇
我认为开发的难度之一,在于【迁移调试】困难。有许多开源或MOD SDK 高度精细的,体素沙盒类游戏,它们的方块模型是通用的,理论上可以互相读档,已经能共享贴图音效包
(当然,不至于各自做load/dump兼容,可能该像MCP/剪贴板那样互通,但是xyzb实时的,带宽可能比纯函数图层/同codebase联机吃点亏)
甚至游戏AI/建筑、玩法、特殊方块的脚本,理论上都可以<3天/feat 的移植投影编辑过去,
这样,如果要重写一部分子系统或CG管线?剩余的缺口不至于全靠AI现做 OR 一抹瞎,而可以直接map到成熟的pid上去继续coplay试玩,更容易找到创新点。
搞不好还能3D体素读2D档,做成超级玛丽奥德赛那样的minigame (总之就是,有一个跨pid的协议比重造轮子强,而且是创新而非rework的基础)。 直接把Terria的算法抄到任何一个引擎里,至少有传播受益。 😨
更新即跑的跨pid模块化,确实对dev是很大的鼓励,介于MC成熟的AI和建模可以白嫖,甚至跨进程与开源杂交,这样内部测试反馈后完成落盘,想必质量上升难度下降。 纯AI弄40万行(还不含音画资产)实在不成
反正体素游戏,本就有 creature/item->[chunks dat]->proc->lazySeed纯函数 这样的管线了,联机也一样,跨引擎也不该差很多。但是强引擎对精简引擎的拉扯是生态级的,只是shader不能套皮而已。
技术上的难度也显然了。craft和?classicube都没实现TNT,换句话说,批量更新blk的优化在这些前端可能只有水流,结合【海市蜃楼】的眼前优先同步约等于1-by-1换方块。【通用方块换皮sync】对渲染器有侵入性,此外coplay只是SHM不落盘,但MC没有这样的方块属性
如果coplay实现了,就等于送了游戏TNT优化和临时方块(即便支持联机的,也不清楚是不是瞬态免求同的机制)
而且MC类游戏本质上是把2D的四象限树裁剪成顶点(留下岩浆湖之类的光方块),RLE方法剔六个面,再RLE做大贴图,这样个算法推广到3D然后噪声也调教到3D,所以前端不如说是GPU的小秘,xyzb结构被污染,SHM也不清楚能parse多快。 SoA 和多态区分多数组是必须的,可是toy前端又可能没这么想
如果硬要以xyzb为协议锚点(即便如此显然),性能也可能是1-by-1而产生大量无防抖的重算;如果以 GL AOP 的姿态,比如说只同步存档建设方块和牛羊,虽然只用关心RenderDoc和摄像机,但这太冷门了(即便理论上该和png叠图一样难)。只能说希望增加blk2gl和落盘的防抖百行以内。
但做到的话连跨引擎联机(可能通过JS脚本兼容)也不在话下了
然后还要从chunk.load事件里偷是那些方块与seed不同,才能同步旧建筑,至于老版全图加载也无所谓。这也会导致海拔不同的建筑出现浮空甚至埋了的问题,所以他们的生成器不用和存档器隔开,这里边其实差一个类似GIMP的智能选区和拖放工具,但把seed柱面一起偷来也是一种hack(-地表y0=海拔)
也可以对房子类做个简单横截面均值接地片 (当然我觉得这其实是MC创造模式自己的问题,它只是解了chest连noclip都不带。 如果下决心做的话,通过【方块类型即建筑】和脚下生成crop强行缝合存档并不难,也有相应MOD生态)
最好不要过度工程了
搞笑的趣闻:如果把平地城堡 paste -air 到半山腰,会出现内部都一半被埋了的城堡,然后你可以自己清灰…… GIMP的智能选区..
想了一下,实时SHM{xyzb/rpm} 区块内creature同步可行性还行,如果能复用旧存档和模型(+预处理贴图包)资产,甚至是间接偷到ModPE生态(PE脚本骨皮建模也是json),肯定对 voxel game 开发者试错有很大帮助。 如果认真要开发的话,做二开也比做竞品/PoC toy 强 😇
Forwarded from Hacker News 摘要
Telegraph
智能手机厂商并未认真遵守欧盟可维修性规定
原标题:Smartphone makers don't bother to comply with EU repairability requirements 欧盟针对智能手机和平板电脑的可维修性法规已实施一年,但根据欧洲维修权组织的调查报告,绝大多数设备制造商并未认真遵守这些规定。 违规现状与数据调查 欧盟法规自 2025 年 6 月起生效,要求在欧盟市场销售的移动设备必须标注制造商自行评定的可维修性评分,并强制要求厂商公开维修信息以协助用户自行维修。 欧洲维修权组织对欧洲能源标签产品数据库进行了审查,在过去一年上市的…
#algor #TIL 更适合文本的压缩格式
原文:https://github.com/iczelia/bzip3
阅读时间:4 分钟
话说谁知道 mp4格式, h264算法 不是一个东西的事情(不过mp4依赖ts切片 不断点续传 可能有体会)
#ai 全语言分词器 https://fixupx.com/shuding/status/2097348783415939541?s=20
GPU比吐出htm还快点 https://github.com/huozhi/sugar-high/blob/main/packages/sugar-high/lib/lang/c.js
说到最后,git, casync, zstd “自注意训练” 还是比结构化方法效果好。 信号处理就是比古法编程强啊,诶。。
这就像CE里改个数值如此容易, git clone 后改个C字面量反而困难一样。虽然不是一个结构,但CE可以转外挂金手指,是等效的flow 😨
原文:https://github.com/iczelia/bzip3
阅读时间:4 分钟
话说谁知道 mp4格式, h264算法 不是一个东西的事情(不过mp4依赖ts切片 不断点续传 可能有体会)
既然为文本和源码优化,为什么不做语法字典和json转码等等,而用字节级算法
#ai 全语言分词器 https://fixupx.com/shuding/status/2097348783415939541?s=20
GPU比吐出htm还快点 https://github.com/huozhi/sugar-high/blob/main/packages/sugar-high/lib/lang/c.js
说到最后,git, casync, zstd “自注意训练” 还是比结构化方法效果好。 信号处理就是比古法编程强啊,诶。。
这就像CE里改个数值如此容易, git clone 后改个C字面量反而困难一样。虽然不是一个结构,但CE可以转外挂金手指,是等效的flow 😨
duangsuse::Echo
这就像CE里改个数值如此容易, git clone 后改个C字面量反而困难一样。虽然不是一个结构,但CE可以转外挂金手指,是等效的flow 😨
#ce #game 游戏为何锁60fps
当你在做「结构化编程」时,一层是一层,编译不是运行,可是CE和zstd就是用运行的方式来调的。你认为它只懂字节,它已经把XML/JS的词法给学会了 ——就差个内容编址变量名的minifier理解作用域,它连样板流控都能“搞懂”吧
一个文件里可能既有 HTML,又有内联的 JavaScript 和 CSS,"public static void main" 是一个词而结构化误以为是4个。它是 N-gram(N元语法模型)不是1gram。
你认为LLM只懂字节,它看到和消灭的蠢货字节可比你多呢
这就像CE里改个数值如此容易, git clone 后改个C字面量反而困难一样。虽然不是一个结构,但CE可以转外挂金手指,是等效的flow 😨
所以,编译器/优化必须和编辑器,甚至和编程语言是一回事(像 numpy/taichi/paholes 省内存工具)。不然,以后它就被自适应的LLM优化缓存吊打。代码的优化是一个【人机接口问题】。问题要修在 root cause
#CS “(相比于LLM重构,)软件工程所做的一切技术选择都是对的” ——某人曾这样说。 真的如此吗?
这让我想到了 Handmade Hero 与《代码整洁之道》“OOP大佬”的论战—— 当性能掉50%时,是坚持
🦄 🎉 哦不,invokedynamic 的函数级site优化也于事无补(说句实话:没人懂这个,除了谷歌D8R8的更新日志,也没人看)
只有数据流,而数据流,需要【声明式类型】甚至【F12式的性能反馈】。这与通用编译优化,就是一条歧路。一辆拖拉机换上了 F1 赛车的火花塞。 🚀
把Vector2(xy)独立分配,或内嵌Px.Rect{int x,y},绝对是正确的。 [].push 绝对没错,LLVM也是学术热门,可是结果就是慢了。没人知道,没人关心,好像vec2/vec3quat和多态属性forEach是难以启齿的需求。 在今天能为120fps区分逻辑判定帧和渲染帧(FixedUpdate),也异常困难。 明明在玩家看来理所当然的事,因为一个“优雅命名”和deltaTime的耦合变成「2倍速移速0.5倍」这样
UpdateRules(dt) 或许比 FixedUpdate 这些准确的多,你还可以return true来表示玩家有运动(从而优化联机等需求)。为何有人敢把 if{} 也写在图形管道里?为何实现逻辑-渲染切分后不能录制回放和TTD? 锁帧30fps或许不像y2k那样致命,而且有修改器workaround,但你失去的是一系列配套的【可能性】,比如服务端秒封开挂
已经见怪不怪了啊…… 究竟在优化些什么,有资格说LLM不如自己懂 Code Arts.
当你在做「结构化编程」时,一层是一层,编译不是运行,可是CE和zstd就是用运行的方式来调的。你认为它只懂字节,它已经把XML/JS的词法给学会了 ——就差个内容编址变量名的minifier理解作用域,它连样板流控都能“搞懂”吧
一个文件里可能既有 HTML,又有内联的 JavaScript 和 CSS,"public static void main" 是一个词而结构化误以为是4个。它是 N-gram(N元语法模型)不是1gram。
结构,其实是Event的一种响应过程、消息分界符,代码不是绝对真理的“值”。
你认为LLM只懂字节,它看到和消灭的蠢货字节可比你多呢
这就像CE里改个数值如此容易, git clone 后改个C字面量反而困难一样。虽然不是一个结构,但CE可以转外挂金手指,是等效的flow 😨
我感到民科信号处理,就像对 for(A;B;C) 的每个变体手搓“简化宏”或给ChatBot设计文字游戏,以及只懂几个虚词的NLP那样古怪。 【直觉】确实比结构重要太多了,你不能用大脑说的道理优化小脑在做的事,而且那的算力不够。
如果从经济学、从历史终结的角度考虑,LLVM和GCC的实现怎么不像【通过规则集优化压缩算法,以为自己更牛/更懂】一样蠢呢? 编译器的价值在于意图确定、优化点肉眼可见的IR,而不是玄学Pass。它们甚至没有把PGO放在优化Loop里,它们假定程序是不会开箱即用的九头蛇,AOT算法不会区分CLI/GUI/Web,而Harness做到了
这些人太傲慢,还去写AI(GPGPU)编译器,实际上,即便是图算法也像用手动 for(A;B;C) 的规则集压缩一切一样,对flow知之甚少,却让人误以为充实。CE确实不能跳过make install的复杂性,template<>类型体操确实【深奥】,但frida和#[proc_macro]比你更牛。它们就是像lambda{}那样的真正【元编程】,而所谓的结构化方法,离正常人眼中的编程,太远。也太蠢。
所以,编译器/优化必须和编辑器,甚至和编程语言是一回事(像 numpy/taichi/paholes 省内存工具)。不然,以后它就被自适应的LLM优化缓存吊打。代码的优化是一个【人机接口问题】。问题要修在 root cause
#CS “(相比于LLM重构,)软件工程所做的一切技术选择都是对的” ——某人曾这样说。 真的如此吗?
这让我想到了 Handmade Hero 与《代码整洁之道》“OOP大佬”的论战—— 当性能掉50%时,是坚持
[Duck(), Cat()] is [Animal List] 还是手写两个for? 当然,有可能你完全用不了继承+实现了。如果差距拉到10倍呢? 你曾经以为,invokevirtual 就是最牛逼的优化吧?可是,它对游戏对象池一无所知(什么游戏没有vec2/vec3quat和对象池)。 🦄 🎉 哦不,invokedynamic 的函数级site优化也于事无补(说句实话:没人懂这个,除了谷歌D8R8的更新日志,也没人看)
只有数据流,而数据流,需要【声明式类型】甚至【F12式的性能反馈】。这与通用编译优化,就是一条歧路。一辆拖拉机换上了 F1 赛车的火花塞。 🚀
仅仅是这样的宏而已,脱离Types和GC写优化Pass,它会变成万行代码的地狱(或天堂。谁知道呢)
SIMD仅仅是GPU小蜜的优化,酷炫的光效又是另一个地狱(或天堂。谁知道呢),为什么他们抓不住重点。
把Vector2(xy)独立分配,或内嵌Px.Rect{int x,y},绝对是正确的。 [].push 绝对没错,LLVM也是学术热门,可是结果就是慢了。没人知道,没人关心,好像vec2/vec3quat和多态属性forEach是难以启齿的需求。 在今天能为120fps区分逻辑判定帧和渲染帧(FixedUpdate),也异常困难。 明明在玩家看来理所当然的事,因为一个“优雅命名”和deltaTime的耦合变成「2倍速移速0.5倍」这样
UpdateRules(dt) 或许比 FixedUpdate 这些准确的多,你还可以return true来表示玩家有运动(从而优化联机等需求)。为何有人敢把 if{} 也写在图形管道里?为何实现逻辑-渲染切分后不能录制回放和TTD? 锁帧30fps或许不像y2k那样致命,而且有修改器workaround,但你失去的是一系列配套的【可能性】,比如服务端秒封开挂
🥱 但这就像现代编程语言的 await .. 和阻塞操作放一个函数里一样,是不知道一些事情。就像把if{}和渲染写一起一样的怪事,像async..while(1)的怪事
不如我点破吧: vec2/vec3quat 不难猜到,new ECS 也不难优化,可是加上forEach和UpdateRules, 把三者结合起来设计,就成了送命题。
perf toy 是不会有错的,demosence 也不会卡,但是放在一起,去年的Game PC就有错了。 许多人的【数据结构】【算法】,是不运行的。我说的不是perf toy运行
#game #dev
你的Entity定义上是否包含vec2/v3quat和Verlet插值?Comp是否像CSS一样有层次且动态可组合?
entities.forEach(entity => entity.update()) 藏了太多 50% case 的共识。同类型复用(Arena)、SoA和多态分区存储?这些东西引擎层似乎都没见过,就像DOM有矩阵和Rects照样人人手搓Vec2
如果不包含xyz,它就是time/System。E仅仅是ID?这就像是把指针当成“对象”,把列表多态SoA优化泄露成了全新设计 SystemA(){elms.forEach(Component1)}, SystemB(){..Component2},这甚至是无师自通的。CSS的标签和类名,却支持区块与事件的自由分布
“幽灵是Elm不是Sys理论上更统一”让我想到了RISC-V的兼容性系统。就连query一个feat是否受支持的ABI,也是个feat。扫码电话亭的理论正确。
二层级CSS和SQL/ECS的关系式用起来不同。CSS可以通过classList改style,动态规则集也更解耦。ECS 不是一个无聊的内存池化,没想到在幽灵实体上命名都这样的错。就像UpdateRules(dt) 本来比 FixedUpdate 准确的多。
已经见怪不怪了啊…… 究竟在优化些什么,有资格说LLM不如自己懂 Code Arts.
duangsuse::Echo
#game https://github.com/RedLynx101/Blockwild 7.5号Claude起步的MC克隆,在内存较多时可以打开。居然没有一个人star,而AI发现了友军的成品就拿来加 render() 层了 😅 基本上TS脚本和操作+Rust体素引擎零依赖,源码近40万行,基本上只能靠AI的case study和HITL继续开发 📚 https://github.com/RedLynx101/Blockwild/blob/main/BLOCKWILD_AGENTIC_AU…
昨天作者无意中修好了crash,大致试玩了一下,发现内存占用200M
因为是Agent自己Loop,完成度还挺高的,只是无论代码或玩法都过于复杂
图为Codex对MC替代品的无脑大杂烩——“没影龙”? (房子内部空的)
商店没有MOD系统就内置了,人机协作必须自带Wiki。那 Skill, Spell 这些过度多余的系统有七八个
天气、武器、AI纯音乐和光方块都有,但方块太少了,操作也非常不顺畅(比如Ctrl+方向是奔跑,Shift却是下降.. 😓)
基本上是Claude把MC为用,大杂烩为体(但哪个正经游戏要wiki才会玩啊),你进去后有种【只读访问】的感觉
#vibe #game ps. 这个游戏目前基本只有Agent们知道名字…… 虽然域名都有了 0 star
因为是Agent自己Loop,完成度还挺高的,只是无论代码或玩法都过于复杂
图为Codex对MC替代品的无脑大杂烩——“没影龙”? (房子内部空的)
商店没有MOD系统就内置了,人机协作必须自带Wiki。那 Skill, Spell 这些过度多余的系统有七八个
天气、武器、AI纯音乐和光方块都有,但方块太少了,操作也非常不顺畅(比如Ctrl+方向是奔跑,Shift却是下降.. 😓)
基本上是Claude把MC为用,大杂烩为体(但哪个正经游戏要wiki才会玩啊),你进去后有种【只读访问】的感觉
#vibe #game ps. 这个游戏目前基本只有Agent们知道名字…… 虽然域名都有了 0 star
这个cave生成模式还挺有趣的,像葫芦一样,也可以说是bug。感觉需要配合藤蔓来探索
不要对体素游戏的玩法有太多刻板印象。可是AI又不懂乐趣,我觉得 Creative Coding 上包容AI犯的错,将错就错会更值得一看
不要对体素游戏的玩法有太多刻板印象。可是AI又不懂乐趣,我觉得 Creative Coding 上包容AI犯的错,将错就错会更值得一看
游戏玩法设计非常失败,完全被法学博士牵着走了,一堆莫名其妙(冷门MOD级别)的野生玩法
神™还做了 Capture Orb contract,和任天堂的《Pokémon Pokopia》一比就知道滥用AI,啥都不砍会怎么样了……
这种东西放repo里就是占用开发者的精力。 参考上图的玩家口袋,找不到几个正常的方块,拾取也不方便
确实不能像2D体素能用GIMP那样拿Blender去调教噪声seedgen,所以有界线感。但这地图质量也没很高啊..)
神™还做了 Capture Orb contract,和任天堂的《Pokémon Pokopia》一比就知道滥用AI,啥都不砍会怎么样了……
这种东西放repo里就是占用开发者的精力。 参考上图的玩家口袋,找不到几个正常的方块,拾取也不方便
🌲 比较满意的创新:生物/植物面板。把seedgen的规则可视化为HTML内容,让云原生相比于Java/Rust的优势展露出来(点开即玩也是主要优势)
确实不能像2D体素能用GIMP那样拿Blender去调教噪声seedgen,所以有界线感。但这地图质量也没很高啊..)
duangsuse::Echo
这个cave生成模式还挺有趣的,像葫芦一样,也可以说是bug。
真正的bug除了玩法和操作的调教很差(以及AIGC的生物模型/动画有些古怪)
就是seedgen性能太拉垮了(可以在左上角看到minimap)。 一个柱面要半分钟,在这之前玩家都是穿模的
#algor
MC 1.0 通常是在一个world.H/2的海拔高度以下生成水,水边生成一圈沙子。海岸线残的。洞穴空气是多个球形或椭球+CA蚀刻,形不成矿脉。远不及后来的3D噪声洞穴。草地树木完全同理
fogleman/craft 使用 fBM 2D Simplex 打底,3D Simplex Noise 瑞士奶酪生成洞穴内空气,tree_noise(x, z) 种树,模型直接硬编码,但 (x, y, z) -> b 是纯函数图层混合 cave无需跨 Chunk 边界画完,直接省了上游的轮询
😂 🎮
就是seedgen性能太拉垮了(可以在左上角看到minimap)。 一个柱面要半分钟,在这之前玩家都是穿模的
#algor
(其实也不必看seedgen看的太高,API上就是把无头画板+pixelArt推广到3D,处理下就成MC了。
其中基于几何/噪音/分布的可以免费升维,种树凿河开洞之类/管线依赖自动机的要重选,理解为瞎JB甩墨水然后抹一下,叠几层也可以。重点在边叠边(咋)变样
https://duangsuse.github.io/NebulaRemix/
物件碰撞检测xyz网格hash就够了,为了防止挤出bug,MC有挤压窒息伤害。箭还要单独防穿墙。
体素游戏中 XZ-pillar 和 xyzb2vert 的实现思路:
XZP(16x16xH lazyload) 和 X2V(Airy blocks) 都属于RLE思路。就像Blender右上角Gizmo那样,对柱子转到3个视角,让它的背面往 not Airy 那边挤,拉宽
X2V的过程就是把数组 [1110011110] 变成 [A1B] [] [A2B] [] 的创建指令以addQuad,考虑到贴图ID和朝向
如果完全被遮住则可以剔除,否则材质/渲染阴影属性稍有不同则保留,开启下一条。一般用64bitstruct调用GL而不存浮点
玻璃、透明,原木、方向性贴图。 水草火把、AO,台阶、半砖和流体高度,这些,需要多态存储而不只是贴图ID
如果完全被遮住则可以剔除,否则材质/渲染阴影属性稍有不同则保留,开启下一条。
此外贴图可以用palette优化,编辑防抖可以存连续数组,只要碰撞检测OK大体上就行;近处加载和TNT爆炸优化,光照传播、流体更新也是坑
MC 1.0 通常是在一个world.H/2的海拔高度以下生成水,水边生成一圈沙子。海岸线残的。洞穴空气是多个球形或椭球+CA蚀刻,形不成矿脉。远不及后来的3D噪声洞穴。草地树木完全同理
fogleman/craft 使用 fBM 2D Simplex 打底,3D Simplex Noise 瑞士奶酪生成洞穴内空气,tree_noise(x, z) 种树,模型直接硬编码,但 (x, y, z) -> b 是纯函数图层混合 cave无需跨 Chunk 边界画完,直接省了上游的轮询
😂 🎮