duet-solo-hackathon · Loptr-Lab/duet-solo-hackathon
Loptr Lab 的双人策略游戏原型,采用 HTML 开发,提供本地游玩、远程 Classic 对战和 PIXIE 固定游戏帮助。项目关注无障碍与屏幕阅读器支持,当前无障碍验证仍在进行中;具体玩法与功能完成度待核验。
Duet: Solo 是 Loptr Lab 推出的双人策略游戏原型,面向盲人与低视力玩家优先设计,而非把无障碍当作事后补丁。项目以浏览器为运行载体,前端为静态 HTML/CSS/JS,后端使用 Node.js + Express,部署目标为 Google Cloud Run。
在 Loptr Lab 的研究脉络中,Duet: Solo 是其长期博士实践研究项目《Organizational Leadership and Narrative World-Building in Independent Game Studio Production》里的「无障碍制品」(accessibility artifact);主要创作案例则是 Veiled Dominion。Duet 本身保持独立定位:一个双人、8×8 的实验性机制实验室。四人对战、14×14 的规则权威位于 Loptr-Lab/veiled-dominion-engine 仓库,Duet 的实验机制除非在该仓库被显式提升,否则不会成为正典。
README 明确指出:项目仍在积极开发中,屏幕阅读器优先的棋类变体尚在推进,PIXIE 固定游戏帮助已合入源码,但部署与人工验收仍待完成。
public/index.html)。落地页(#front-page)与游戏本体(#game-screen)通过 JS 切换而非页面重载,未引入路由或构建步骤。两种玩法模式共享同一规则引擎与可访问命令栏。server.js)。POST /api/agent(固定答案,无模型调用)。根据 README,应用当前包含以下内容:
Fog Mode 的无障碍设计要点在于「信息门控」而非仅视觉隐藏:通过命令栏或屏幕阅读器查询某个格子时,返回的内容只等同于视力正常玩家实际能看到的信息——可见、最后已知/过期,或未探索。也就是说,迷雾是公平性机制,而不是无障碍缺口。
此外,Radius of Ruin / Sanctuary 光环使用数据驱动的「呼吸」动画:每次渲染时依据实时棋盘状态(当前被遮蔽或受庇护的棋子数量)设置 CSS 自定义属性,而非固定装饰性脉冲,并全程尊重 prefers-reduced-motion。
服务端通过一个有界的问题门控,从八条固定 DUET 答案中选择一条返回。混合话题与跑题消息会收到同一条中性游戏帮助提示。该帮助路由不调用 Gemini 或其他模型 API,也不持久化问题文本。
README 记录了所有者于 10 月 5 日授权的合并例外。但合格的 external review、真实客户端帮助交互、完整对局与辅助技术验收,仍挂在 issue #69 与 #70 下待完成。README 特别提醒:源码实现并不等于当前正在服务的版本已包含该实现,需参考答案评审表与发布记录。
npm install.env.example 为 .env 并填写 PORT、PUBLIC_URL(本地可选、部署建议填写)、GOOGLE_CLOUD_PROJECT(仅在启用持久化远程对局时需要)。npm start,然后打开 http://localhost:8080。Cloud Run 是托管目标,但 README 强调:页面可访问并不能证明正在服务的提交、服务商配置、Firestore 访问或模型/发帖服务可用。改动生产前应先阅读运维交接文档,私下核验服务源码、流量、触发条件与必要配置,并重新确认所有者的构建批准设置,同时保持 Gemini 密钥缺席。
公开 fork 需自行提供并支付其服务费用,须遵循 FAN_FORK_GUIDE、SECURITY 与数据治理文档,不得使用 Loptr Lab 的凭据。
源码实现了最小化的匿名完成对局摘要,以及可选的赛后反馈,用于已配置的 Firestore 部署。渲染检查不能证明线上写入成功或留存成立。预期的隐私边界将房间码、重连令牌、DID、handle、邮箱、socket 标识与网络地址排除在匿名集合之外。表单要求显式同意且可跳过,原始记录带 30 天过期时间戳。部署前需为 anonymousCompletedGames 与 anonymousGameFeedback 的 expiresAt 字段启用 Firestore TTL。
项目在黑客松中的类别为 Education & Human Potential:通过以辅助技术用户为中心、并用有界游戏帮助降低上手门槛,扩大策略学习与游玩的可及性。
后续开发方向包括:生产可靠性、玩家自有 PDS 记录、可替换的服务适配器。README 明确说明玩家 PDS 游戏存储是「下一阶段实现工作」,而非当前功能;Bluesky 对局发帖代码的当前配置与成功发帖同样未经验证。
软件以 MIT 许可发布。粉丝 fork 必须使用不同品牌,且不得暗示 Loptr Lab 背书或正典地位。参与机会当前为自愿、无报酬,开始前需就范围、时间、公开内容、署名偏好与退出路径达成书面一致。
Hypersomnia 是 TeamHypersomnia 用 C++ 从零编写的一款多人俯视角(top-down...
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
id Software 以 GPL 许可证发布的《雷神之锤3竞技场》(Quake III Arena)源...