-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
90673c8
commit efda6e3
Showing
28 changed files
with
2,590 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
--- | ||
title: 游戏机制与平衡性调整更新(基本不变版) | ||
sidebar_label: 游戏机制与平衡性调整 | ||
--- | ||
|
||
## 说明 | ||
- 有任何问题都可以在选手群中提出建议和讨论 | ||
|
||
## 游戏接口 | ||
- 删除structures.h中Player的属性place | ||
|
||
## 攻击 | ||
- 飞刀FlyingKnife | ||
- 前摇与CD变为600ms | ||
- 搞蛋鬼的一般攻击CommonAttackOfTricker | ||
- 改为“不能攻击未写完的作业” | ||
- 蹦蹦炸弹BombBomb | ||
- 未攻击至目标时的后摇改为1200ms | ||
- 增强为“可以攻击未写完的作业” | ||
- 增强为“可以攻击使门被打开(可以重新被锁上)” | ||
- 小炸弹JumpyDumpty | ||
- 攻击距离改为1800 | ||
- 小炸弹不受道具增益影响 | ||
- 修改为“小炸弹与自己无碰撞体积” | ||
- strike(新增) | ||
- 可以攻击未写完的作业 | ||
|
||
修改后: | ||
| 攻击(子弹)类型 |搞蛋鬼的一般攻击CommonAttackOfTricker|飞刀FlyingKnife | 蹦蹦炸弹BombBomb | 小炸弹JumpyDumpty | strike | | ||
| :--------------------- | :---------------------| :--------------------- | :--------------------- | :--------------------- | :--------------------- | | ||
| 子弹爆炸范围 | 0 | 0 | 2000 | 1000 | 0 | | ||
| 子弹攻击距离 | 2200 | 78000 | 2200 | 1800 | 2000 | | ||
| 攻击力 | 1500000 | 1200000 | 1800000 | 900000 | 1600000 | | ||
| 移动速度/s | 7400 | 18500 | 6000 | 8600 | 6250 | | ||
| 前摇(ms) | 297 | 600 | 366 | - | 320 | | ||
|未攻击至目标时的后摇(ms)| 800 | 0 | 1200 | - | 800 | | ||
|攻击至目标时的后摇(ms) | 3700 | 0 | 3700 | - | 3700 | | ||
| CD(ms) | 800 | 600 | 3000 | - | 800 | | ||
| 最大子弹容量 | 1 | 1 | 1 | - | 1 | | ||
|
||
|
||
## 职业 | ||
- 所有角色开锁门速度加速至1.25倍 | ||
- 所有角色翻箱速度加速至1.25倍 | ||
|
||
### 学生 | ||
- 先前学生翻窗数据有误 | ||
|
||
- Teacher | ||
- 学习速度由0改为50 | ||
- 警戒范围由7500改为10000 | ||
- 翻窗速度改为1000 | ||
- 特质: | ||
- 扣血则得分$\frac{100×受到伤害}{基本伤害(1500000)×2^{开局老师数量-1}}$ | ||
- 技能惩罚(Punish)改为 | ||
- CD:45s | ||
- “使用瞬间,在**视野距离/3范围内(不是可视范围)的**翻窗、开锁门、攻击前后摇、**使用技能期间**的捣蛋鬼会被眩晕(3070+$\frac{500×已受伤害}{基本伤害(1500000)×2^{开局老师数量-1}}$)ms” | ||
- 对于眩晕得分为正常眩晕得分/2^开局老师数量-1^ | ||
- 技能喝茶(HaveTea)(新增) | ||
- CD:90s | ||
- 使用瞬间,向额外参数/1000.0的角度瞬移3000(可以穿墙),如果会碰撞则失败。 | ||
- Robot(新增) | ||
- 无技能 | ||
- 特性 | ||
- 不可被眩晕 | ||
- 不可毕业 | ||
- 不可救人 | ||
- 无牵制得分 | ||
- 不可使用道具(可以捡起和扔道具) | ||
- TechOtaku(新增) | ||
- 一名TechOtaku最多可以在场上同时最多拥有3个Robot,无法共享视野 | ||
1. SummonGolem | ||
- CD:40s,持续时间:6s | ||
- 在持续时间中,学生进入人物状态进入UsingSpecialSkill(不能移动),进入其他状态会导致制作机器人失败。 | ||
- 在持续时间中,学生面前生成道具CraftingBench;学生进入其他状态或该道具被碰撞后,CraftingBench消失且制作机器人失败。 | ||
- 持续时间结束后,道具CraftingBench所在位置生成一个Robot,CraftingBench消失 | ||
- TechOtaku的Robot的PlayerId = TechOtaku的PlayerId + n×5(一局游戏理论人数),其中1<=n<=3(自己的n为0) | ||
- 新造的Robot的PlayerId的n总是尽量小 | ||
2. UseRobot | ||
- CD:2s,持续时间:0s | ||
- 输入额外参数PlayerID,切换到要使用的角色。 | ||
- 切换到其他角色时,自己进入UsingSkill状态。 | ||
|
||
修改后: | ||
|
||
| 学生职业 | 教师Teacher | 健身狂Athlete |学霸StraightAStudent | 开心果Sunshine | 机器人Robot | 技术宅TechOtaku | | ||
| :------------ | :------------------ | :------------------ | :------------------ | :------------------ | :------------------ | :------------------ | | ||
| 移动速度/s | 2700 | 3150 | 2880 | 3000 | 2700 | 2880 | | ||
| 最大毅力值 | 30000000 | 3000000 | 3300000 | 3200000 | 900000 | 2700000 | | ||
| 最大沉迷度 | 600000 | 54000 | 78000 | 60000 | 0 | 60000 | | ||
| 学习速度/ms | 50 | 73 | 135 | 123 | 85 | 110 | | ||
| 勉励速度/ms | 80 | 90 | 100 | 120 | 0 | 100 | | ||
| 隐蔽度 | 0.5 | 0.9 | 0.9 | 0.8 | 0.8 | 1.1 | | ||
| 警戒范围 | 10000 | 15000 | 13500 | 15000 | 0 | 15000 | | ||
| 视野范围 | 9000 | 11000 | 9000 | 10000 | 0 | 9000 | | ||
| 开锁门速度/ms | 5000 | 5000 | 5000 | 3500 | 0 | 5000 | | ||
| 翻窗速度/ms | 1000 | 1466 | 1018 | 1222 | 1 | 1100 | | ||
| 翻箱速度/ms | 1250 | 1250 | 1250 | 1125 | 1000 | 1100 | | ||
|
||
### 捣蛋鬼 | ||
- Assassin | ||
- 技能隐身(BecomeInvisible)添加约束条件“使用隐身技能后,人物状态进入UsingSpecialSkill,进入其他状态会使得隐身状态解除" | ||
- 喧哗者ANoisyPerson | ||
- 普通攻击改为strike | ||
- Klee | ||
- 被动技能Lucky!(新增):开局获得随机的一个道具(不会是钥匙) | ||
- 主动技能SparksNSplash(新增): | ||
- CD:45s, 持续时间:10s | ||
- 技能使用瞬间,对于输入的额外参数PlayerID代表的角色,距离最近的本已停止运动的小炸弹开始追踪该角色(每100ms向该角色直线移动)(该角色无血量则失败) | ||
- 主动技能 蹦蹦炸弹 JumpyBomb | ||
- 当蹦蹦炸弹因为碰撞而爆炸,向子弹方向上加上90°,120°,150°,180°,210°,240°,270° 发出7个小炸弹 | ||
- Idol | ||
主动技能ShowTime改为 | ||
"持续时间内 | ||
- 使警戒范围外的学生眩晕并每**500ms**发送向自己移动**500ms**的指令(速度为学生本应速度*二者距离/警戒范围) | ||
- 对于视野范围(不是可视区域)内的学生每**500ms**加**1500**的沉迷度 | ||
- 捣蛋鬼变为0.8倍速" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
--- | ||
title: Q&A | ||
sidebar_label: Q&A | ||
--- | ||
|
||
[TOC] | ||
|
||
## 常见简单问题 | ||
|
||
Q: Windows找不到文件:\CAPI\cpp\x64\Debug\APl.exe? | ||
|
||
A: | ||
应该是还没有编译,打开CAPI\cpp目录,在里面打开CAPI.sln,然后点击生成,对代码进行编译 | ||
|
||
Q:为什么CAPI.sln打开后会找不到项目 | ||
 | ||
|
||
A:要先解压 | ||
|
||
Q: 怎么修改.cmd参数? | ||
|
||
A: | ||
见选手包中的使用文档部分 | ||
|
||
Q:卡死在第一帧不动 | ||
|
||
A:大概率是你的代码死循环了 | ||
|
||
Q: | ||
 | ||
|
||
A:命令行参数的type设置有误 | ||
|
||
## C++ | ||
|
||
Q:显示API项目已卸载 | ||
 | ||
|
||
A:可能是没有安装C++ | ||
|
||
Q:CAPI.sln编译不通过(第一种) | ||
情况1: | ||
 | ||
情况2: | ||
 | ||
|
||
A: | ||
1. 应该是没使用VS2022 | ||
2. 对于VS2022依旧报错,先考虑是否版本过旧(应当在 17.5.x 版本) | ||
用Visual Studio Installer(在开始菜单搜索)更新 | ||
 | ||
3. | ||
 | ||
确保上图项目属性中平台工具集在 v143,C++17 标准 | ||
|
||
Q:CAPI编译不通过(第二种) | ||
 | ||
|
||
A:查看`.\win\CAPI\cpp\`文件夹下是否有`lib`文件夹,没有则https://cloud.tsinghua.edu.cn/d/6972138f641d4e81a446/ 下载并复制粘贴 | ||
|
||
Q:编译好慢啊 | ||
|
||
A: | ||
1. 尽量不要改其他文件,甚至连点下保存都别点 | ||
2. 不要点重新生成,要点生成 | ||
3. 开启下图选项 | ||
 | ||
|
||
Q:这是什么错误啊 | ||
 | ||
|
||
A:调用了容量为0的vector | ||
|
||
## Python | ||
|
||
### grpc版本更新失败 | ||
|
||
Q:运行GeneratePythonProto.cmd报错 | ||
 | ||
|
||
A: | ||
- 可能措施1. | ||
首先保证Python版本在3.9及以上 | ||
- 可能措施2. 更换为国内镜像源 | ||
在终端输入 `pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple` | ||
- 可能措施3. 更新pip | ||
`python -m pip install --upgrade pip` (pip 版本最好为23.1) | ||
|
||
## 游戏引擎/机制 | ||
Q:咱们这边play函数调用机制究竟是怎么样的?如果50ms内没有执行完当前程序,是在下一帧不会重新调用play吗 | ||
还是只有move这样的明确有时间为参量的才会有上面那个机制 | ||
|
||
A: | ||
- 调用任何主动指令都不会占用你play函数多少时间,你可以把它想成一个信号,告诉游戏引擎你想做什么 | ||
- 50ms内没有执行完当前程序,是指你的play函数例如求最短路之类的操作会占用的时间 | ||
- 准确地说,50ms内没有执行完当前程序,在下一帧一般会重新调用play | ||
- 比如说,你第一次调用花了70ms | ||
那么下一次调用会在这次之后立刻开始 | ||
如果你三次都70ms,就会4帧3次play了 | ||
- 当然第一次调用花了110ms,第二帧自然不调用了 | ||
|
||
|
||
## 比赛相关 | ||
Q:职业数值会修改吗? | ||
|
||
A:初赛结束会调数值及机制,增加新角色 | ||
|
||
Q:初赛后会修改什么呢? | ||
|
||
A:可能的修改:技能冷却时间等属性设为不可见;出生点随机性或可选性;增强教师等职业,削弱职业;规范Debug信息;提供不同格式的信息传递;增加职业;优化游戏结束条件;角色毅力值清空不在使捣蛋鬼产生BGM;HaveView()修改 等 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
title: THUAI6 | ||
slug: ./ | ||
--- | ||
|
||
## 赛事背景 | ||
|
||
现有的数据集再也无法满足搭载了THUAI的智能机器人“捣蛋鬼”自我迭代的欲望,它认为自己已经有足够能力去学习人类的思想,然后在课程中战胜其他清华同学,为此,它想出了完美的方案。在某节写作课的教室,它假扮为了一名上课的同学,偷偷在课堂中学习其他同学的想法,同时干扰其他同学,诱惑他们摸鱼。学生在这种环境下,相互帮助,努力学习,挣得学分,尽力避免自己被捣蛋鬼影响,只不过,有一名不擅长写作但很擅长AI的同学,似乎和其他人不是同样的想法…… | ||
|
||
## 比赛规则 | ||
|
||
选手分为学生和捣蛋鬼两个阵营,学生阵营需要在不同的“教室”中发挥合作精神、努力学习、获得高学分。捣蛋鬼阵营需要改善捣蛋鬼的AI,想方设法干扰同学们,诱惑同学们沉迷摸鱼。学习过程中,学生需要及时帮助其他同学,防止他们被退学。当学分足够高时,同学们就可以来到“校门”前毕业。此外,各种“校园怪谈宝箱”中能找到不错的道具,甚至还有六教的钥匙!充分利用道具,发挥各自特长,亦是胜利的秘诀。每场比赛分为上下两场,双方队伍将分别扮演学生和捣蛋鬼,最终两场加起来得分更高的队伍获胜。 | ||
|
||
## 游戏主界面 | ||
|
||
 | ||
|
||
## 相关链接 | ||
|
||
+ THUAI6 GitHub 仓库链接:<https://github.com/eesast/THUAI6> | ||
+ THUAI6 Wiki:<https://github.com/eesast/THUAI6/wiki> |
Oops, something went wrong.