改之前
模拟投资 / 预测市场
有筹码,有下注机制。合规负担按赌博和金融两条线同时计。
岛街 · 2D 像素元宇宙 IM
岛街是一个 2D 像素的元宇宙 IM。从聊天列表下拉,你看到一片岛群 —— 每个群、每家企业都是岛上一栋建筑。 你只看得到建筑,看不到里面的人,也进不去别人的;点建筑上的申请入口,对方同意后走大厅进去,才见得到人、走近能说话。
2026 年 8 月 2 日我们把方向改了。改之前做的是模拟投资和预测市场 —— 用户押上筹码猜涨跌;改之后做的是元宇宙 IM,人在里面开店、开公司、打工、社交,猜实际事件但不押任何筹码。
换方向的理由不是原来那条不赚钱,是它带着一整套我们不想要的负担:只要有筹码,产品就要按赌博去过应用商店的分级,按金融去过各地的牌照。把筹码拿掉,这些负担整体消失,而「猜一件事会不会发生」这件事本身一点没少。
改之前
有筹码,有下注机制。合规负担按赌博和金融两条线同时计。
改之后
人、岛、店、公司、打工、社交。猜事件保留,筹码清零。
从聊天列表下拉进来,是全局俯视层:一片岛群,只看得到建筑,看不到任何角色,也进不去别人的。每栋建筑挂一个申请入口 —— 申请入群,或申请加入一家企业。
对方同意,或者你被邀请,才走大厅进入那栋建筑的室内。这时才是室内群空间层:能走动、看得到在场的成员、走近就能说话。
全局俯视层
从聊天列表下拉进入。看不到人,进不去别人的,每栋挂一个申请入口。
室内群空间层
申请通过或被邀请后走大厅进入。走动、在场、走近即语音。
一个群、一家企业,就是岛上一栋建筑,也就是一间聊天室。进不同的群,就是进不同的建筑。成员在不在线,直接用 IM 本身的状态,元宇宙这层不另造一套。
建筑里能做的还是现实里那几件:开店、开公司、打工赚沙豆、社交,以及零筹码地猜一件真实世界的事会不会发生。 一条链路把「所有能力都是小程序」说得更具体:企业组织在自己的店铺里发会员卡,卡收进用户的卡包里,拿着卡去它的实体店能用。
整个项目只有一条结构性的分野,其余全部从它推出来:壳是宿主,小程序是客体。壳装载包、提供桥、管窗口与更新。它不知道包里在演什么。小程序是一个包,被沙箱关着,吃 20 MiB 的配额,能力全部经桥向宿主要。
这条分野决定了「所有能力都是小程序」这句话可不可能成立:只有当壳完全不懂业务,业务才能一个一个地做成包、独立审核、独立上下架。壳里塞一次业务,就少一个能被独立替换的能力。
下面这张表中间那一列和左边一样重要,而且更容易被删:一个模块的边界只写正面,半年后每个模块都会长出一点点别人的活。「不负责什么」的每一行都是一条能拿去否决改动的依据。
最右那一列是今天的披露状态,三档:已经在生产上跑着的 3 行、代码在库但还差一段才能跑起来的 5 行、当前作者化 registry 未登记 manifest 的 3 行。最后一档不推断外置观察中不存在身份或实现。
| 模块 | 负责什么 | 不负责什么 | 今天到哪了 |
|---|---|---|---|
| iOS 壳 | 装载包,把账号、支付、音视频经桥给包 | 不渲染岛,不解释岛上任何规则 | 已在生产 |
| 桌面壳 | 把同一份包装进桌面窗口,管更新与本地能力 | 不分叉业务逻辑,不做第二套渲染层 | 已在库未接线 |
| 网页壳 | 免安装入口,同一份产物直接在浏览器里跑 | 没有宿主能力,不假装有 | 已在库未接线 |
| 元宇宙包 | 岛与角色的渲染、走动、遮挡与排序 | 不建账号,不碰资金,不自己存档 | 已在库未接线 |
| 猜事件包 | 猜一件真实事件会不会发生,记准确度与排名 | 不押筹码,不结算盈亏,不碰真实沙豆余额 | 已在库未接线 |
| 模拟仓包 | 独立记账的模拟仓、季度重置、名次与称号 | 不动真实沙豆余额,不做下单、撮合、仓位结算 | 无作者化清单 |
| 商户店铺包 | 实物商品与线下服务的成交 | 不在包里卖数字商品 | 无作者化清单 |
| 卡包 | 收纳企业发的会员卡,在实体店出示与核销 | 不发卡,不记企业的账,不碰资金结算 | 已在库未接线 |
| 消息与账号 | 账号、会话、消息、实时音视频 | 不知道岛的存在,不为渲染层写专用代码 | 已在生产 |
| 小程序平台 | 审核、货架、版本、包体扫描与配额判定 | 不运行包里的代码,不替包做业务判断 | 已在生产 |
| 资源控制面 | 图集与音频的对象存储与分发 | 不改资产内容,不当资产的真值来源 | 无作者化清单 |
无作者化 manifest 的 3 行 —— 模拟仓包、商户店铺包、资源控制面 —— 只说明 public registry 尚未登记模块归属,不是仓不存在或实现未开始的证明。
两个名字都会出现在材料里,而它们不是一回事。「岛街」是产品的中文名。「ProbAtlas」是公司和平台的名字,比现在这个产品方向定得更早 —— 全站的域名、证书和服务器配置至今全部挂在它下面。你在地址栏里到处看到它,那不是另一个产品,是同一家公司的地基。
而在岛上,ProbAtlas 还指一件具体的东西:一个理财小程序,用沙豆做一份模拟仓。它和你的钱包是分开的两本账 —— 模拟仓里的数字只拿沙豆当刻度,你真正的沙豆余额在它的整个生命周期里一次也不变动;每季度清零重开,比的是收益率,赢来的是名次和称号,不是沙豆。这个玩法的最终形态还没拍板。
公司与平台
域名、证书与服务器都在这个名字下。平台名要不要跟着产品方向一起改,是老板级的决定,还没拍。
产品
岛上有一个叫 ProbAtlas 的理财小程序。两层同名是历史造成的,不是同一个东西的两种叫法。
最后回答一个尽调的人一定会问的:下单界面在不在路线图上。不在。早先规划里有过一条「面向事件合约的下单与仓位构建」的产品线, 已经裁决不做 —— 只接数据接口把数据拿进来,不做下单、不做撮合、不做仓位结算。这和下面那组红线里的第一条不是两件事, 是同一条边界的正反两面。
第一笔钱不来自元宇宙。收入表里唯一有历史成交痕迹的一条是白牌 IM 的私有化交付:东西已经就绪、已经在生产上验证过,对公收款不需要任何支付基建。卡住它的是第一个客户和一份对外的产品说明,不是技术。
元宇宙里,商户的钱走成交,不走站内的数字商品。依据是应用商店的规则本身:实物商品和线下消费的服务必须用非应用内购买收款,平台抽成 0%;反过来在 app 里卖数字商品或者卖曝光,要走应用内购买,抽 15% 到 30%。这条差别决定了商户侧的整个设计。
沙豆是劳动货币:干活赚,买虚拟商品花,数量永不因为任何结果增减,也永远不能提现。
订阅这条线上,老板已经定下一档:组织者档 $18.99。这是唯一一个已经拍板的价格 —— 其余档位仍在重议,所以这一页不给别的数字。
一个「元宇宙 + 猜真实事件」的产品,读到这里最容易被问的一句是:这是不是赌博。答案是六条红线,而且每一条都写成了一句代码审查时能当场判定的话 —— 一行代码只要拿行情、事件结果,或者「猜对了没有」去算某个人的沙豆该加多少减多少,它就是违规的。加还是减、多还是少、能不能提现,都不改变这个判定。
应用商店的分级规则只在一个地方分界:用户有没有拿值钱的东西去赌一个结果,赌输了就没了。我们这里没有任何东西会因为一个结果而消失 —— 这不是免责声明,是产品定义。
先正面回答一个绕不过去的问题:不走霓虹。深底加高饱和霓虹加发光,正是加密交易所和赌场共用的视觉语法 —— 机制层刚把押注摘出去,美术层再装回来等于没拆,而审核的人先看截图。要霓虹就得先废掉色板,而色板是全部纪律的地基。方向因此写死:高级但不霓虹。
冷暗族
木族
灯族
肤族
最亮
植被族
角色冷蓝
让它不糙的不是分辨率,是五条纪律。它们跟引擎、跟画多大都没关系:
镜头是鸟瞰。角色 32 × 48 像素写死 —— 一格宽、一格半高,这就是「也别太大」。「精细一点」不靠加像素,靠在同样大小里加明度台阶。
精细几乎是免费的,而这是量出来的:一个角色的四朝向四帧图集 562 B,一张 512 见方的地块图集 22,825 B —— 后者是前者的四十倍。加台阶、加朝向都便宜,加地块面积才贵。
最容易画糊的一步是把阴影画成「继续调暗」。暗部必须跨族转色相 —— 整张图发灰,就是这一步被画错了。
引擎不重选。Godot 4 与 Unity Web 在第一步就出局,理由不是喜好:它们导出的单个 wasm 文件未压缩 40 MB,而小程序服务端写死的单文件上限是 16 MiB —— 拿这两个数直接除,是上限的 2.38 倍,扫描器直接拒收。Phaser 4.2.1 是 MIT 许可,可以商用。
上面那套质感 —— 平涂色块、索引调色板、接触影、按高度分层的遮挡与排序 —— 全是 2D 精灵引擎的基本功,没有一条需要 3D。所以选一个 2D 引擎不是妥协,是对着要做的东西选的。
三端共用同一份产物,而今天只有网页这一端有实物证据:本页顶上那个商店就是那份文件在浏览器里跑。 iOS 壳已经在生产上,但这份文件在它里面跑起来这件事本站没有任何证据。 桌面壳窗口能开起来,但装载本地包用的自定义协议还没接上。账号、聊天直接调 IM 已有的底座;支付那一件底座上今天还没有。
两个入口 · 进的是两层
matrix-x-chat-ios进全局俯视层matrix-x-chat-ios进室内群空间层全局俯视只见建筑;申请入群或被邀请后走大厅进室内断在空间授权:审批通过映射到「可进这栋建筑」这一跳还没接
客体层 · 被沙箱关着的签名包能力全部经桥向宿主要
外置证据身份未公开代码证据在库,未接宿主外置证据身份未公开代码证据在库,未接宿主外置证据身份未公开代码证据在库,未接宿主外置证据身份未公开桌面壳没进默认分支Host 接口 —— 宿主与包之间唯一的桥
契约与共享工具链 · 唯一真源
外置证据身份未公开四个包锁同一版外置证据身份未公开三个包共用运行期探测宿主,一份产物扇出到三个外壳
宿主层 · 装包、提供桥、持会话密钥壳不懂包里在演什么
外置证据身份未公开代码证据在库,没部署matrix-x-chat-ios壳已在生产外置证据身份未公开装不了货架包装载走 matrix-miniapp-package:// 主壳上这一段还没实现,今天装的是内置样例包上传 → package-scanner 九道门槛 → 货架
服务端 · 小程序平台
miniapp-open-platform在生产miniapp-open-platform在生产im-core两张表都没建会话 · 消息 · 实时通信域 · 推送
↓ 线以下由 iOS 上的 IM 底座提供,我们只调用,不实现
matrix-x-chat-ios包格式 · 货架 · 运行时reits-auth登录态与身份复用im-core会话 · 消息 · 推送仓归属不适用下单支付接口调过 404matrix-x-chat-ios已集成,桥上还没有单包 20 MiB量的是 zip 字节,超了拒收,不是警告。四个真包里最大的那个,占不到配额的五十分之一,引擎连插件约 3% —— 配额今天不是瓶颈。
代价是引擎要塞进小程序 20 MiB 的配额。按现在选定的那四个插件打完包量过,引擎连插件一起占大约 3%。这四个插件还没最后拍板,插件一换这个数必须重新量。再扣掉游戏逻辑、角色图集、中文字体子集、界面和音效,还剩大约 16.2 MiB 全部留给内容 —— 按每座岛约 0.78 MiB 算,共用背景音乐时装得下 20 座岛,每座岛各配一分钟背景音乐就只剩 11 座。
引擎只吃掉一格,剩下的全是内容。这一格是打了包量出来的,不是估的。
今天没有用户。真实用户 0,账号表里那 190 条全是冒烟测试留下的。小程序货架上真实条目 1 个。零收入,而且收款链路根本没通 —— 我们调过下单支付那个接口,返回 404。
岛也一座都没建。20 座是预算允许的上限,不是进度。
已建成 0 / 20
但渲染层不是纸面上的。本页顶上那间能走动的商店是一个真包,用要出货的那套打包链打出来的:真的碰撞(墙和家具是实心的,走不过去), 真的邻近触发(走到柜台前面板子自己弹出来,不靠点按钮),角色和屋顶按固定层序前后遮挡。 它是拿 Phaser 4.2.1 打出来的,过了小程序平台自己那套扫描器。
也说清它还不是什么:那是一间商店的内景,不是一座岛;它的清单自报是一份骨架,带家具的那一版还在客体仓一个没合并的改动里。 而「过了扫描器」只说明包装合规 —— 那套扫描器不执行包里的代码,一个打开是白屏的包照样能过。
本轮新建了四个仓:元宇宙包、猜事件包、卡包,加一个三者共用的打包与门禁工具链。元宇宙那个包创世时打开是白屏, 修完之后补了一道门禁:不许只查包装,必须真把包加载起来、真起一个浏览器、真渲染、真截图看到像素、真能动。桌面这一端也有了实物 —— 一个原生 Electron 壳能开起来并且不白屏。
也说清它们今天到哪为止:四个仓都还没有接进任何宿主;能装签名包的那份桌面壳还在客体参考仓一个没合并的分支上,仓的默认分支上没有它。 这些仓的门禁只有本地把关 —— 工作流文件在仓里,而能跑它的机器是零台。
开工的条件也写死了,而且是判据不是排期:真实注册用户不到 200 个、真实小程序不到 8 个,元宇宙这条线就不开工。达不到就不开工,不用排期去凑。
虚拟空间社交是一个尸横遍野的品类,规划里专门有一节列它的负面证据,而且写死了不许因为想做就淡化。品类冠军 Gather 在 2026 年 2 月官宣团队并入 Figma、产品剥离成独立小生意,原话是「它不是一门风投规模的生意」; 同期 Teamflow、Wonder.me、Mozilla Hubs、Meta 的 Workrooms 独立应用连环关停;Rec Room 有 1.5 亿注册,2026 年 6 月照样关停 —— 注册量不是护城河。
所以我们没有把它当成一个新的社交空间去立项,而是当成一个已经有账号、有聊天、有小程序宿主的 IM 上面多长出来的一层。这一层做砸了,底下那些东西照样在跑。
规划里还写了一条零工程的证伪实验:先自己花几百美元用三个月同类产品,如果我们团队自己三个月后都不再打开它,就没有任何理由相信外部用户会打开我们造的那个。
iOS 工程里实时音视频 SDK 已经集成,空间音频扩展已经链接进构建,生产级适配层和服务端的实时通信域都已经存在。走近听得见、走远听不见的距离衰减语音,是零美术、只需要接线的能力 —— 而那正是这一类产品的核心体验。
20 MiB 这个数是从小程序服务端的常量里逐条读出来的,不是拍脑袋定的;引擎连插件一起占的那大约 3%,是拿现在选定的那套插件真打了一个包、再用平台自己的扫描器量出来的 —— 插件集一换就得重新量。所有和这条线冲突的引擎,在这一步就出局了。
小程序宿主、账号、聊天这 3 件已经在生产上跑着,支付不在其中 —— 收款链路今天没通。我们要新写的是渲染层和内容,不是一个平台。这是这件事在今天能被一个小团队做出来的全部原因。