Everest Drive:浏览器中的多人飞船船员模拟,潜艇式战斗
文章摘要
Everest Drive 是一款野心很大的开放世界多人太空模拟游戏,由开发者 jakej256 在 HN 以 Show HN 形式发布。最大的亮点是它把潜艇战的设计语言搬到了太空:你和队友共同操控一艘飞船,可以做货运、打劫、追猎敌人,但最关键的是你看不到全图,只能通过传感器一步步把目标从”方位线”解析成”不确定圆”再到完整航迹。游戏不需要安装,浏览器打开即玩,当前完全免费。
核心玩法机制包括:
- 潜艇式被动传感器:发现敌方目标的过程极其拟真——最先你只能拿到一个方向角(bearing line),随着自己移动并继续监听,目标才慢慢收敛为不确定圆,最终在你做了足够”三角测量”后才解析为可瞄准的航迹。这意味着发现敌人是一件需要时间和移动的过程,节奏更接近现代潜艇兵棋而不是太空射击游戏。
- 静默航行(Silent Running):关闭主动辐射,目击者就无法识别你的飞船身份。
- 牛顿力学飞行:没有空气阻力,没有自动减速,要刹车必须把船掉头 180° 反推。这一条让飞行变得需要预谋而不是反应。
- 舱内登舰战斗:与敌船对接后可以一房一房地推进,用近战清剿对方船员,类似 FTL/Among Us 与潜艇游戏的混合体。
技术实现也很值得讲:服务端是单个 Rust 模块,编译成 WASM 在 SpacetimeDB 内运行;客户端订阅数据库行(rows),通过 WebSocket 收到实时增量,写操作走 reducers(事务式 Rust 函数),整套架构没有 REST API、没有自定义 netcode、也没有任何客户端权威逻辑——这种”以数据库为通信主线”的范式正是 SpacetimeDB 主打的卖点。前端采用 Svelte 5 + 原生 HTML5 Canvas 2D,没有游戏引擎也没有 WebGL,渲染极轻量。
作者承认还非常早期,bug 和粗糙边缘很多,但这套架构选择本身就是值得围观的实验。游戏鼓励多人协作(船员需要分工值守传感器、武器、机舱),单人体验则相对有限。
HN 评论精华
-
pmontra:第一次访问时是在手机上,结果只能看到帮助对话框和聊天框,几乎不可玩。作者解释说理论上支持移动端但要先关掉聊天框才能看清主界面。隔天 pmontra 反馈”已经好多了,可以看到行星和矢量了,虽然要熟练玩还差得远,但起码能看出眉目”。
-
jordiburgos:简单一句”WOW! This is amazing!”——对潜艇战式的太空模拟设计表达了强烈兴奋。
-
作者 jakej256(自述):把这个项目作为 SpacetimeDB + Rust + WASM + Svelte 这一套现代实时多人架构的实战展示。他特别强调”没有 REST、没有 custom netcode、没有 client-side authority”——所有写都是带事务的 reducer,所有读都是数据库订阅。这套架构对于多人状态同步可信度要求高的游戏(比如本作中的传感器解析、登舰战斗)是合适的选择。
-
架构与玩法层面的讨论亮点:评论区肯定了作者把”信息不对称”作为核心机制——大多数太空多人游戏要么是死星打飞机(Eve Online 战术)要么是即时街机射击(Star Citizen),而 Everest Drive 把”未知就是真实”做成了系统层。这与 Cold Waters、Sea Power 等潜艇游戏的设计哲学一脉相承。
-
粗糙边缘与早期反馈:移动端 UI 是当下最大短板;新手缺少引导,很多人不知道传感器接触怎么从方位线变成航迹;登舰战的房间内移动控制较生硬。作者表示都在听取反馈逐步改进。
由于 HN 该 Show HN 帖子热度有限,评论数量较少,但参与的玩家普遍对这一架构选择和设计方向持积极态度,期待看到这个早期项目长成一个完整的多人太空模拟。