一位开发者近日发布了一款名为 VEYRN Chess 的开源国际象棋客户端。这款工具的核心卖点在于:它既能作为独立的在线对弈平台,也能直接作为 Lichess 的第三方客户端使用,让玩家无需注册新账号即可接入 Lichess 庞大的玩家池。
项目的出发点很直接:开发者想要一个操作精准、无需注册账号、且能在对局结束后提供有用反馈的棋盘界面。他明确表示,不想再做一个封闭的玩家池,然后把空荡荡的匹配队列包装成一项功能。
![]()
两种在线对弈方式
VEYRN 提供了两种在线对战路径。第一种是私人房间模式:房主创建一个链接,客人打开链接后,通过一个短期的无服务器信令路由交换 WebRTC 连接信息和 ICE 候选地址,随后对局转移到加密的数据通道中进行。信令数据会在几分钟后过期,它并不承担游戏存档的功能。
第二种方式则针对朋友不在线的情况。此时 VEYRN 可以化身为 Lichess 客户端:通过浏览器端的 PKCE 授权流程完成 OAuth 认证,VEYRN 会打开官方的 Board API 事件流,发起一场休闲的快棋匹配,并将合法的走法指令发送回 Lichess。在这一模式下,Lichess 始终是服务器和事实来源,VEYRN 只扮演界面的角色。
开发者强调,这并非机器人爬虫,也不是非官方桥接工具,而是使用了 Lichess 官方为第三方棋盘和客户端提供的 API。
让棋盘"消失"在手下
多数国际象棋界面的可用性尚可,但更难的目标是让棋盘在操作时仿佛"消失"在手下。VEYRN 采用了指针捕获和基于 transform 的拖拽逻辑,让棋子始终锁定在指针位置,而不是跳向抓取时碰到的边缘。点击走棋和拖拽走棋共用同一条合法走法判定路径。预走棋(Premoves)会以独立的视觉状态呈现,并在轮换回合时重新校验。右键绘制的箭头和方块标记位于一个不阻塞操作的 SVG 图层上,规划标记不会干扰走棋操作。
视觉层面的挑战同样具体。坐标、合法走法圆点、上一步高亮、将军状态、棋子与箭头都在争夺对比度。开发者最终将棋盘视为一块仪表盘:克制的矿物色棋盘格、高对比度的棋子、清晰的坐标,以及能与棋盘格颜色明确区分的状态色。
在移动端,时间控制选项被设计为全尺寸的点击目标,而非细小的内联链接。对局结束报告覆盖在棋盘上,立即提供有用的操作入口:寻找下一位对手、创建私人房间、导出 PGN 棋谱,或查看行为报告。
本地存储与隐私设计
VEYRN 会将完成的对局记录保存在浏览器本地存储中。这份报告超越了简单的胜负统计,提供更深入的行为分析。值得注意的是,VEYRN 不设用户档案,也没有云端对局历史。删除浏览器数据即意味着删除这份本地记录。网站使用匿名的、无 Cookie 的 Vercel 页面浏览量分析,但走法、PGN 和本地报告不会随这些事件上报。
国家旗帜会根据网络连接进行粗略检测,并允许手动覆盖。在私人房间中,双方会收到对方选择的国籍代码,避免两名玩家被合并显示为同一个默认旗帜。
开发者透露,有三个部分的开发时间远超预期,超过了那些表面上的核心功能。目前,用户可以直接打开 VEYRN Chess 网站,选择时间控制,然后创建私人房间或使用 Lichess 连接功能开始对弈。项目源代码已托管在 GitHub 上。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.