项目空间

项目笔记N-217

总计

更新
内容块
148
阅读
约 4 分钟
路径
项目笔记 / CS / 2026.7.7

1.基础技术栈

  • •C++17
  • • Win32 + OpenGL
  • • CMake + Ninja + MinGW

逻辑模组

武器模组

枪械模组

四种枪械

道具模组

三种道具

地图模组

测试模组

Build.bat(构建测试)

作用:构建 Debug 版 build\DesertStrike.exe。

它会检查:

  1. 1.CMake 是否存在
  1. 2.Ninja 是否存在
  1. 3.MinGW g++ 是否存在
  1. 4.build\CMakeCache.txt 是否包含旧路径,如 F:\Codex\CS2_B_NavGraph
  1. 5.如果发现旧路径,会删除 build 后重新配置

run_test.bat(基础冒烟测试)

  1. 1.配置加载
  1. 2.AI profile / weapon profile 是否有效
  1. 3.地图加载、节点标签、语义节点
  1. 4.基础相机、鼠标反转、旁观者模式、暂停菜单
  1. 5.玩家跳跃、移动、复活
  1. 6.Bot 角色分配、CT 出生点、T RushB、EcoPick、Sniper
  1. 7.武器后坐力、散布恢复、移动/空中散布、狙击开镜、半自动
  1. 8.可见敌人伤害、隔墙不能命中
  1. 9.卡住恢复、补枪距离
  1. 10.炸弹携带、下包、守包、拆包意图
  1. 11.简单多回合模拟

run_industrial_qa.bat(长测)

执行内容:

  1. 1.连续两次 run_full_acceptance.bat
  1. 2.再单独跑各模块 audit
  1. 3.--qa-matrix
  1. 4.--qa-soak %QA_SOAK_MINUTES%,默认 30 分钟
  1. 5.输出日志到 logs\industrial_qa_<timestamp>.txt

main中内置检测

--map-audit

  1. 1.node-standable:所有有效导航点是否可站立
  1. 2.nav-edges:导航边是否可通、是否有坏边
  1. 3.jump-link-map:JumpLink 是否存在并被路径使用
  1. 4.nav-components:T、CT、A、B 是否在主连通分量
  1. 5.T-to-A、T-to-B、CT-to-A、CT-to-B 等路线时间
  1. 6.route-variety:T/CT 到 A/B 是否至少有多条路线
  1. 7.mid-first-contact:中路首次接触时间是否合理
  1. 8.site-standable:A/B 包点是否可站立
  1. 9.outer-wall-closed:外墙是否闭合

--ai-audit(测试 AI 基础行为和关键机制)

  1. 1.combat-micro:跑打、急停、跳拉
  1. 2.spray-transfer:扫射转移
  1. 3.jump-link-execution:JumpLink 执行
  1. 4.strafe-preaim:横移预瞄
  1. 5.dropped-bomb-recovery:T 掉包后回收,CT 不捡包
  1. 6.bomb-invariant:炸弹状态一致性
  1. 7.objective-arbitration:Plant/Defuse/Recover 等优先级
  1. 8.objective-progress-stuck:目标进度卡住检测
  1. 9.map-semantics、semantic-route-selection
  1. 10.tactical-planner、defuse-cover
  1. 11.movement/pathing、t-spawn-egress
  1. 12.engage/reaction
  1. 13.tactic/rushB
  1. 14.ct/retake-defuse
  1. 15.weapon/styles
  1. 16.difficulty/scaling

--behavior-audit(测试更高层的行为正确性)

  1. 1.non-midpoint-engagement
  1. 2.multi-target-priority
  1. 3.bomb-economy-priority
  1. 4.state-driven-decisions
  1. 5.tactic-preconditions
  1. 6.tactic-detection
  1. 7.priority-oscillation
  1. 8.movement-humanization
  1. 9.micro-combat-system
  1. 10.team-role-stability

--ai-playtest(多回合 AI-only 战术模拟。)

  1. 1.多个 seed
  1. 2.Auto、RushA、RushB、FakeRotate、EcoPick 等战术
  1. 3.输出 kills、plants、flashes、carrierMinSite、carrierSiteTicks、maxStuck、routeTicks

--qa-matrix(是无窗口模拟,不检查 UI、手感、真实输入)(矩阵测试)

seeds:0,1,2,3,17,42,99,1234

难度:Normal,Hard,Expert

战术:Auto,Default,RushA,RushB,FakeRotate,EcoPick

每组 10 回合

总计 144 case

--qa-soak <minutes>(长时间稳定性测试)(不完全等价真实玩家连续游玩体验)

多 seed

多回合等价模拟

目标事件存在

stuck 不超阈值

无崩溃、死循环、访问冲突

--qa-anomaly [cases](异常探索测试)

作用:批量跑 case,输出到 logs\qa_anomaly_latest.txt,用于找异常模式

--weapon-audit(测试武器配置和手感核心机制)

config-loaded

sniper-scoped-static

sniper-spread-penalty

rifle-recoil-pattern

--vfx-audit(测试视觉效果和投掷物效果)(不等于全局美术质量)(不替代人工看爆炸、烟雾、闪光是否“舒服”)

枪口火光、曳光弹、墙面弹痕

HE 弹跳、碰撞、滚动、伤害约束

Flash 白屏曲线、真实投掷、OpenGL pixel readback

Smoke 球形遮挡、快速扩散、实战可见度

粒子系统

投掷轨迹预测与真实飞行匹配

--utility-audit(测试 Bot 使用投掷物和战术道具)

Bot 被闪后降低索敌/射击

Support Rush/Execute 丢真实 Flash

Support/Objective 丢 Smoke

HE 打敌人聚集点

多战术下 Flash/Smoke/HE 是否出现

T 出生点墙体探针和离家

Smoke 遮挡、HE 惩罚

Plant/Defuse/Recover 不被道具打断

utility memory 保存/重载

diversity guard 防止固定单一投掷点

--ui-audit(测试 UI、HUD、菜单、雷达和调试信息)

Tab 计分板显示/隐藏

暂停菜单优先级

计分板调试数据

分辨率菜单

鼠标点击暂停菜单

FPS HUD 行

帧率上限选项

固定模拟 tick

小地图玩家朝上、固定缩放、xray

角色可读性

内嵌配置

inventory wheel

--frame-audit(测试帧率上限和 OpenGL 运行表现)

创建 Win32/OpenGL 窗口

采样 60/120/144 FPS 档

平均 FPS、p95、p99、长帧比例

输出 VSync 状态

(

只采样几个档位,不覆盖 240/300/360 的全部人工体验。

不能完全控制显卡驱动强制 VSync。

不代表复杂实战场景下的长期性能。

)

AI模组

行为树思想 + 有限状态机 + 优先级选择器 + 导航图

渲染模组

性能统计模组

UI模组