Skip to content

About

轻量正统 2D 格斗游戏 | 三档操作范式共享同一帧数据 | 确定性战斗内核 | 纯代码构建零资产

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FightNexus

轻量正统 2D 格斗游戏 · 纯代码构建(零美术/零音频资产)· 确定性战斗内核

FightNexus 是一款在浏览器中运行的 2D 格斗游戏,核心理念是 「操作范式解耦」: 经典 / 现代 / 辅助三档输入范式共享完全相同的帧数据与伤害,只有「输入→意图」的映射不同——让新手和老兵在同一个竞技场公平对决。

在线试玩:https://wpf1022.github.io/fightnexus/

特性

🎮 三档操作范式(同一份帧数据)

范式 输入方式 适合人群
经典 Classic 搓招(236/623/360…)+ 按键 格斗游戏老兵
现代 Modern 方向+按键简化出招、自动连段 普通玩家
辅助 Assist+ 单键出招、长按持续 纯新手(暂不支持联机)

⚔️ 战斗系统

  • 60fps 固定步长确定性模拟(结算路径无随机数,同种子逐字节复现)
  • 帧数据 Schema 单一事实源:startup / active / recovery / 判定 / 取消窗 / 无敌帧
  • 三角色矩阵:凯尔(波动·立回)/ 莉娜(空战·压制)/ 戈罗(投技·霸体)
  • 削伤、霸体吸收、投技拆解、okizeme、伤害修正阶梯、气绝槽、拆投
  • 波动弹可被普通攻击打消

🤖 AI(§9 可读性优先)

  • 11 维行为参数 × 3 档难度 + 木桩,禁止输入预读(延迟感知)
  • 与玩家共用同一套输入接口(可回放、可镜像对战)

📊 成长与复盘

  • 高光自动捕捉 = 关键帧快照 + 输入流切片,结算页按输入重放(非录屏)
  • 结算页「进步优先」:数据 + 教练提示(确反窗口、下一手推荐)
  • 训练模式:连段课程卡 + 帧数据面板
  • 动态难度(HSI 隐性技术指数)

♿ 无障碍 & i18n

  • 色觉模式(标准/蓝黄/高对比)、震屏/闪光开关、字号缩放
  • 中/英双语

快速开始

无任何构建步骤,直接打开:

git clone https://github.com/wpf1022/fightnexus.git
# 双击 index.html,或
npx serve fightnexus

操作

动作 经典 现代 辅助+
移动 ←→ ←→ ←→
轻/重攻击 U / I J / K(自动连段) 单键自动
必杀 ↓↘→+P 等搓招 ↓↘→+攻击 或组合键 单键
超必杀 236236+P(3 格气) ASSIST+重击(3 格气) 单键(3 格气)
投/拆投 防+攻击(近身) 同 同

键位可在 设置 → 按键 中自定义(含冲突检测)。

测试

node test/smoke.js    # 平衡硬约束 BT-1~11 + 确定性 + 冒烟
node test/inputs.js   # 三档输入管线 12 项
node test/edge.js     # 边界场景 9 项(chip KO/角落推箱/快照恢复…)
node test/stress.js   # 卡死扫描(随机对局×60)
node test/diag.js     # AI 行为密度诊断

技术要点

  • NetAbstraction 架构:InputProvider 接口(本地/AI/回放/空实现),step(input) 纯函数,为 Rollback 联机预留
  • 程序化骨骼动画:关节角姿态 + 关键帧插值,人物/场景/特效全部由代码生成
  • Web Audio 程序化合成:BGM/SFX 无外部音频文件
  • 纯原生 JS,零依赖,源码 < 1MB

许可证

MIT

About

轻量正统 2D 格斗游戏 | 三档操作范式共享同一帧数据 | 确定性战斗内核 | 纯代码构建零资产

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages