👋 欢迎来到我的博客!
- 记录生活点滴。关于独立开发、英雄联盟、读书感想
- 如果觉得有收获,可以在社交媒体为我点个关注 🌟,欢迎沟通交流
- 个人作品: 🔥firebox 一款英雄联盟助手、 emo-lol 能带给你惊喜的LOL表情包生成器
👋 欢迎来到我的博客!
父亲,是一个看起来还不错,但也许要永远离开我的人。 想着想着,我在浴室里还是忍不住的哭了出来。听别人说父亲以前做过弹棉花的手艺活、开过台球室,但从我记事起,我只记得他是一名大货车司机,是那种很长很长的货车。大概是小学4年级的暑假,他决定载我出去随他周游一圈。关于这次出游,我现在只记得在某个夜里,父亲把车停在服务区吃了顿特别丰盛的晚饭,有爆炒肥肠、尖椒肉丝、各种凉菜、大人们喝的啤酒还有我喜欢的橙汁饮料。之后终于将货卸掉以后,他把我扛到车后面的载货板,痛痛快快的在上面跑来跑去。 之后我读初中,离家远了,脾气也变差了,尤其是对父亲。他总是说我不认真,而我每次都毫不留情的大声回怼他。那时候家对面有一个让我痴迷的台球室。有一次赢玩比赛就听到母亲叫我吃饭。我有些得意的甩下球杆,跑过马路。刚要到对面的时候,一辆摩托车疾驰而过,几乎要撞到我了。有惊无险,我还没反应过来的时候,后脑勺被狠狠的打了一巴掌,然后胳膊就被父亲狠狠牵住。我生气极了,使出全身的力气挣脱他,跑向了一个大水塘边。我往回看一直追我的父母离我还有多远时,发现父亲已经摔倒爬不起来了。我不敢再跑了,回去把他扶了起来。那一刻,我的叛逆就消失了。之后,去外地读大学,我和他每年也只能见一次两次。 前几个月他中风以后,嗓子一直不能正常说话。因为之前就有肺癌的手术记录,这次一番检查之后,医生和他都觉得时日无多。我却在电话里和他说,别听那些西医的,并邀请他来杭州这边休养几天。 在工作日下班以后,我和往常一样,在娃的垫子上陪她玩游戏。父亲没有表现出往常的不耐烦,而是静静地站在一边看着我们。我和娃玩到开心处爽朗的大笑起来,恍惚间,我也瞥到了他脸上的不舍和落寞。 晚上睡前我发现他还在床上玩手机,我竟然像一个大人一样和他说:不要玩手机啦,对睡眠不好。我把灯打开,你先看会书,等会睡着以后我再来把灯关住。 这几天,我带着他和娃一起玩,我尽量把厨房和客厅都收拾的干净,我给他和娃做早餐,也安慰他吃好睡好,甚至还和他一起取笑过度紧张的母亲。大概我是想告诉他,你的儿子已经成为一名还算合格、会照顾人的父亲了。 我知道,某些客观事实不会因为我而改变。也许,不久的将来,再也见不到那个能把我一把扛到大货车上跑来跑去的人了。也许,之后每次在高速上路过大货车时我都会想到他。也许,这次他来杭州是与我做最后的挥别。想到这里,我终于还是在浴室里,在哗啦啦的热水下大哭了出来
原文:https://www.itero.gg/articles/lol-tilt 什么是"上头" “一种心理或情绪上的混乱或挫败状态,在这种状态下,玩家会采取次优策略,通常导致玩家变得过于激进”——这是维基百科对"上头"的定义。 “上头”(Tilted)这个词最初在扑克玩家中流行,如今已被更广泛的游戏社区采用。据说,这个词源于机械弹球机:当玩家试图倾斜机器时,机器会冻结挡板,有时还会显示警告:“TILT”。 如今,这个词用来描述因极端情绪(通常是愤怒)而做出非理性行为的状态。在扑克中,可能表现为连败后用弱牌全押;在游戏中,可能是被对手嘲讽后直接冲向敌人。当然,它也适用于现实生活——谁没有在糟糕的一天后对爱的人发过脾气?这就是上头。情绪高涨时,我们往往在非理性地行动。 任何玩过竞技团队游戏的人都可能成为"上头"的受害者,这在《英雄联盟》中尤其明显。这款游戏的5v5对战和阶梯式排名系统,使其成为情感上的巨大挑战。最近我也经历了这种情况(遭遇了13连败),于是决定从游戏数据中寻找识别"上头"的方法。 输家会继续输吗? 第一个问题很简单:输掉之后,你是否更有可能继续输?答案不出所料,如下图所示: 注:我稍微调整了基线,因为我采样的玩家胜率高于平均水平。 数据显示,最近连输2场的玩家(图表中的-2连败)在下一场比赛的胜率为48.8%。但这并不能证明"上头"现象——连输2场的玩家,在统计上更可能是水平较差的玩家,而非"上头"。他们可能只是实力不如平均水平。 那么,如何在不陷入"差玩家vs好玩家"比较陷阱的情况下理解"上头"?关键在于"上头"是一种临时情绪状态,会随时间迅速衰减。你有没有对某人大发脾气,但很快就后悔了?“上头"也是如此。 耐心是一种美德吗? 基于这一点,我们分析了同样连败的玩家,但这次按他们在下一场比赛前的等待时间进行区分。我们查看了"黄金"段位(前24%的玩家)中连输2场的玩家,统计了他们上一场比赛结束到下一场比赛开始之间的时间差。结果如下: 连续输掉两场后不休息的玩家,胜率远低于其他人!这很可能是因为他们带着失败积累的情绪包袱进入下一场比赛,导致表现不佳,严重影响团队获胜机会。 有趣的是,短暂休息的玩家不仅胜率提高,甚至比平均水平(同样连输2场的黄金段位玩家)高出3%以上。我倾向于认为,休息既能让玩家"热身”,又能摆脱情绪负担。长时间休息的玩家(平均3-4小时,甚至几天)的胜率则恢复到接近其他2连败玩家的平均水平。 高段位 = 高心理韧性? 最后一个问题:这种关系是否适用于所有技能水平?我为"钻石I"玩家(前1%)重新进行了实验,结果出人意料: 尽管长时间休息的玩家同样恢复到平均水平,但"立即游戏"和"短暂休息"的关系完全翻转了!顶尖玩家如果在失败后短暂休息,胜率反而大幅下降;而立即游戏的玩家,胜率略有提升。 我对此有两个理论:首先,在这个高度竞争的环境中(许多玩家每天投入超过8小时),他们已经习惯了处理"上头"情绪,否则无法达到这个水平。其次,在这个水平上,这变成了一场数字游戏——竞争如此激烈,真正起决定性作用的是投入的时间。一场《英雄联盟》平均需要27分钟,不休息的玩家每天可以比休息20分钟的玩家多打不少比赛。 当然,这些都只是理论。我相信游戏相关的心理行为科学还有更广阔的领域尚未被充分探索。希望这篇文章能让你思考这些可能性——至少在你准备好面对下一场比赛之前。 读后感想 结论:作为黄金玩家,两连败以后就要去休息20分钟再开始游戏 hh
原文:https://www.itero.gg/articles/champ-recommend 从电商到游戏的推荐系统 作者之前写过一篇文章,介绍如何使用图网络为《英雄联盟》(LoL)提供英雄推荐。那种技术叫做"用户-用户协同过滤",即利用已知的用户信息找到相似用户,然后基于他们的偏好进行推荐。 为了便于理解,我们用经典的亚马逊例子来说明。假设你把PS4和最新的FIFA游戏加入购物车,算法会查看所有同时购买过PS4和FIFA的用户,找出他们购物车中还有哪些其他商品,比如最新的NFL游戏《Madden》,然后推荐给你。 今天,我们要看的是另一种推荐算法——“基于内容的模型”。这种技术不是基于用户相似性,而是基于物品本身的相似性。比如,如果你在购买EA出品的PS4体育游戏,系统会推荐其他EA出品的PS4体育游戏。当你没有用户偏好信息时(比如产品刚上线),这种方法特别有用。 然而,《英雄联盟》有近150个英雄,我们不想花大量时间手动标注所有需要的属性。因此,我们改用游戏内的统计数据来"描述"英雄,比如平均每局击杀数或对目标的伤害量。 为此,我分析了15万场钻石段位的对局。注意,我只统计了上单、中单和ADC玩家,因为辅助和打野的统计数据存在本质差异(比如补兵获得的金币较少)。 对所有英雄的数据进行平均后,首先注意到的是许多统计指标之间存在明显的相关性。这并不意外——比如"连杀次数"和"总击杀数"几乎完全相关(前者表示玩家完成连杀的次数,后者是那局游戏的总击杀数)。在统计学中,这被称为"多重共线性":多个数据点之间存在线性相关。 处理这种多重共线性的常见方法有两种:排除法(选择击杀数,删除连杀次数)或聚合(击杀数 × 连杀次数)。但更好的解决方案是主成分分析(PCA),它能够自动提取这些属性之间的核心关系,无需手动干预或删除潜在的关键驱动因素。 PCA是一个相当复杂的主题,需要理解特征向量/特征值,网上有很多优秀的文章介绍,这里就不赘述了。简单来说,PCA的目标是在尽可能减少变量数量的同时,捕获数据中尽可能多的方差。这些压缩后的变量被称为主成分。 将PCA应用到数据集后,我们发现超过30%的方差可以用第一个成分解释,第二个成分解释了约16%,第三个约11%,以此类推。 但这些成分代表什么?为了理解它们的构成,请看下面的图表,展示了哪些变量构成了第一个成分。很明显,获得的金币是这个成分的最大贡献者,其次是目标伤害、最大连杀、连杀次数、造成的伤害和总击杀数。可以说,这个成分捕获了与获得金币相关的变量。如果再加上"物理"伤害这个特征,你可能会想到像菲奥娜或泰达米尔这样的英雄在这个成分上得分较高。 第二个成分主要由两个属性构成:推塔数和自我减伤(格挡/招架/免疫/减免等)。不过,你可能在想:这跟基于内容的推荐模型有什么关系?我们现在有了两个包含超过50%英雄间方差的主成分。这些可以看作是描述性代理——不是"体育游戏",而是"能击杀所有人的英雄";不是"EA出品",而是"高推塔伤害"!我们可以将这些描述性成分绘制在二维空间中,看看它们如何组合在一起(抱歉,从旧博客转移到iTero时格式不太理想!右键保存图片可以更仔细地查看): 注:虽然图中用黄色标注了"辅助"英雄,但数据实际上只来自有补兵的路线。也就是说,你看到的基兰数据来自他打上单、中单或APC时的情况。 细心的读者会注意到,成分1是反向的,高伤害/高击杀在X轴上得分较低。成分2没有反向,所以Y轴上的高数值表示大量推塔和伤害减免。为了验证是否按预期工作,看看左上角的英雄(即造成大量物理伤害、推塔并减免伤害的英雄):菲奥娜和泰达米尔(泰达米尔的大招算作伤害减免)。再看看中下方的卡特琳娜和卡尔萨斯,他们在伤害和击杀方面得分较高,但不擅长推塔和减免伤害。听起来很合理。 下一步很简单:推荐基于欧几里得距离(直线距离)最短的英雄。你经常玩塔里克?试试茂凯。阿卡丽?试试菲兹。打不死的蒙多医生?你会喜欢我们的赛恩。 如果想进一步扩展,我们可以使用更高维度。回到展示每个成分捕获多少方差的图表,我认为有理由基于3个,甚至5个维度来构建模型。原理相同,但由于可视化变得困难,我们暂时就到这里。 希望这篇文章能为你提供另一种值得探索的推荐类型,以及PCA的优势。虽然我以《英雄联盟》为例,但这些方法可以轻松应用到任何其他领域。我建议你回到那个大图表,找到你的主玩英雄,看看你是否同意周围那些英雄的玩法风格相似。 读后感想 作为老玩家,感觉这个推荐系统不太实用,因为我已经对每个英雄的风格都有了大致了解,或许对于刚接触这个游戏的新手更有吸引力。但文章中将英雄归类为某些指标特征集合的思想对我有一些启发:比如将每个英雄的控制、位移、施法距离、坦度这些特征收集起来,当BP只剩下最后一个位置时,根据团队缺少的属性,反向推测找到对应的英雄。这个或许在BP中能帮大忙
过去三个月,我入职了,又离职了。慢读了几本书(穷查理宝典、以日为鉴),也快读了几本书(当下的勇气、小岛经济学、高效能人士的七个习惯),还有几本没读完的书(如何解题、中医世家的养生秘密)。看着这书单,原来人在低谷时真的需要读一些成功学书籍。 除了读书,还做了自媒体“矩阵”,公众号、视频号、抖音、小红书、Bilibili。原来人在没办法时,真的会去选择做自媒体。 我之前一直都是一个理想主义者,总觉得“千金散尽还复来”很浪漫。怎么能为每个月几万块的工资,放弃追逐我感兴趣的项目呢?三点一线的生活等老了以后回忆,人生有什么意义? 因为有过一次离职经验,所以我这次心态其实还不错。但“财务部长”看着每个月的存款逐步减少,就会把莫名其妙的气撒在我身上。我感到很生气,怎么能用如此现实标准衡量我呢?事后又想,那要用什么标准呢?慢慢的,我中午一个人在家,也不好意思出去吃饭了,于是就等湾回来再晚饭一起吃顿好的。 《以日为鉴》中讲到一个不可能三角:医疗体系中,无法同时满足以下三点:高质量、低价格、治疗快,也就是无法同时给病人保证高质量的医疗服务,足够低的医疗价格,以及足够快的出院时间。90年代之后,日本的政策也有一直都是在经济、教育、医疗三角中寻求平衡。回到我们个人身上,我们又何尝不是在经济、精神、健康中寻求平衡呢?有人为了赚钱,只能以身体健康为代价,有人为了追求精神自由,放弃了经济基础,跑去山林隐居。 刚出来那会,我也会憋着一股气,就在想劳资就要证明即使不上班,也能赚的不少,所以我决定做自媒体,然后搞了一堆视频号、小红书、抖音账号。但我发现越是憋着那股气,就越会在意数据。越在意数据,挫败感就越强。挫败感越强,也就越难坚持下去。然后我发现,那个不可能三角:经济、精神、健康,都开始逐渐向内挤压了。 但好在,我从毕业以来,就是从零开始的,所以我在短暂的怀疑自己以后,还是坚信自己就是最屌的那个。前几天在家里哼着五月天的《倔强》:当我和世界不一样,那就让我不一样,坚持对我来说,就是以刚克刚。财务部长听到以后,也被我的歌声打动了,跟我一起轻哼了起来,然后我抱了抱她。我想,未来的某些年之后,我应该还会记得这天,我跟她唱这歌的情景。“我和我骄傲的倔强,握紧双手绝对不放,下一站,是不是天堂,就算失望,不能绝望” 在歌声中,我发现原来“经济“确实是精神和肉体健康的基础,这个本来只是人类创造出的概念,竟然已经凌驾于实实在在的个人的精神和肉体之上。那一刻,我感觉自己成熟了,我似乎理解并认同了这个世界的游戏规则。 第二天,我去面了一家公司,只聊了半小时,老板跟我说先走吧,后面有消息会通知我。我猜,大概率是不通过了。一小时后,他跟我说什么时候能来上班,我说,明天。 我特意发信息给湾,跟她说:有一个不好的消息。她咩了一声,让我不要吓她。我说:明天我又要上班了。她笑骂着说,今晚多做几个菜,庆祝一下。我说:这不是基操吗,有什么好庆祝的?不过你想的话也可以。 明天,又可以早起打工了。
回想了前天和HR的谈薪过程,对于结果其实不太满意。那为什么我选择接受offer呢,主要还是想结束掉gap状态,另外接下来也能骑驴找马。但还是有必要总结下该公司HR的套路,以及我当时该如何更好的应对。另外,如果谈薪阶段没谈好,该怎么办? 常见套路 在技术面之前,HR先和我聊了一会。问一下我们的口风,说由于大环境不行,达不到理想薪制等等,问我能接受的最低范围是多少? 技术面事通过后,HR直接说给不到我的最低范围,试用期薪资在我之前说的最低基础上又降了5K,这个是基于行业平均水平制定的。此时谈判正式开始 HR和我聊了公司的福利,比如免费停车,包三餐,小吃零食咖啡无限供应 这里HR还埋了个坑,大概意思就是试用期过后的涨幅也是不固定的。但其实试用期一般是80%的薪资。另外五险一金是按照1w的基数来交 接下来HR和我列举了一些例子,有个18年毕业的研究生,给他开了18K;不能给我开太高,否则会对不起现有的同事;以后还有晋升机会,做得好的话技术经理岗位也能做;先解决gap,之后可以骑驴找马 第一个问题,我的回答是基于上家公司的薪资降了一些,因为gap了一年多我觉得无可厚非。第二个问题,我当时其实比较质疑她说的数据,但没提出来。事后也证明在上海,1-3年工作经验的Golang工程师平均月薪为16,500元,3-5年经验的为21,500元,5-10年经验的为26,500元。她描述的和真实数据有偏差。 第三个问题,像是缓解紧张气氛的一个糖果,这个套路我其实应该无视掉,或者挑一些毛病。比如:每天吃食堂也受不了;小吃零食吃多了对身体也不好。 第四个问题,我当时应该强硬表示试用期通过后,必须按80%的水平恢复薪资,因为这是符合劳动法的。 第五个问题,其实她列举的4个案例,都有明显漏洞。我应该站在她和老板的利益角度来反驳这些例子,比如第一个研究生的薪资,我可以说:“学历只是衡量员工的薪资水平的一个因素,主要还是看员工能力以及能对团队做出的贡献多少,尤其是在非校招场景下。别说是研究生了,企业愿意给一个没有技术能力、对项目没有帮助的博士高薪吗?” 至于保护同事之说,更是漏洞百出。我可以说:“第一,薪资是保密的,你给我的高低对同事来说都是不可见的,不会对他们造成什么影响。除非是你们内部都互相知道各自的薪资,是这样的话,那么人力管理可能有一些问题;第二:薪资的衡量标准不应该是保护同事,老板绝不会想听到你说这个话。老板想做的是,首先把事情办成,其次再考虑性价比。另外,只有招到合适的人,项目能做成,大家才能共享利益。” 晋升之说,对于职场老人和当前的大环境来说,更属于虚无缥缈的言论。 反而是她说的最后一点,先解决gap问题,再骑驴找马,比较能打动我。 所以总的来说在谈判沟通时,真正的杀手锏是能站在对方在意的角度阐述事情的利益关系,在这基础上尽量往你想要的方向去阐述。以这次谈判为例,HR在意的事情应该就是:项目成功与否、领导的看法(也就是老板)、成本。所以我在争取薪值或者和HR论证时,都应该围绕项目的成功与否,我对项目的帮助,以及老板的想法,成本管理的思路来讨论,这样或许能拿到一个不错的结果。 那么当拿到一个不太理想的薪资时,接下来我该怎么做呢?第一,证明我的价值,就像用户离不开好的产品一样,让企业离不开我。这就需要我观察当前团队最缺的是哪类员工,而我去填补这个空缺,切记避免自己根据喜好去选择熟悉的领域做事。第二,拿结果。在三个月的试用期内,挑准关键的一到两个问题,去解决它并拿到结果,这是一个证明自己能力的过程。第三,八股不能丢,保持对外面试频率。以防万一,如果真的试用期后谈薪还是不满意,到时候可以多一些选择。