Skip to content
athemeroyPublic

About

《全职高手》粉丝同人:把网游《荣耀》做成浏览器里能玩的第一人称动作游戏(非官方、非商业)。由 Claude Opus 5.5 制作。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

荣耀 Glory(网页版)

声明:这是《全职高手》(蝴蝶蓝 著)的粉丝向同人作品,非官方,与原著作者、出版方及任何改编作品的权利方均无关联,不以任何形式盈利。 角色账号名、部分招式名等归原著权利人所有。如果权利人认为本项目侵犯了其权益,请在 Issues 联系我们,我们会立即下线相关内容。

把小说里的网游《荣耀》做成可以直接玩的第一人称动作游戏。浏览器运行,three.js 渲染,不用安装。

  • 在线试玩:https://glory-game.vercel.app/play/ (支持电脑键鼠与手机触屏;首页 https://glory-game.vercel.app 有宣传片)

  • 初版怎么做出来的:主要由 Claude Opus 5.5 在 Claude Code 里完成。约 15 小时,作者只发了二十来条消息提方向(“建模太丑”“动作僵硬”“要能切视角”“配音难听”“要能联机”),具体的代码、建模流程、平衡测试、宣传片和部署都是模型自己做的。初版代码约 1.35 万行,AI 互打约 1,200 局调平衡,外部 API(图生 3D、绑骨、动作库)约 34 美元。

  • 后续更新:Codex 接续优化了完整身体与镜面、Blender模型、实际三维命中、体力和异常状态,并加入魔道飞行、召唤师四兽、战法炫纹、枪械后坐、新地图和三章同人剧情。当前12个转职职业加散人,共13张账号卡。章节出处、本作参数与未完成项见更新记录,本轮140场AI测试的范围见平衡报告。

  • 最新修复:近战蓄力按实际蓄力比例结算伤害、击退和破防;连段第12击优先触发保护,保护下落时不再被后续攻击托起;AI按目标身体高度筛选接触招式,减少对高处目标使用够不着的招式。对应回归覆盖蓄力、保护与AI高度选择。

  • 角色:原有12种玩家风格、Boss及两种小怪由概念图经 Tripo P1 图生3D、Meshy 自动绑骨得到,后续默认采用 Blender 优化模型;新召唤师暂用术士骨架派生,四兽为程序网格。动作来自共享动捕库,第一人称、镜面和其他视角绘制同一身体与骨架;武器、场景、特效由程序生成。部分生成模型的面部和衣料仍需精修。

  • 声音:音效用 WebAudio 实时合成;解说由 macOS 神经语音预先合成,大招喊招由 Gemini 3.8 Flash TTS 按原著人物性格配音。

  • 画面:泛光、调色、SMAA 后期管线;标题字体为思源宋体子集(自托管,国内网络可用)。

怎么启动

  • 推荐:双击 start.command(macOS)/ start.bat(Windows),或在本目录运行 node server/server.mjs。需要 Node 18 以上,不用装依赖。浏览器打开 http://localhost:8780/。
  • 在线:部署到 Vercel 后(见下文“联机”),任何人打开网址即可玩、即可联机。
  • 只玩单机:本目录运行 python3 -m http.server 8780,打开 http://localhost:8780/。
  • 电脑支持键盘和鼠标,推荐 Chrome / Edge。点一下画面锁定鼠标,Esc 暂停。
  • 手机自动显示屏幕按钮,建议横屏:左下摇杆移动,拖动画面空白处转视角,右下点按技能。普攻长按蓄力 / 连射,格挡 / 瞄准长按保持;跳跃、闪避、锁定、千机伞形态、镜前换装、视角、数据和暂停均可触控。支持的浏览器可点“全屏”。手机首次使用默认流畅画质,可在设置里调整。
  • 演示视频:media/glory-demo.mp4(44 秒,越肩 / 第一人称 / 第三人称对战、镜子换装、Boss、团队赛)。

玩法

模式 内容
训练场 镜廊训练室:木桩、训练目标清单、召唤任意账号卡当陪练(四档难度)。走到镜子前按 G 换装,镜中是你实时的全身模型。
剧情模式 三章同人剧情,含对白、目标引导、战斗与通关进度保存。
个人赛 断桥庭院、联赛赛场、钟塔广场、霜桥遗迹四张地图可选;1v1三局两胜,每局3分钟。
擂台赛 3v3 车轮战,胜者留场并保留生命。
团队赛 3v3 同场混战,你和两名 AI 队友对三名 AI。
副本 寒铁遗庭:三波骸骨卫兵与冰晶术士 → 开门 → 两阶段 Boss「寒铁守卫」。可带两名 AI 队友。
联机对战 1v1,浏览器直连(WebRTC)。一人创建房间(可设密码),另一人输入 6 位房间号加入;也可以不经任何服务器,互相复制连接码。主机权威判定。

13张账号卡:君莫笑(散人·千机伞)、一叶之秋(战斗法师)、夜雨声烦(剑客)、大漠孤烟(拳法家)、一枪穿云(神枪手)、沐雨橙风(枪炮师)、索克萨尔(术士)、小手冰凉(牧师)、王不留行(魔道学者)、昧光(召唤师)、包子入侵(流氓),以及原创账号裂天(狂剑士)、影刃(刺客)。原著24职业的当前覆盖见职业清单。

操作(均可在设置里改键)

键 作用
WASD / 鼠标 移动 / 视角
左键 普攻(连按三段);近战按住=蓄力重击(霸体、武器蓝光,蓄满破防、金光);远程按住连射
右键 职业特技:格挡或瞄准;战法在后续命中窗口内点按发射炫纹。剑客完美格挡后可接左键“回锋”
Q E R F C X 六个技能 · V 大招
空格 跳跃 / 受身;魔道在空中再次按下骑帚,按住上升、松开缓降
Shift 闪避冲刺(短暂无敌)
Ctrl 按住疾跑,消耗体力
1–4 散人切换千机伞:剑 / 矛 / 枪 / 盾(技能会自动切换所需形态)
T 观察目标,默认不自动转动视角 · Tab 数据面板 · F5 切换视角 · G 镜前换装

战斗系统

  • 浮空与追击:挑空技能把人打上天,空中继续命中会把目标托住。
  • 保护:同一连段第三次挑空或浮空超过 2 秒后不能再挑;连段伤害逐段递减到 45%;同一连段第 12 击强制击倒,起身后短暂无敌加霸体。
  • 受身:落地前后按空格翻滚起身;否则倒地,倒地追击最多 3 击延长倒地。
  • 霸体、破防、背击 +15%、暴击、完美格挡、取消(普攻收招接技能,技能收招末段接其他技能)。
  • 攻防三角(借鉴《永劫无间》):蓄力重击带霸体可硬吃普攻;看准时机格挡=振刀,克制蓄力;普攻打断正在举盾等待振刀的对手。读招光效:霸体招式武器发蓝光,破防/不可格挡发金光。
  • 体力与状态:疾跑、跳跃、闪避和受身消耗体力;致盲、眩晕、硬直、束缚、冻结、技能封印、睡眠、混乱及持续伤害分别处理,支持净化。详见原著机制与取舍。
  • 三维命中:武器、拳脚和弹丸需接触实际身体体积;墙体、高度与倒地姿势影响命中。枪弹下坠,飞枪与飞炮有真实反向后坐。
  • 第一人称:默认直接绘制世界身体,镜面与主相机共享同一帧几何和骨骼。战斗中没有背景音乐,靠空间声音判断方位。

目录

  • src/game/:战斗(fighter / combat / ai)、模型与动画(model / anim / weapons / fpview)、关卡(levels/)、模式(modes / netmodes)。
  • src/ui/:HUD 与菜单。src/engine/:输入、合成音效、语音、联机。
  • server/server.mjs:零依赖静态文件 + WebSocket 房间服务器。
  • tools/:自动化测试(pwrun.py 单局、fpseq.py 逐帧、balance.py 平衡矩阵、tour.py 画面巡检、nettest.py 联机冒烟测试)。详见 ARCHITECTURE.md。

联机

游戏数据走浏览器直连(src/engine/p2p.js,WebRTC 数据通道),不经过服务器。连接前双方要交换一次连接信息:

  • 房间号:POST /api/sig(server/sig-core.mjs;本地由 server/server.mjs 提供,线上由 Vercel 函数 api/sig.js 提供,需配置 Upstash Redis 才提供六位房间号;未配置时自动改用手动传码)。
  • 连接码:房主生成邀请连接码后进入房间(1/2),访客粘贴后生成回复码,再由房主粘贴确认。手动传码等待3分钟;不要把房主的邀请码当成访客回复码。房间号服务不可用时自动改用手动传码。
  • TURN 配置:服务端设置 TURN_URLS(逗号分隔的 turn: / turns: 地址)及 Coturn REST 的 TURN_SECRET;GET /api/ice 签发一小时凭据,共享密钥不发送到浏览器。Vercel 与本地 Node 服务均支持。需要真实可用的中继服务器,仅填写变量或交换连接码不能消除运营商网络限制。
  • 移动网络、手机热点或限制 UDP 的网络可能无法直连;热点不保证可用。部署可配置 TURN 中继,当前正式站尚未配置。
  • 部署:tools/vercel/build.sh && vercel deploy dist --prod。vercel.app 在国内被 DNS 污染,国内访问需绑定自己的域名。

宣传片

tools/promo/ 生成宣传片 media/glory-promo.mp4(约 67 秒,1080p):

  1. promo.py(Mini 上跑):按分镜在游戏里逐帧录制原始镜头(?manual=1 + 录制用机位钩子 game.camHook),同时拦截游戏的音效/喊招调用,用 mix.html 离线渲染成与画面同步的音效分轨,并渲染整段配乐。
  2. remotion/:Remotion 合成标题卡、转场、字幕、旁白与混音(src/data.js 是分镜与时间线,npm run render)。
  3. 旁白与大招喊招:Gemini 3.8 Flash TTS(tts.py,vo-lines.json / ult-lines.json;喊招音色按原著人物性格匹配)。

宣传首页

site/:宣传首页(宣传片、特色、十三张账号卡、试玩与联机说明)。tools/vercel/build.sh 把首页、/play/ 游戏和 /api/sig 组装到 dist/,用 vercel deploy dist --prod 发布。宣传视频不在Git中;没有本地视频时自动使用已有海报,干净检出也能构建。

美术资源与费用

图生 3D 与绑骨/动作通过 fal.ai 付费接口完成:Tripo P1 图生 3D、Meshy 绑骨与动作库;早先一版 Hunyuan3D 模型保留在 assets/models/*.glb 作为无动捕时的后备。tools/pull-rigged.sh 是作者机器上拉取模型与生成清单的脚本,仅供参考。

声明与许可

  • 本项目是《全职高手》的粉丝向同人作品,非官方、非商业,没有任何收入,也不接受赞助或付费。角色账号名、部分招式名取自原著,相关权利归原著权利人所有;数值、模型、关卡为本作原创,不代表原著设定。
  • 如有任何可能侵犯权利的问题,请在 Issues 告知,我们会立即下线。
  • 代码以 MIT 许可开源;美术、音频、视频素材以 CC BY-NC 4.0 许可,仅限非商业使用。详见 LICENSE。
  • 第三方:three.js(MIT)、思源宋体 / Noto Serif SC 子集(SIL OFL 1.1)。角色模型由 Tripo、Meshy、Hunyuan3D 等服务生成,大招喊招由 Gemini TTS 生成。

About

《全职高手》粉丝同人:把网游《荣耀》做成浏览器里能玩的第一人称动作游戏(非官方、非商业)。由 Claude Opus 5.5 制作。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages