Sherroe's Blog

Sherroe's Blog

心向往兮负行囊

黑影为什么永远在重做?守望先锋最难解决的设计困境

2016年11月,史上最好玩的动漫小人开枪游戏迎来了发售后的第二名新英雄,你一眼就相中了这个低调的黑客。她的shift技能可以进入持续6秒的隐身。e技能扔出一个持续15秒的信标,在此期间可以随时传送回信标的落点。右键可以给敌人施加长达6秒的沉默。哇哦,一看就很好玩,颇有一种戴着兜帽在黑暗中潜行、扮演刺客的感觉,这简直太豪了。哦对了,隔壁的另一款动漫小人开枪游戏里边,似乎也有个会隐身和传送的……?哦不对不对,这是四年之后的记忆。

总之你开始玩这个叫做黑影的英雄,但你立刻发现有个大问题:黑影的整套行动窗口期,只有信标维持的短短15秒,其中用于落位的隐身更是只有6秒,一旦场上的局势发生变化,黑影绕后失败,要么立刻传送回信标,浪费一整个技能循环;要么像个紫色小丑一样,在某个尴尬的位置显形。

更严重的是,因为黑影功能性非常强大,所以伤害必须要低,否则就很容易超模。她只有一把冲锋枪可以造成并算不高的伤害。于是你发现这会造成一个有点搞笑的结局,当你用光三个技能,终于绕到敌方身后并成功黑入,也只是和对方开启了一场平a对决。

看看隔壁的另一款动漫小人开枪游戏,那个带沉默的,起码还有个雷和闪呢。

你觉得黑影好难玩。的确,黑影在刚上线时风评极差。一年多的时间里,设计师也只是进行了一些零碎的小加强,但根本于事无补。

2018年7月,设计师第一次对黑影进行大幅修改,她的隐身和传送不再有任何时间限制。你觉得这英雄终于能玩了,虽然她依旧是一个只能平a,伤害很低的c位,但是隐身+沉默的核心技能组,让她可以配合队友打出许多奇招,大招EMP施加的群体沉默和破坏屏障,更是赢下团战的利器。

然而,随着游戏水平的逐步提高,你逐渐意识到一个更深层的问题:黑影,似乎是一个无趣的英雄。

要解释这句话,得先看看其他的狗位英雄,例如源氏或者猎空,他们拥有更高的击杀效率,但生存能力相对较低,影、闪现、回溯这类位移技能资源有限,给玩家在战斗中带来了较高的决策成本——比如说,我要不要承担死亡风险,强拿一个人头来刷新影的cd?我的闪现只剩一格,是尝试用闪现退场,还是交回溯保活?而黑影的隐身和传送都是极低风险、极高效率的位移手段,几乎不需要做复杂决策。也就是说,黑影用较低的击杀效率,换来了强大的功能性和更高的生存能力——这看起来很平衡,似乎是一个合理的结果……但真的是吗?

我在这里引入一个关键词,“贡献感知度”。在团队游戏中,每位玩家对胜利都有各自的实际贡献,但是这个贡献能被众人感知到的程度却完全不同。T位挡子弹、造成控制,C位打伤害、造成击杀,支援位提供治疗和增益、拯救队友,这些都是可以被众人立刻感知到的、直观的贡献。而黑影的许多贡献来自于:提供敌人的站位情况、牵制敌方的注意力、沉默敌人的技能或者骗出关键技能——注意,这些贡献都具有间接性和时效性,高度依赖队友的配合。

这造成了黑影的实际强度在不同段位上明显的两极分化:在高手队伍、职业比赛中,队友能跟得上小黑沉默来集火抓人,团战围绕大招EMP去设计,黑影的功能性只要被发挥出来,就会非常强大。最经典的例子之一,就是在2021年OWL总决赛上,上海龙之队的LIP使用黑影,帮助队伍拿下了年度总冠军,并且斩获FMVP。

关于工作中常用的一些操作文件的Python库

excel

openpyxl

最常用的操作excel(xlsx、xlsm)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from openpyxl import load_workbook

# 加载文件
wb = load_workbook( _filePath,read_only=True,data_only=True,keep_vba=True,keep_links=True)
# 取第一个工作表
ws = wb[wb.sheetnames[0]]

# 获取工作簿的所有页签名
sheetNameList = wb.sheetnames

# 通过页签名取出工作表
ws = wb['Sheet0']
ws = wb[sheetNameList[0]]

# 获取激活工作表
ws = wb.active

# 获取工作表数据
data = ws.values

# 将数据转换为元组以更快读取
data = tuple(ws.values)

# 向指定行列号的单元格中写入数据
# row,col 都是从1开始
ws.cell(row, col).value = "010"

# 保存并关闭
wb.save(_filePath)
wb.close()

xlwings

写文件时比openpyxl更稳定一点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import xlwings as xw

app = xw.App(visible=False, add_book=False)
# 警告关闭
app.display_alerts = False
# 屏幕更新关闭
app.screen_updating = False
# 加载文件
wb = app.books.open(_filePath)

# 根据顺序取出工作表
ws = wb.sheets[0]
# 根据页签名取出工作表
ws = wb.sheets['Sheet1']

# 取出范围内的数据
data = tuple(ws.range('A1').expand().value)

# 最大行列号
maxcol = ws.used_range.last_cell.column

# 向单元格写入内容(行列号从1开始)
ws.cells(row, col).value = '010'

# 范围
ws.range((row2, col2),(row2, col2)).value = '101'

# 复制单元格
ws[row:row+5, wcol-1:wcol].copy(ws2[0:4, chcol-1:chcol])

# 插入行列
ws.api.Columns(col+1).Insert()

# 设置颜色
changesh.range((1,chcol), (inmaxcrow,chcol)).color = (200, 200, 200)

# 保存关闭
wb.save(_filePath)
wb.close()

pandas

功能强大,dataframe结构自带行索引、列索引,切片、插入、拼接等操作也很方便。但是效率很低,只适合处理少量复杂数据。

1
2
3
import pandas as pd

df = pd.read_csv(csvpath, skiprows=[0,1,4,5], engine='c', na_filter=False, keep_default_na=False)
毛雨星

一

我万万没想到能在这里遇见毛雨星。

深圳的天永远都是燥热的。才到三月中旬,气温便开始猛地升高。我把外套收起来,只穿着一件短袖或者薄衬衫,便可在店门口坐上一整个白天。想起在北方的日子,只有六七月才有这简单的装束。

晚上九点多,我刚准备关店时,门口又走进一人。

“取件码。”我懒得抬头,一只手在手机上回着微信。

“C6……呃,1752。”

我把手机随便扔在桌上,转身在货架上找到了这个号码的快递。

“名字。”

“毛雨星。”

这三个字令我愣了一下。我抬起头看向面前的人——瘦削的脸上戴着一副老旧的黑框眼镜,镜片后的眼球隐约布着些血丝,眼眶处的黑眼圈异常明显。他上身是一件已被反复洗得有些掉色的红黑格子衬衫,双肩包的背带则把衬衫压出了两处被汗水浸湿的深色区域。

通恒集

此篇所谓“通恒集”者,大抵都是笔者对一些旧事的回忆和思考。

剪指甲刀与新的笔

2023年3月21日

我小学的班主任,同时也是我的语文老师,是一位非常和蔼、温柔的女性。

我不记得那是几年级了。在某一次班会活动上,她和我们玩猜谜游戏。猜对的同学可以获得各式各样的小奖品。

她站在讲台上,一字一顿地说:

“小小狗,手里走。走一步,咬一口。”

我当即猜到了那是什么,便自信地举起手,说出了我的答案:“剪指甲刀。”

班主任看着我,似乎楞了一下。但短暂的犹豫后,她还是微笑着摇了摇头。

瞬间,第二个同学举了手,说:“剪刀。”

面试

“你好。”

“您好。”

“首先请做一个自我介绍吧。”

“好的。我叫柴广特,毕业于巴普特大学,我在大学期间主修计算机科学与技术专业,并取得了学士学位。在大学期间,我学习了包括数据结构、算法、操作系统、计算机网络等计算机科学基础课程,以及Java、C++等编程语言和常用开发工具的使用。同时,我还积极参加了各种比赛和项目,锻炼了自己的编程能力和团队合作能力。在毕业后,我一直从事算法设计和开发工作。目前已经有三年的算法相关工作经验。我熟悉多种算法设计和分析技术,如贪心算法、动态规划算法、图论算法等。在实践中,我能够结合具体业务场景和数据特点,选择和优化算法,以提高计算效率和准确性。我这次来应聘贵公司的算法工程师岗位,希望我的能力可以为贵公司带来价值和创新。”

“好的。请简单介绍一下你的上一份工作和你担任的职位。”

“我的上一份工作是在一家软件公司担任自然语言处理(NLP)算法工程师。我负责了公司产品中文本分类、情感分析、实体识别、关键词提取、机器翻译等方面的算法设计和开发,并且根据客户需求进行了多次优化和改进。”

“请简单介绍一下你对NLP的理解和对NLP领域中的一些常见任务的熟悉程度。”

“我认为自然语言处理是研究如何让计算机能够理解、处理和生成人类语言的技术领域。在NLP领域中,一些常见的任务包括文本分类、情感分析、实体识别、关键词提取、机器翻译等等。我对这些任务都有一定的了解和实践经验,参与过多个项目的开发,并且深入了解了各种算法的优缺点和应用场景。”

WARNING: Exact statement repetition.

“你在NLP项目中遇到过哪些困难?如何解决这些困难?”

新年快乐

改编自王浚哲所著同名小说

“嗡——”

玛丽被墙外的轰鸣声吵醒。她迷迷糊糊地看了眼床头的闹钟,四点三十分,离上班还有半个小时。玛丽把头埋进被子,打算再睡一会。

“妈妈,我今天可以穿红色的防护服去学校吗?”

孩子的声音在床边出现,玛丽没有睁眼,只是抬了抬手,表示同意。

但仅仅十分钟,轰鸣声又出现了。玛丽不情愿地从床上爬起来,因为她知道自己不可能再睡着了。“这个破地方的气闸啥时候换新的啊……”她轻声抱怨着。

打开储物柜,玛丽把最后一包“每日速食”拿出来后,这里便空空如也了。刚好在一年的最后一天用完全部物资,玛丽对自己的资源规划十分满意。虽然一直都有人劝她多囤一些物资,但玛丽从来不担心这些——反正社区每个月都会按时发新的,不是吗?

玛丽把床的一侧折起来,这样自己便获得了一个有靠背的沙发。再把微型电脑放在小桌板上,这就是玛丽的工位。作为一名软件工程师,她在几十年前就适应了在电脑面前度过全部生活的日子。

几十年前——那时自己还是个学生。自从学校停课之后,玛丽就很少离开过家门了。她回忆起那段上网课的日子,自己只需要动动手指,就可以在网上随意搜索到不少顶尖学校的课程资源。

但她的孩子一定要和自己不同。8年前,玛丽把孩子送去了昂贵的私立学校,虽然那里要求学生每天自己去学校线下上课,但她一点都不后悔这样的决定。自从中考大规模缩招后,也只有这些强制要求线下授课的学校不会泄露教育资源。为了让自己的孩子挤进那前20%,她愿意这么做。

妄想录 外篇 核酸日记

其一

学六五层的饮水机修好了。在这短暂缺水的四天内,我和它一起盯着不远处洗手池上的水龙头,希望这个小小的金属玩意能吐出什么独特的生命源泉。

今天终于能打到热水了,我的生命又被延续了不少。在成功充盈了我的保温杯和大脑皮层后,我却又看到背后洗手池的水龙头坏了——它在漏水。我拨弄着把手,却怎么也关不上它。

我询问水龙头是否有和我一样的苦楚,它没有回答。在这个阳光照不进来的水房里,我只能听着洗手池滴答的水声和饮水机制热时发出的怒吼。

突然在一瞬间,我想到了。我猛然理解了我和水房的一切的问题的根源——

这两个小家伙,没做核酸。


其二

约摸半小时前,我经历了我人生中第三次纯正的咽拭子核酸检测——那根长长的棉签,没有敷衍地停留在我的舌根、上颚、牙齿或是空气中,而是深入咽喉,狠狠地在内里搅拌着。这让我回忆起那两年半前,初次体验核酸时,同样的棉签和同样的试管,同样的模糊痛感与同样的轻微恶心……只是没有了预约挂号与一百多元人民币的收据,有的只是一眼望不到头的队伍和日复一日的恍惚的记忆。

我看着眼前的年轻的“大白”医生,他或许与我差不多大的年纪,或许比我大不多几岁。我呆滞地看着他,他坚定地看着我。他目光如炬,与手中娴熟的操作相衬,眼神中满是理想与信念。

妄想录 篇一

索引

此篇所谓“妄想录”者,只是一些没有意义的,自以为是的,晦涩抽象的文字罢了。

或许是某一时刻的情感流露?或许仅仅是百无聊赖之中的闲言碎语?亦或者根本就是小丑般的哗众取宠与无病呻吟?

谁知道呢,但它们就在这里。


心向往兮负行囊

2017年 初

幼时梦兮心向往
心向往兮负行囊
负行囊兮图风光
图风光兮十里香
十里香兮何芬芳
何芬芳兮独彷徨
独彷徨兮路迷茫
路迷茫兮心已罔
心已罔兮多惆怅
多惆怅兮梦已荒

梦已荒兮心悔悟
心悔悟兮重上路
重上路兮望前途
望前途兮多难苦
多难苦兮磨肉骨
磨肉骨兮自缝补
自缝补兮已日暮
已日暮兮路仍殊
路虽殊兮吾心足
吾心足兮花团簇

绝世唐门

“天堂没有关门。”

​

故事发生在2022年9月10日,中秋节的这一天。一切还得从一个中秋喝酒计划说起。

我们计划当天晚上一起出去吃饭喝酒,其中炸鸡、熏鱼、蛋总三人不远万里从沙河来到本部,鱼籽、石上、12、木兮、mhy、poria六个本部老狗负责接应。虽然要去哪里喝酒一直没有定好,但大家还是先动身了。讲究的就是一个车到山前必有路,挺牛的。

​

喝酒计划的前边有点小插曲,虽然不重要,但还是挺搞笑的,也就一起说了。

当天下午两点半的时候,我和几个住学一学二的(陈安洁,石上,丸子,mhy)约洗澡。只有我是学六孤儿,我先到了澡堂门口等他们几个。因为外边太阳巨晒,我就站在澡堂入口的大厅等人,顺手把澡篮放在了一边。

估计因为是下午洗澡的人不多,学校就摆烂,澡堂门口没有人看守,就我一个人叉着腰给那大门口站着。然后捏,每个走进澡堂的人,一看见我,就掏出手机扫码然后把健康宝展示给我看……草你妈当时真的笑死我了,但我又不好说啥,我就顺坡下驴,对着他们的绿码一个一个点头:“进进进”。

这他妈不该给我点志愿时长?

前奏演完了,后面是正片。

德塔

小学五年级的德塔并不喜欢读书。

这个孤僻的小女孩完全没有一个小孩子该有的活泼——她既不喜欢学习,也不喜欢和大家一起玩,甚至几乎没有任何兴趣爱好。她像一个冰冷的机器人,只是在整天在教室里呆坐着,不与任何人交流。

没有人会注意这样一个既不出彩也不惹麻烦的孩子。就算注意到了,也无法知道她究竟在想什么。

这一天,德塔第一次被大家同时注目——她被语文老师批评“上课不认真听讲”,然后被罚在教室门外罚站。

德塔拿起语文课本,在全班同学的目光下走出了教室。

下课之后,德塔没有回到座位上,而是继续在原地呆站着。但没有人问她为什么,也没有人让她回到座位上——没有人在意她。甚至到第二节课上课时,她还在教室门外站着。

数学老师是个老眼昏花的老头,他没有注意到这个小个子的女生。老师径直走进教室,顺手把门关上了。

小小的德塔,就这样又在走廊里站了一节课。

数学课下课后,是放学时间。

德塔知道自己要回去了——回到座位上,收拾书包,然后回家。但她想等一会儿再去做,她想等教室里的人都走空后,再好好享受独处的时间。现在的教室实在是太吵了。