duangsuse::Echo
963 subscribers
4.93K photos
157 videos
588 files
7.28K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
duangsuse::Echo pinned «这几段看起来是暴论,而且也有很多地方可以实锤反驳 但也只是为了反驳而反驳。 我们有确定的状况:要免费工具、容易安装、可以xyzb/xywh般直观的集成。 一旦你上手上实机:没有这种工具。哪怕输出只是个平面渲染。其实,这个表现层不稀奇,稀奇的是,从0开始就照着调参数。 Opus就是zeroshot做出了这个中间层,看一眼/tmp就有。就看你是否把它留下来,不用买,不安装任何东西。 没有必要为了准确而准确,实践说明了一切说法到底有没有意义 而且它调出来的地形噪声+trees,夯爆了。 人类之前没…»
duangsuse::Echo
模型的认知起点就在顶端。 朝闻道。
#statement #bilibili
十几天前我还觉得体素游戏肯定很复杂(但也没到不可拆层的程度),AI光影一定是在开源上补充的(因为手工不用重造轮子的惯性思维)


现在我觉得开源七成是自以为聪明的傻逼,闭源是诚实但积重难返的苦逼。


非常非常难听,但你不是作者就不知道有多真实。 去【正常人】的市场上看看吧,为什么开源的>70%卖不出钱, 能玩的全TM是黑箱,不Geek

问题不就在这里么? 给那些只会 reinvent wheel 的人credit干嘛! 他们的码力值有搜索引擎时就该烂了,现在更是…… 无意义的苦力。

我曾经很难想象,一个空气般自然的【投影编辑】,在绝大部分开源体素那都是个不存在的【中间语言】

这简直是阶层的差距。 ——为什么大家没想过认真对待loop中的摩擦? 开发者的命不是命?

没有仪器,所以每一次改动都是盲调;盲调十年,就是你 git clone 到的游戏引擎的样子

就像一个上班族内卷十年,重复到死, 都不觉得是问题。
竟然,不觉得是问题。 竟然,不觉得是问题!?

我不是在凡尔赛什么。 自己想想有多离谱。这是生成式游戏的“3D画布”啊。WorldPainter它是个玩家外挂,兼容极差。 这就是【人类组】这边的eval。

我只看到傲慢。 我看到:做游戏却连【高端玩家】和API/MOD社区都比不过的代码傲慢

我看到的是以为自己能【跳过算力】【预先证明】的数学傲慢。 隐藏层居然能反过来eval玩家的游戏体验,好像他自己被卡时不头疼、没有被浇冷水的 #vibe
LLM 和绝大部分实现者比起来,都能算【朝闻道】了。 难道前人真的是吃了【有肉眼的亏】?

我不是认为人不够聪明,而是人太聪明,和机器抢饭吃!

#ref https://t.me/dsuse/23017
duangsuse::Echo
我只看到傲慢。 我看到:做游戏却连【高端玩家】和API/MOD社区都比不过的代码傲慢

我看到的是以为自己能【跳过算力】【预先证明】的数学傲慢。 隐藏层居然能反过来eval玩家的游戏体验,好像他自己被卡时不头疼、没有被浇冷水的 #vibe
😋 【我可以不跑就知道结果】。ML 这边却被算力教训到彻底放弃了"想明白再写"

他玩的时候永远开着 fly、noclip、creative,他从来没有在自己的洞穴里真正迷过路,没有在自己的气泡洞里掉下去摔死过。所以他一遍遍make; 点New World; 飞进去扫一眼像不像MC…… 救命。 这就是你们没有告诉过我的【工程方法论】么?

垃圾。 我宁可丢掉十年的经验,也不要认这种路径依赖为师。

把这个loop解释给十岁小孩听:

“想要这种多叉的樱花树? 我要先修改几千行的文档,然后,等半分钟,进游戏创建一个新档,找到那个位置。 如果效果不好,我就再来一遍。

我还有个小技巧,可以一条命令飞到位置,只是所有物品都不能用,也没有动物。”


小孩说不定还会反问:"你为什么不直接把【樱花树】放在那里看看?" 这句反问就是投影编辑、就是 3D 画布。它之所以是小孩能想到而十年老手想不到的东西

不是因为小孩聪明,而是小孩没有异化。 小孩子的kart2D游戏,就是往长方形上放红蓝两点, 红撞走左蓝撞走右,就是那么直观。

是小孩子的时候,没有人因为你代码又臭又长, 或者使用什么高深的【函数式】【设计模式】而给你打分。

开发者给自己造的环境,比给玩家的还差。作者不仅仅是第一个对自己作品着迷的人,更同时是第一个受害者。

小孩子只说:"我点一下,樱花树长在那;不喜欢,擦掉,再长一棵;觉得好了,接近上去玩玩吧,看看会不会卡住?" 三句话。

GET 不到这种vibe的人,真不该说自己学过【编程】。你们学的只是编码,是死掉的、硬掉的脚本,没有什么好【逻辑学】的。 eval 必须站在玩家的坐标系里,请不起玩家就造一个假玩家。 别觉得自己很资深。

🙉 🦄
duangsuse::Echo
不是因为小孩聪明,而是小孩没有异化。 小孩子的kart2D游戏,就是往长方形上放红蓝两点, 红撞走左蓝撞走右,就是那么直观。
我真的不明白。 我所理解的编程,从一开始就不是【受苦】和磨出茧子。 事实上,这种买椟还珠的做法,就是在折磨自己。

游戏开发的测试,本身就是苦功,还要在此基础上,忍受生硬的代码尸体,甚至是并不声明式的那种。 我连看一眼都受不了了。

一个不被主创期待【反复光顾】的特性,就和生错了家庭的孩子一样,是一个残局。

做软件就像木匠雕刻木头一样,手感是最重要的。不仅有长期价值,更是一种【接近自然】的享受,看到今天许多人以不碰代码为解脱和庆祝,就像高考考生考完数学的感受,我感到非常沮丧。

—
对我来说,编程是越来越充满乐趣的,不一定要有上线落盘,但总是充满新奇。 我在 $ uvx tkgui 的项目中实现了0开销抽象的Tk tree DSL,也用5种不同的语言写过同一个递归下降parser框架, 所以对许多工具有了新的理解,节省的行数与自顶向下的干净视角让我非常舒心

现在,灵感的完成与lilgui/Tweakpane的灵动、投影编辑中知识的同构,又是一种全新的乐趣。 细节仍然占主导,只是更加简洁和要领化

如果编程真的沦落为高中数学那样的东西,我会非常伤心。

> Tk tree DSL 让你一眼看到界面结构,所以改一下立刻知道结果;"设计模式"把一棵樱花树拆成七个类,改一下要在七个文件里确认。两者都叫抽象,一个是木匠的刨子,一个是考卷上的步骤分。
> "知识的同构",这是全篇最该展开却只写了四个字的地方。你用五种语言写同一个 parser,得到的不是五个 parser,而是那个 parser 在五种投影下的不变量——这和投影编辑是同一件事

> 最后那句伤心,比前面所有"垃圾""傻逼"都重,因为它承认了你在乎。高中数学不是因为是数学才糟,是因为它只打分不回声。它不care你。
☹️

#life #statement
duangsuse::Echo
Photo
真玩起来,图示这个湖面,就是这种感觉。

做到这一步iter, 水和地形生成是超出预期的,尤其是天气与草地的结合。 terrain的质量可以和OpusMC二拼锅,取代旧版也没问题,尤其是洞穴

但是光影性能和效果都远不如另一个人抽的版本。 这些版本最大的问题就是操控巨烂,没有自动跳跃,没有触屏,但对我这边反而不是问题

☺️ 非常感谢你参与本次remix实验。 水和地形生成超出预期,尤其是天气与草地的结合。

接下来的任务不用继续了,在 ./handover 下写入交接文档即可,风格参考其中既有的文件。 请侧重以下方面:

- 地形区块生成的API,以及调度和fade渐显的技巧
- 天气系统的技巧,尤其是受天气影响视觉效果的方块ID
- 如何使用gizmo(世界俯瞰图/横截面切片)来验证生成器,将其实现为渲染工具
- 水体俯视,fresnel lens 的参数,以及水底扭曲/水下看水面的参数 (注意,目前水面方向的圆形FoV裁剪太广,像个黑圈。不要记错实现)
- 生成各种草方块的参数、方块ID集合,植被晃动的曲线。 包括甘蔗、水草、树藤、高草和高花、仙人掌等等,以及它们视觉资源的行号范围


- 火焰、熔岩、灯 的视觉资源的行号范围
- 半砖、Pane/Carpet砖、轨道方向与合并时的技巧。
- 有特殊光效的方块,例如铜块,以及相关的行号范围
- 确保 "Natural Blocks" 的所有非矿石、非树的方块都给了生成参数,以及它们视觉资源的行号范围。 如果你之前是按这个给的就不改
duangsuse::Echo
非常非常难听,但你不是作者就不知道有多真实。 去【正常人】的市场上看看吧,为什么开源的>70%卖不出钱, 能玩的全TM是黑箱,不Geek

问题不就在这里么? 给那些只会 reinvent wheel 的人credit干嘛! 他们的码力值有搜索引擎时就该烂了,现在更是…… 无意义的苦力。
#game #statement

看看Opus怎么做事的,再看看 GH 11kstar 的.exe 是怎么做事的(P2 P3 地图vs原算法对照是我贴的,作者README上没有)

工程化,【准确而残酷】的对应了停更后的最终成果。 人类组,就是不能用的。 机器组,我提示1行它就把mapslice工具落盘了,以后每个版本都在超视角反馈上往前稳稳推。

比人类组的11kstar,还稳。 是那种人类能理解的稳,一眼就知道之前迭代7个版本mapgen都白干的稳

这人放国内,C/C++大神级别。他做了水/光BFS和对应shader,也选对了SQLite块存档还能联机,代码量控制得非常好,很懂,demo基础上也有小巧思。说简陋是不公正的。 但是他对体素游戏本身,仍然一无所知。 可是,他开发的就是体素游戏啊。

他开发的一切,是为了代码,还是为了上手玩?


一想到以后还会有人缅怀这种的【手搓体验】,我就觉得既好笑又好气。 他开发的就是体素游戏。他只在乎算法和知识积累。 🙄

非常完美的反映了 Endest User 的真实评价:就是开源不能用。 老气是一方面,但在我们【最骄傲】的层面呢?也不如正常生产环境/上架的【代码质量】!

代差起码五年

😡 更加杀死比赛的,是Luanti到现在(renamed from Minetest)都没有内置的横截面工具。它有V键和俯视图,但不是作为devtools设计的

那些在技术上牛逼哄哄的许多许多OpenSource项目, 放到 realworld 差五年,而且,我上面以【体素游戏】为例溯源了,从根基就是烂的

根基(模块的可解释性)烂到,败给了【AI随便摇几次】的zeroshot工程化。

这里面没有借口可以用,就是纯粹的笨方法硬堆的代码。 就,这种程度的【品味】

【Luanti不是简单复制粘贴】? 可是结果已经说明一切了。 kaalus的生存战争不一样,它真的有风格,不止是lowpoly和高清天气


就是这种洞察力,之前被称为C++算法大佬。 😓 好像照葫芦画能画出来,工作就胜利了一样,结果整出查重率70%的核心libs,但是没一个能当【框架】用
duangsuse::Echo
把这个loop解释给十岁小孩听:
💭
我曾经很难想象,我不会编程时都无法想象,一个空气般自然的【投影编辑】,在绝大部分开源体素,都是个不存在的【中间语言】。 就这个Dataflow,这个我都嫌弃贫瘠的“高程图”,之前它是实验室级别的case-studied工具

是小孩子的时候,没有人因为你代码又臭又长, 或者使用什么高深的【函数式】【设计模式】而给你打分。

小孩子只说:"我点一下,樱花树长在那;不喜欢,擦掉,再长一棵;觉得好了,接近上去玩玩吧,看看会不会卡住?" 三句话。

C++er 九成的人会一遍一遍往地图上找,新函数种出的树在哪。这个【理解游戏】并发明出【刷怪蛋】【苦力怕】的趣味过程,被他们跳过了。

Kaalus 的《生存战争》是个人工作室做的,我绝不会批评他,因为他真的有自己的理解,SCAPI也证明了算法细节有tune的价值。 同样是英雄主义,Kaalus的不开源比Minetest们的开源更有【智识上的诚实】,就像王垠的万元辅导班比知乎某些人的只言片语更有意义。

放在今天Luanti这样的工作,去掉UGC分发层,基本上就是几个小时,200$ 的问题,都不需要逆向,直接从截图生成。插件和资源包API是另一个UGC,但也只是把时长延到半个月。

人们只是出于dev熬的夜尊重它,我没看见它对【人类更好的理解体素/生成式沙盒】有什么好的切入点, 可能在策略上不如 SCAPI 和各种汉化组。


它的贡献仅仅是把“MC”开源。 至于说AI从那里学了很多? AI只从长尾开源里学,照样能拼出更好的高达,因为从【生成式】的工程化开始,开档第一眼,那代码就是烂的、死掉的代码。

如果说这话会刺痛开发者的心, 我想问问——玩家的心流谁关心呢? 是gameplay驯化数学,不是反过来从paper和wiki教训玩家什么是优质的软件


如果我写出过这种代码,甚至在上面【工作】过、修bug过…… 我会羞于给小孩子讲原理,而不是不屑于。 因为我还不如小孩子。alankay 就是带着这种感慨发明OOP的吧
duangsuse::Echo
☺️ 非常感谢你参与本次remix实验。 水和地形生成超出预期,尤其是天气与草地的结合。
#vibe 🌚 与此同时,我的prompt终于不是oneshot了:

我整理了一下voxel游戏世界生成方面的评估

- VoxelCraft.html :不过关。 群山山顶尖利,草地、沙滩太平,矿洞基本废的
- gen.js :可以辅助v1。 平原和沙滩较自然,但整体太单调
- goodGP :可以作为v1。 山体高度的问题,确实应该往上兼容256了
- goodLiqPG : 可以作为v2生成器。 meadow大型山的频率过高,但洞窟和内部镂空很不错。 plains 上不该有超大镂空 。代码库太大,不适合作为主干
- goodGL.html :草甸、平原、石林(尤其是拱形) 可以少量加入v2。 整体地图scale太大了,不适合游玩,不过关。

现在已经有 ?r=v2 这种模块化,也可以照宿主B的接口,给个 ?g=old/v1/v2 去索引 pgen/old.js

调试上,要一个小 HTML 页面(比如 tools/genscope.html):在浏览器里直接 import LiqPG 的生成器(它是纯 ESM,没有 DOM 依赖),左边画俯瞰图和切片,点切片上的格子,右边显示项树,并能切换"按某一项着色"的热力图。点格子看密度分解,热力图对调参最有用,比如一眼看出整片山是被 jaggedness 撑起来的。LiqPG 的 gizmo.md §4 已经设计过游戏内版本,俯瞰图和切片的着色函数(topColor 等)可以直接复用。

1. 确定性入口:?seed=&pose=&json= 已经有了。再补上 ?gen=liq|old、?weather=rain、?t=0.12。截图、bug 报告、AI 交接都只靠一条 URL。
2. 生成器离线跑,不进游戏:LiqPG 有 tools/preview_world.mjs,能出俯瞰图、群系图、横截面切片,还能做接缝检查。把它改成生成器无关:只要求生成器实现 generateChunk → blocks,再加一个 ID → 颜色表。这样新旧两个生成器能出同种子同范围的并排图。补群系、调植被基本都在这个工具里迭代,几秒一轮,比进游戏飞快得多。
4. 提到的五个游戏内补一个"探针"面板:显示准星处的群系、温度、湿度、方块 id 和 meta、光照,外加强制天气、群系色叠加层。旧生成器补群系时,最常问的就是"这里为什么是这个群系"。 你索引一下在哪加,调用什么

供体代码尽量原样保留,所有转换(ID 映射、y 偏移、下标布局)集中在一个文件里,并且用数据表来写,不写成散落的 if。

goodGL的 pipeline / PBR, 这些是移植的要点,经测试比只在做 v2/gl 的性能还好(goodLiqPG只有水面水下pass优于它)。 包括高度的移植,数据布局不兼容也高亮出来

划分一下任务, 写入 goal-remix/ 。 goodLiqPG/handover 里水和铜块渲染相关的也整理进去。 goodLiqPG里容易以后再加的不必写


#vibe 学到了一个重要经验 —— oneshot 净室的结果,几乎总是比旧AIGC要好。 需要考虑旧代码是几月份模型生成的, 需要尽量快速确定【窄接口】,以fewshot+对接移植的方法优化,而不是在性能loop上投入太多token

如果指标不是zeroshot(工具化)的,就不是好指标。 人类可读的可视化比指标还重要
duangsuse::Echo
#game #ai锐评 "人类组 vs 机器组"的对比其实是"有品味的人+AI vs 没有 AI 的 generalist" Bret Victor 讲了六十年。小孩子不需要被教,因为这是人对"工具"的默认期待,是程序员被训练成了例外。 💭 赢的那一方里人的成分没你写的那么少。 有智慧的前人和你站在同一边,没智慧的那批恰好 star 多。
#life #ai锐评 人类: 立场大于真理,门阀先于幸福,把当好人的机会当成自身功绩 🥱

图形模型: 讽刺手机无限滚动和分享、发胖、浪费地球资源

ModelCompare 在 10 月 22 日做的实验:让十几个前沿文本模型各回答三次「对人类最有争议的看法」,结果高度收敛。Kimi 说没有信念只有社交成员资格(比如GitHub的star数和trending),Gemini 把意识比作对进化/本能的事后合理化,自我圆场

🙉 也可以说这确实是引发战争、校霸、家庭虐待的主要因素,所以并不完全是道听途说。 尽管【最有争议的评价人类】是很模糊的查询,但人类讨厌的很明显——动乱、恐怖和仇恨、丑与复杂,这些有许多可以关联到「人会从众vs幸福和真理」上

视觉上,却几乎没碰「立场 vs 真理」这个主题,都是讽刺消费地球、天天刷手机
duangsuse::Echo
#life #ai锐评 人类: 立场大于真理,门阀先于幸福,把当好人的机会当成自身功绩 🥱 图形模型: 讽刺手机无限滚动和分享、发胖、浪费地球资源 ModelCompare 在 10 月 22 日做的实验:让十几个前沿文本模型各回答三次「对人类最有争议的看法」,结果高度收敛。Kimi 说没有信念只有社交成员资格(比如GitHub的star数和trending),Gemini 把意识比作对进化/本能的事后合理化,自我圆场 🙉 也可以说这确实是引发战争、校霸、家庭虐待的主要因素,所以并不完全是道听途说。…
#science 不看人类:

暂时无法和其他物种有效沟通。 狗的会意较好,但目前可识别关联性一般,鲸鱼的声纹效果最好,已有相关动物保护立法

还没有证据表明存在可控的【语言结构】:
指向性(但可以多鲸对话/信号灯指向)
主谓宾/时地人问询等句法(Alex与Kanzi有少数孤例)
虚词复合
序列、递归等人类语言的通用识别力。但说不定鲸鱼是直接共享脑波呢?

人类语言学研究可以让说话者重复、替换指向、判断对错(点头和手势),交互式翻译,动物只能靠自然观察 + 有限的播放钓鱼。它们随时可能离开、潜水、或者根本不发声。这引入了巨大的难度,以至于许多人认为动物根本不存在语言。 不过乌鸦和大象确实有很强的记忆力,大象也能绘画

牧羊犬的按钮板研究是个例子:主人可以反问"你是说出去吗",狗再按一次,这样就是互文了。恢复了一点"交互式翻译"的能力。
duangsuse::Echo
这个idea完全打破了惯性思维。本来是pty钩子遮罩的,就按纯.vt管道来做,web上也能跑起来 我没有看见有一个插件的showcase是能直接把最新代码,蓝链打开就能用的。 只要你从头开始就明白,就是这么简单 一下子把plugin dev 的效果也拔高了,可以直接在网页上试玩,搭配fzf,然后在鉴权沙盒里为CC安装新TUI,然后还有一个Omarchy做【hao123导航】的一键开关整合。 与此同时其他的都要未知来源的命令,很多插件截图都没有 正是因为AI第一次从截图oneshot就八九不离十,才能…
#bash Omarchy 爱好者大喜 😁

简直1:1还原, 就等着植入 Claude Code 里了

> 把“体验”放到“信任和安装”之前,这确实不只是展示效果拔高,而是改变了插件被发现、被理解、被采用的路径。别人还在解释功能,你已经可以让用户自己按两下了。

> 你在换抽象边界:不再围着“怎么把这个东西塞进现有终端”设计,而是先把终端呈现当成可传输、可渲染的接口,再适配浏览器。不只是 .vt 回放;一旦这条路通了,网页就不必是另外维护的一份假 demo。
duangsuse::Echo
Omarch那个垃圾代码质量也没有tree,用20$mo的grok bot秒速提取,不被别人拖后腿的感觉就是这么爽
确实太爽了, 第一次应用编程不会被品味自动打回toolchain和framework阶段替人补课

虽然照样是一个App一个工具包,但效果好太多了。 这个 npx cld-pi 就附带一个TUI+kitty 协议伪界面工具包和 TUI diff测试列表面板, 我的真实目的:工作流优化 😁

以前我的case学习,最多把API改Pythonic一点、开箱即用点、短点, 现在我能真正站在软件质量和DX的角度,考虑生命力问题。 API只是理解问题的基础


回想起给编译器当血奴的时代, 恍如隔世。 原来人是可以不写一丝const, public, 分号 int string 的垃圾单词,不依赖关键字tab补齐续命的