"上"和"下"的融合态

你试着读一下: “游于赤壁之象(xiàng)”, 要读出声哦
你会听不出是"赤壁之下", 还是"赤壁之上"
此时"上"和"下"处于叠加态, 融合态


你练习伪音一个星期
你就会发现, 喉结只是个摆设
你可以发女声, 也可以发男声, 也可以发出中性的声音, 是融合态的声音

神话传说和代码方法

盘古: WorldCreater
女娲: Spawner

地狱: 对象池
生死簿: 对象池的索引
孟婆汤: Reset()
奈何桥: EnQueue(), 先进先出

吃西瓜

我们吃西瓜的时候, 实际上在吃什么呢?
我们在吃西瓜的婴儿尸体, 新鲜的, 未腐烂的尸体

人类是耐力最强的动物?

人类是耐力最强的动物
不是, 很多候鸟从北飞到南, 中间几乎不停

古代行军, 步兵要停下来等骑兵
嗯, 大战厮杀前, 为了让马儿休息, 骑兵赶路是不骑马的

猎豹跑得快, 但是耐力不行
不完全是, 主要它散热系统不行
只要速度快, 散热都不行, 任何东西

人类强就强在散热系统
因为人类用排汗来散热, 这太奢侈了
因为其他动物, 都不能稳定获取淡水和盐

人类耐力强, 但要限定在温带和热带地区
嗯, 人在南极是跑不赢企鹅的
冻死了

其他动物能获取的资源有限, 为了节约能量, 大多数时间都在吃饭, 休息, 发呆, 玩乐
人类资源充足, 人类不需要节约能量, 人类可以加班

哪路多和哑巴王子

我爸是村长
我也要当村长
我就没有朋友, 我很孤独
村里人都躲着我, 嘲笑我
虽然我是个废柴, 学啥啥不会, 干啥啥不行
但是我基因好, 我有无敌的天赋
最终
我变强了
我和朋友们联手打败了强大的对手
我收获了友谊, 收获了村里人的支持, 大家都认可我当村长

没错!
我就是<火…
<国王排名 — 关于我哥要和我爸的初恋女友结婚这件事>

学一下Excel的操作

用分隔符将一列分成多列:
https://jingyan.baidu/article/d621e8da7332a02865913f92.html
去除公式, 只保留数值:
https://jingyan.baidu/article/c33e3f48a2515cea15cbb522.html
合并多列:
https://product.pconline/itbk/software/excel/1405/4785876.html

为什么1小时是60分

为什么1小时是60分?
为什么1分钟是60秒?
为什么是60进制? 而不是10进制?

因为古人度量时间, 看杆子在圆盘上的阴影, 即, 日(rì)晷
因为一个圆盘很容易划分为4块或6块, 但不容易划分为10块
所以, 时间是60进制

那为什么我们习惯用10进制?
因为我们有10根手指
如果我们是老鼠, 那么我们用8进制

然鹅
1英尺等于12英寸
1先令等于12便士
1磅等于12盎司
1打等于12个
结论: 英国人有12根手指

下午3点后的太阳

下午3点后的太阳, 空气的颜色渐渐浑浊
每当这时, 我总会感受到一丝哀伤
这哀伤, 比雨天的哀伤, 要淡许多
这哀伤, 与我的人设很契合, 所以很习惯, 很亲切
带有一点自责, 绝望, 慈祥, 孤单, 而又舒服的哀伤

开放世界

玩了<真三8>, <无主之地3>, <远哭>, <辐射: 新维加斯>, <对马岛>, <刺客信条: 奥德赛>, <零之曙光>, <幽灵线:东京>
我想说:
我讨厌大地图
讨厌开放世界
讨厌昼夜交替
讨厌收集草药
讨厌对话选项
讨厌路边的支线任务
讨厌地图上密密麻麻的记号
讨厌走着走着突然有人跳出来要杀我

但又挺喜欢<上古卷轴>, <罪恶都市>, <泰拉瑞亚>, 加起来上千个小时
还有<饥荒>, <骑砍>等

哦, 我懂了
我不是讨厌开放世界
我讨厌的是: 不好玩的开放世界

不过, 比起开放世界, 我更喜欢箱庭地图, 比如<生化危机>系列, <魂>系列, <真三>系列等

Bug与灵感

我发现有的Bug, 不是通过打断点或查日志找到的
而是灵感一现
就像少年包青天, “一些漫不经心的说话, 将我疑惑解开~”

概率问题

问: 连续抛2次硬币, 其中1次是正面, 另1次也是正面的概率是多少?

答案: 1/3
连续抛2次硬币, 会出现4种情况: 正正, 正反, 反正, 反反
已知其中1次是正面, 则去除: 反反, 还剩下3种: 正正, 正反, 反正
这3种情况中, 只有正正是符合的, 所以概率是: 1/3

问: 连续抛2次硬币, 第1次是正面, 第2次也是正面的概率是多少?

答案: 1/2
即使抛了10次正面, 第11次抛正面的概率也还是1/2
(曾经在QQ空间的文字小游戏里连续6次赌小, 把金币全输光了)

引申问题:

3个盒子ABC, 1个装钱, 2个空盒子
你选定A
而我打开C, 看, 是空盒子
现在, 给你一次机会, 你可以换选B
问: 你换不换?

答案: 换, 不换的话概率是1/3, 换的话概率是2/3
我们用极大法来看:
有10000个盒子, 你选了1个盒子, 记住: 这个盒子装钱的概率仅为1/10000
然后我打开其他的9998个空盒子
剩2个盒子
记得吗, 你选的盒子装钱的概率是1/10000, 所以另一个盒子装钱的概率是9999/10000
肯定换啊!

再引申问题:

2个盒子AB, 都装着钱, 其中一个是另一个的2倍
你选了A
现在, 给你一次机会, 你可以换选B
问: 你换不换?

分析:
换的话, 要么减半, 要么翻倍
假设, A是1万, 换B的话, 50%几率损失5千, 50%几率多赚1万
换吗?
肯定换啊!

好, 换完了
现在, 再给你一次机会, 你可以换回A
问: 你换不换?

请你自己思考

关于游戏 <Pyre(柴堆)> 的感想

每个角色都是死人, 都有生前犯下的罪, 随着游戏进度推进, 缓缓诉说给玩家
4人, 选3人上场战斗, 未上场的角色向我抱怨: “哼!(傲娇), 凭什么不让我上场呢?”
音乐是由一名乐师伙伴演奏的, 有一天, 乐师偷偷溜走了, 于是, 游戏中就没有音乐了
狗子喊:“嘿! 两条腿的!”

信使悖论和TCP的3次握手

信使悖论:

前提1: AB两国联手, 才能战胜C国
前提2: 信使随时会死在路上

A写信: “明晚, 咱俩一块打C国”, 信使带信出发, 去B国
B看了信, 回信"我收到你的信啦♡"
A看了信, 回信"我知道你收到信了" (思考: 如果此时信使死了, 会发生什么)
B看了信, 回信"我知道你知道我收到信啦♡"
A看了信, 回信"我知道你知道我知道你收到信了"

AB双方永远处于信息不对称的状态,
那TCP是怎么解决信使悖论的呢?


3次握手:

A发信"520"
B收到了"520", 回信"521"和"1314"
A收到了"521"和"1314", A懂了, A回信"1315"
B收到了"1315", B也懂了


4次挥手:

A发信"分手吧"
B收到"分手吧", 回信"分手吧+1"
A收到"分手吧+1", 却犹豫了起来, A心里明白, 这只是一次互相试探
B给A买的礼物还没来得及送给他, B哭着把礼物寄给A, 眼泪滴落到盒子上
最后B写信"祝你幸福"
A收到了礼物, 然后收到了B写的"祝你幸福", A回复"祝你幸福+1", A死心了
B收到了"祝你幸福+1", B也死心了


A是客户端, B是服务器, 礼物是剩余的数据
挥手比握手多一次, 因为还有剩余数据没发完


所以, 快乐总是相似, 悲伤却各有不同

你是否觉得自己变态

正常

生物活太久, 脑子都会不太正常, 日常生活娱乐已经不能刺激到神经了, 所以就要寻求更大的刺激, 就会越来越变态
假如记忆能遗传, 那么人类早就因过于变态而灭绝了

1924年之前, 没有电视, 接收信息量极少
如今, 你被4G网络覆盖, 你一天接收到的信息, 相当于以前人几千年的信息总和, 你不变态谁变态

贪多嚼不烂

老虎只吃肉, 但不缺维生素
牛羊只吃草, 但不缺蛋白质
人类作为杂食性动物, 不吃蔬菜水果就会缺维生素, 不吃肉就会营养不良

动作游戏, 可以没有剧情
剧情游戏, 可以没有动作
但如果你想做一款"剧情动作生存策略建造养成硬核休闲游戏", 那你就等着被喷吧

中文时使用英文标点

搜狗输入法, 右键, 点设置, 勾选“中文时使用英文标点”
这样, 永远不会敲出中文标点, 尤其是敲代码时
工作效率提升8%

扣掉CapsLock大写锁定键
工作效率再提升8%

扣掉Insert插入键
工作效率再提升8%

如何正确区分蔬菜与水果

能生吃的是水果
胡萝卜既可以生吃也可以炒菜

含水量大的是水果
胡萝卜水比香蕉多

甜度大的是水果
胡萝卜甜度也不小

胡萝卜除了吃, 还能用…来作为武器
此时, 她既不是蔬菜也不是水果

所有分类, 都不是非此即彼的: 蔬菜与水果, 物质与能量, 棉花与哀伤
也可以这么说, 世界上一共只有两种东西: 一种是胡萝卜, 另一种不是胡萝卜
so, 如何正确区分蔬菜与水果, 你的心里已经有答案了吧

漫威和DC

漫威代表作: 钢铁侠, 美国队长等
大城市, 主角个性鲜明, 一路火花带闪电, 爽爆

DC代表作: 蝙蝠侠
贫民窟, 主角亦正亦邪, 有善良面和阴暗面, 有人性的弱点

游戏/影视作品中 一些人外种族的起源

精灵, 矮人, 兽人, 都是起源自<魔戒> (魔戒又参考了西欧神话故事)
可以说, 没有<魔戒>, 就没有魔幻
后来经过<龙与地下城><魔兽世界>等演绎和整合, 又有了哥布林, 狗头人等物种
如今, 大多数西方游戏中都有这些生物

鱼人, 几把脸, 触手怪等, 出自克苏鲁神话
明显受克苏鲁影响的游戏: 泰拉瑞亚, 暗黑地牢, 魔兽世界, 万智牌, 血源诅咒, 沙耶之歌等

Spine安装失败

问题: 从官网下载了Spine试用版, 安装的时候提示安装包不完整, 安装失败
因为: 我是用360浏览器下载的, 她的断线续传功能并不完善
解决: 用迅雷下载

学习Spine看这个↓
https://www.bilibili/video/BV13W411d7C5?p=6&spm_id_from=pageDriver
开2倍速, 边看边做, 半小时学会基础操作, 自己再稍微研究研究, 就能制作乳摇效果啦!

为什么是Program Files (x86)文件夹

为什么大多数软件都默认安装到Program Files (x86)文件夹下?

首先x86不是乘八十六, 而是叉八六, 某某八六
英特尔早期的几款处理器, 8086, 80286, 80386, 80486, 80586
他们的指令集是同一个系列的, 即x86系列

我小时候, 电脑内存就只有512M, 不像现在都16个G
小内存装64位的系统, 卡的要死, 所以老式电脑装32位系统
而今天, x86成为了32位的代名词

32位系统, 只能跑32位软件
64位系统, 既能跑32位软件, 也能跑64位软件

so, 软件开发商偷懒, 只发布32位软件就完事了

修改钉钉的提示音

改:
安装目录\main\current\uiresources\new\common\sound\message.wav
不行的话, 再改:
安装目录\main\current_new\uiresources\new\common\sound\message.wav

降低音频的音量

需要安装 格式工厂
导入音频文件, 点配置, 可以调整音量(比如把钉钉的提示音量缩减到50%)

聊聊AI学习

我是做游戏的, 简单的游戏AI if-else switch-case 就够用了
稍微复杂点的游戏AI用 有限状态机 行为树 也够用了
也就是常见的 巡逻 追击 逃跑 等状态
下文所说的AI是基于神经算法的AI, 一般不会用于游戏中


监督学习:
你是机器人, 你刚出厂, 你一无所知
给你看一大堆图, 猫和狗的图
学习目标: 你告诉我, 这个马赛克是猫还是狗
局限性: 只认识猫狗, 认不出奥特曼
应用场景: 手写识别, 语音识别等.

非监督学习:
你是机器人, 你刚出厂, 你一无所知
给你看一大堆图, 你不知道图上是什么, 让你根据特征分类
学习目标: 向我推荐更多涩图
应用场景: 短视频推荐, 购物推荐等

以上的监督学习非监督学习都是深度学习, 是对人类已有经验的总结

强化学习:
你不会走路, 你自己学习如何走路, 没有人教你, 走对了就奖励一朵小红花, 跌倒了就挨电击
学习目标: 学会走路
局限性: 你可能没学会走, 但学会了跳
应用场景: 围棋阿尔法狗一代是深度学习, 人类勉强一战, 二代Zero是强化学习, 人类毫无胜算


拿人类来说
课堂学习是监督学习, 有正确答案可循, 也有强化学习, 答错了就挨电击
生活经验是非监督学习, 你不知道原理, 但是你掌握了规律, 即"经验之谈"
科研工作是强化学习, 一遍一遍地试错, 总结经验, 重来
人类通常习惯借鉴前人的经验, 站在巨人的肩膀上, 在AI里叫做迁移学习
人类学习成长的过程是复杂的, 是多种学习方式的结合, AI学习就是模拟人类学习
计算机很快就会超越人类, 因为AI计算速度快, 时间也充足, 毕竟, 它不必吃饭/睡觉/谈恋爱

从生物学角度来说
人类学习的本质, 是建立反射
比如经典的<巴普洛夫和狗>的实验:
不论正在吃饭还是睡觉, 铃声一响, 巴普洛夫就会跳起来:“时间到了! 该喂狗了!”

关于魔法吟唱的底层原理

伟大的火之神王,以契约者的名义向汝借取灭世魔力,将世间一切邪恶燃烧,让光明的火焰燃边大地 —火龙咆哮!

献丑了, 当年我在法学院旁听, 学过一点火系法术

相信在座的很多人都会通过吟唱来释放魔法, 但是不一定知道原理

之所以能释放魔法, 是因为在"那个次元"里, 所有的运行环境都已经配置好了, 所有的魔法的类也都定义好了, 只要你的内存和运算能力够, 就可以通过吟唱咒文来调用魔法API
但是在目前我们所处的位面中, 由于某些众所周知的原因, 底层的库丢了, 所以魔法只能依赖于实体, 所以你并不能凭空new一个火焰出来, 除非你买一个打火机

吟唱过程是必要的, 因为咒语是强类型语音, 必须先声明再调用
龙语魔法是一种更底层的语言, 效率更高, 威力也更强, 但是描述也更加晦涩
至于缩短吟唱, 那是某种语法糖

你也可以自创法术; 我当年封装了一个哈利路秋秋哈呀呀, 唉, 然后发现早就有人上传什么hub了


昨天我又去法学院旁听, 讲的都是些什么啊, 完全偏离了初衷

什么是真实的

从诸葛亮说起

在<三国志>里, 他是一个身长八尺的谋士, (1米8多)
在<三国演义>里, 壮诸葛而近妖
在<王者荣耀>里, 他是一个有多段位移的法师

你说, 哪个才是真正的诸葛亮?

每个人心里都有一个诸葛亮

看过三国演义的人会想到: 空城计, 草船借箭, 木牛流马
了解一点三国志的人会显摆一下: 这都不是诸葛亮干的
小学生会手把手教你: 最快叠出诸葛亮的5层被动

每个人心中的诸葛亮, 都是不一样的
我心中的诸葛亮是个穿旗袍的精灵女王提着的那个粉红色的暖瓶

修大运河的隋炀帝真如史书中那样昏庸无道吗?

隋的史书, 谁写的? 唐写的
唐灭隋
隋必须荒淫无道, 隋必须民不聊生

唐 必 须 正 义

历史不一定为真, 史书是由人来写的, 必定带主观

历史上确有诸葛其人吗?

不一定

司马迁, 来, 你在史记里给我加个人物, 名叫咸蛋超人, 来自M78星云, 保护宇宙和平
给你一千块钱, 写不写?
刀架你脖子上, 写不写?

演谁, 谁厉害

小时候看<铁齿铜牙纪晓岚>, 我觉得纪晓岚是世界上最厉害的人, 和珅最坏了
后来看<宰相刘罗锅>, 和珅还在, 纪晓岚去哪了?

历史上, 纪昀和刘墉的权势都远不如和珅, 和珅最厉害
为了凸出反派形象, 他必须老奸巨猾, 这, 就是演绎

刘墉57岁的时候, 纪昀52岁, 和珅才26岁
和珅26岁那年被任命为军机大臣, 26岁的你在干什么?

后羿射日

很多故事都是演绎过的, 不是它最初的模样了
前几天看到后羿射日这个典故
其实, 射日的是羿, 后羿是之后的一个部落的王
随着时间演绎, 慢慢的, “羿射日"被谣传成了"后羿射日”

有必要更正吗?

我觉得没必要
古时候, 没有移动硬盘, 没有纸笔, 所有故事都是口口相传的, 每一个故事都经过了杜撰
你说, 谁讲的故事是最真实的? 是最接近原始版本的?
假如我们去"更正", 这种"更正"本身也是主观的, 你能保证不是"更歪"了吗?
比如, 天主教/东正教/新教等对圣经不同的解读

什么是真实的? 我们应该相信什么?

没有什么是真实的
一切外物都是内心的投射
你所看到的, 都是你内心想要看到的
你所看到的, 都是你自己

每个人的认知都是不同的

就拿"世界"来说
有的人眼中的世界, 是一粒尘埃
有的人眼中的世界, 是从家到公司
有的人眼中的世界, 是一条衔尾的蛇
有的人眼中的世界, 是阿撒托斯的梦
有的人不认识"世界"这两个字

回到游戏

一个伟大的游戏, 或者一个伟大的艺术作品
要让玩家看到他心中的那个诸葛亮, 要让玩家看到自己, 要罗生门, 要有隐晦的表达, 要有争议, 要哈姆雷特

小球和Player

小球和Player

当我还是个纯小白的时候 (刚学习Unity和C#, 甚至还不知道什么是类)
我在Unity中新建一个球体, 然后给球体挂上一个名为Player的C#脚本
我认为: 球就是Player, Player就是球, 我在Player里写Move方法, 球就能移动, 合情合理
突然, 我发现, Player挂在相机上也能控制球的运动, Player并不是球, 球也不是Player

饥荒

玩<饥荒>时, 我控制主角威尔逊捡起一根萝卜, 然后打开背包, 威尔逊把萝卜放进背包, 然后关上背包
我突然意识到威尔逊只是一个傀儡, 我控制这个傀儡把萝卜收进背包, 背包也是一个傀儡, 是我在控制背包而不是威尔逊
你能明白吗? 我的意思是说, 威尔逊/我/背包/萝卜, 都是同一个东西
威尔逊把背包丢在地上, 当威尔逊远离背包一定距离的时候, 背包就打不开了, 此时威尔逊/我/背包是分离的
我透过威尔逊的眼睛去观察饥荒的世界, 我要做的, 是让威尔逊活着, 而且活的舒服, 所以我得操控着威尔逊去吃萝卜, 同时, 我在操控自己敲键盘
以上, 威尔逊, 背包, 傀儡, 我, 萝卜, Player是既相同又不同的

没有球也可以

以前, 我认为游戏里的球是实体的, 是真实存在的
后来知道, 球只是数据, 屏幕上的一切, 都是对数据的渲染
比如Move()方法, 改变的是XYZ这3个float数值
然后计算机拿到球的坐标/旋转/缩放/网格/材质等数据渲染在屏幕上
最后让我看到: 球动了

最近翻论坛时, 发现很多小白都搞不清谁是谁
只能说Unity的封装太优秀了, 即使不懂编码的原理也可以做出游戏来

玩了<艾迪芬奇的记忆>

这个游戏太棒了!
这才是真正的第九艺术!
我最喜欢的故事有: 荡秋千, 拍照和打猎, 青蛙跳水, 放风筝, 鱼罐头流水线

<游戏设计模式>摘抄

原文翻译在这里: 游戏设计模式

抽象和解耦让扩展代码更快更容易,但除非确信需要灵活性,否则不要在这上面浪费时间。
在整个开发周期中为性能考虑并做好设计,但是尽可能推迟那些底层的,基于假设的优化,那会锁死代码。(因为高度优化的代码不灵活, 很难改动)
快速地探索游戏的设计空间,但不要跑得太快,在身后留下烂摊子。毕竟你总得回来打扫。
如果打算抛弃这段代码,就不要尝试将其写完美。摇滚明星将旅店房间弄得一团糟,因为他们知道明天就走人了。
最重要的是,如果你想要做出让人享受的东西,那就享受做它的过程。

MVC是多种设计模式的合集, 其中最重要的是观察者模式
在好的观察者设计中,观察同一被观察者的两个观察者互相之间不该有任何顺序相关。 如果顺序确实有影响,这意味着这两个观察者有一些微妙的耦合,最终会害了你。
删掉观察者时一定要移除监听事件, 否则不能被回收。

为了避免飞天遁地,物理引擎添加了阻尼。 这个阻尼运算被小心地安排成以固定的时间间隔运行。 改变了它,物理就不再稳定。

*在AI代码中,我们增加了一个调用,在敌人承受玩家伤害时发出痛苦的低号。 没有什么比在虚拟的生物身上施加痛苦更能温暖玩家心灵的了。

整天写程序

整天写程序, 写的写的我自己像个程序,
闹钟一响, 起床洗脸刮胡子打卡上班
闹钟一响, 打开手机定外卖
电话一响, 下楼拿外卖吃饭
闹钟一响, 打卡下班洗澡刷牙睡觉
闹钟一响, 起床洗脸刮胡子打卡上班…

ATCG编码对比01编码的优势

刚刚看到一句话, “火星探测器的代码量并不多”
我突然明白了, 为什么我要用ATCG而不用01来编码, 因为01暴露在太空射线中, 一旦出错就会全盘崩掉, 而ATCG不会, 即使损失掉一部分也能活下来, 另外还有全息全能, 可变异等优点

聊一下各种盔甲

链甲, 也叫锁子甲, 密密麻麻的环互相嵌套
扎甲, 也叫札甲, 长方形甲片, 甲片层层堆叠且互相连接
鳞甲, 鳞形甲片, 甲片层层堆叠但不互相连接
板甲, 整块的钢板, 量身定做, 骑士贵族穿的, 穷人穿不起

对付无甲的敌人适合用砍, 伤口大, 出血量大, 容易致残
对付有甲的敌人则适合用刺, 穿甲后才能造成伤害, 而且刺的伤口更深, 更致命, 缺点是有时会卡住, 拔不出来
对付有甲的敌人也适合用钝器, 震击本体, 缺点是比较笨重, 有很长的后摇

普遍穿重甲的欧洲中世纪, 剑/锤/骑枪居多
普遍穿布衣的中东沙漠国家, 弯刀居多

弓兵穿轻甲, 是为了节省体力, 多射箭
弓兵还会穿戴左护胸, 防止弓弦回弹时擦伤左乳房

枪骑兵的攻击方式是组团突刺
最好用长矛克之
后来人们干脆把枪插在地上, 就演化出了"拒马"
然鹅, 蒙古人玩骑射

法师穿布衣, 因为铁器会阻断与魔法元素的联结
牧师穿布衣, 因为铁器会阻断与信仰的联结
安度因穿铠甲, 因为安度因背叛了圣光

西游记中你可能不知道的细节

真假美猴王

混世四猴分别是:灵明石猴, 赤尻马猴, 通臂猿猴, 六耳猕猴
假孙悟空, 是六耳猕猴
那么,
真孙悟空, 是灵明石猴吗?
我看网上很多人都这么说, 但是, 吴承恩可没这么写

孙悟空的武器是如意金箍棒, 是东海的定海神珍
六耳猕猴武器是随心铁杆兵, 是…吴承恩没写

至于被打死的, 是不是六耳猕猴, 这个就仁者见仁了, 反正吴承恩没写

金箍棒

金箍棒就是棍子两头套上金箍
铁箍棒就是棍子两头套上铁箍

为什么不叫"金箍棍"?
因为"棍"是粗细均匀的, 而"棒"是不均匀的, 比如棉棒

Avalokiteśvara菩萨

观世音菩萨,佛教菩萨名,为梵文Avalokiteśvara的意译,亦译作“光世音”,新译“观自在”“观世自在”,音译“阿婆卢吉低舍婆罗”“阿缚卢枳多伊湿伐罗”。阿弥陀佛的左胁侍,“西方三圣”之一。曾因唐代避讳太宗李世民名,去“世”字,略称“观音”。— 百度百科

手机

一部手机的寿命在3到5年, 而人的寿命在70到100年
手机只是人类眼中的过客
但对于手机来说, 你就是它的一生
所以, 放下身边的杂活, 多陪陪你的手机​

无情对

孙行者, 祖冲之
庭前花始放, 阁下李先生
陶然亭, 张之洞
五月黄梅天, 三星白兰地
秦皇岛, 夏侯渊
公门桃李争荣日, 法国荷兰比利时

游戏中的镜头语言

1.女演员仰视高台上的男演员, 镜头放在女演员的侧下后方, 屁股的位置, 就像这样:
(图片来自B站视频【游戏通鉴Vol.7】《放浪冒险谭》)

2.挥刀的时候, 镜头跟着刀, 会更有冲击力, 尤其是砍向自己的时候

称得上是第九艺术的游戏

诚然, 很多游戏都非常好玩, 可美感不足, 所以称不上是第九艺术
像<斑鸠><极乐迪斯科><十三机兵防卫圈>等满分神作, 我个人并不觉得好玩, 所以也不在列表内
这里说一下我玩过的, 称得上是第九艺术的游戏: (按时间排序)

暗黑地牢
异形工厂 (解谜)
奥日2
战地1 (第一人称射击)
塞尔达荒野之息
师傅 (动作)
天下布魔 (剧情)
死亡循环 (第一人称射击)
看火人 (剧情)
艾迪芬奇的记忆
哈迪斯
魂系列
Gris
风之旅人
未上锁的房间1 (解谜, 234代都不如1代)
空洞骑士
Inside (解谜)
Limbo (解谜)
太阳系争夺战2 (通关了几十遍)
Haydee (解谜)
回声探路 (解谜)
双重奏
信任的进化
次元猎人 (要结合地球online玩)
撞头赛车
瘟疫公司 (毁灭全人类)
Bounden (双人跳舞游戏, 地球online)
日本拼图 (解谜)
在异世界活下去 (文字, 回合制战斗)
我在7年后等着你 (剧情)
流言侦探 (文字)
泰拉瑞亚
战地2 (同学们都在玩CF的时候, 我在玩战地2)
上古卷轴5
血径迷踪
子弹风暴 (第一人称射击)
植物大战僵尸
纪念碑谷 (解谜)
黏黏世界 (解谜)
真菌世界
谜画之塔系列 (解谜)
银河历险记系列 (解谜)
植物精灵 (解谜)
机械迷城 (解谜)
CS1.6 (第一人称射击)
颠倒黑白系列 (解谜)
逆转裁判系列 (解谜)
9小时9人9扇门 (解谜)
幽灵诡计 (解谜)
塞尔达东方的传说

我们在急什么?

最开始玩<暗影格斗2>是在大一的时候, 一堆同学围观, 有时同学接过手机打几局, 那时候玩游戏多开心啊, 新武器快试试看! 吃我一记扫堂腿!

6年过去了, 又翻出来玩玩

快快快, 快出招, 快过关, 快升级, 等级高了才能买更好的武器和护甲
算计着经验值, 怎么才升级快, 怎么才不浪费时间
更快买到更好的武器, 更快的过关, 更快的…

我突然停顿了一下
我在急什么呢?
为什么急着通关呢?
为什么不慢慢打, 享受游戏的乐趣呢?

如今浮躁的人类, 在急什么呢?
长视频太长不看, 看短视频, 开2倍速, 开3倍速
我们究竟在急什么呢?

太怀念那个不急的年纪了…
爬树, 挖坑, 看蚂蚁搬家, 拿树枝当剑, 拼积木, 活泥巴

欧洲的神话英雄

奥丁, 索尔, 洛基, 是北欧神话里的
维纳斯, 丘比特, 索尔, 是罗马神话里的
宙斯, 赫拉, 波塞冬, 德墨忒尔, 哈迪斯, 阿瑞斯, 雅典娜, 阿波罗, 等都是希腊神话里的

罗马诸神一开始只有名字而没有神话, 后来借鉴了希腊神话故事放到了罗马诸神身上
所以你会发现: 罗马诸神和希腊诸神特别相似

集体无意识

弗洛伊德认为人的无意识跟童年经历有关
但是荣格发现, 很多情况不是来自个人的经验, 而是和古典文学/远古神话有关
他提出集体无意识, 是远古知识的积累, 即每个人类都继承了一些远古的记忆
如密集恐惧症是要远离腐败生蛆食物的远古记忆

设计模式与焯水

有的菜焯过水后, 会看起来更鲜嫩, 也更好吃
当然不焯水也一样可以做, 只是焯一下可能会更好
蔬菜一般焯热水(破坏细胞壁)
肉类一般焯凉水(去血水去腥)
要注意, 并不是每种菜都适合焯水

天下的道理都是相通的
写代码时, 用了合适的模式, 会看起来更清晰, 更易于修改和扩展
当然不用设计模式也一样可以写, 只是用一下可能会更好
不同的功能, 适合不同的模式
并不是一定要硬套模式

一开始, 不知道要不要焯水, 要不要勾芡, 用猛火还是文火
融会贯通了, 就能手到擒来, 该用什么设计模式胸有成竹

如何能做到融会贯通呢? 多做, 多思考

看! 有彩虹

我想到人类的视色范围简直短的离谱, 红外线之外的颜色, 人类看不到, 既然看不到, 也就不存在了
又想到螳螂虾的视觉域是多么广
又想到触手系的眼睛比人类高级, 人类的眼睛结构竟然长反了

真希望自己像傻子一样
什么都不懂, 那就不用想太多
保持无知, 就能更容易感受到快乐, 对吧?

我喜欢整理

我每隔一段时间就翻翻以前写的博客, 补充一些新的理解, 替换掉一些不大准确的用语
代码也是, 经常回头看看, 有没有需要替换的字段名, 有没有需要提出来的方法

第一天写的很流畅, 也看不出毛病来
第二天再看, 可能会看出表意不够准确的用词或写法
半年后再看, 可能有不同的理解, 会有不同的观点

我对我的所有东西都是这样: 隔一段时间就要整理一下
比如我的代码, 我的收藏, 我的涩图, 我的桌子, 我的房间
整理完后神清气爽, 感觉超棒!

代码读起来应该像是读文章

function AAA(a)
    if a < 60 then
        return 60
    end
    return a
end

↑↓对比来看, 你更喜欢哪个?

function GetScore(score)
    local passScore = 60
    local isPassed = score > passScore
    if isPassed then
        return score
    else
        return passScore
    end
end

条条大路通罗马

对于敏捷开发, 就得找那条最近的最好走的最省钱的路
对于稳定开发, 就得要先出完善的设计图了
有的时候则需要权衡, 要快还是要稳? 要预留多大程度的扩展度?

化简问题

上初中的时候, 遇到一个数学题, 带三个未知数, 特别特别难算
我选择先化简再算
同桌选择一步一步硬算
最后我废了很大劲, 化简出一个简单的方程, 然后带入计算, 得出结果
几乎同时, 我同桌也算出了结果
我们的结果一致, 都是正确的
我不是要说谁的方法更好
只是说我这个人是一个"很怕麻烦的人", 我遇到麻烦的事, 一定要化简它

下棋AI, 我并不认同它是AI

它只是遍历它内部的棋局库, 给每一种走法都打一个分, 然后走评分最高的那一步
这算什么AI?


1年后, 即2022年, 出绘画AI了
涩图可以随便画了, 可惜我学了那么久画画…
于是我去哔哩哔哩上看了人工智能公开课, 学习一下原理, 将来机器人统治人类后, 还能有个筹码
https://www.bilibili/video/BV18W411B7og?p=1&vd_source=d4b70381637c0b2e5ad0616c410a5011

现在我认同下棋AI是AI了, AlphaGo学习的这个过程, 就是人工智能
后来的Zero比AlphaGo更强大, 而且她是纯自我强化学习的
不是学习人类的棋谱, 而是从0开始, 自己和自己下

<重构-改善既有代码的设计>摘抄和感想

如果没有重构,程序的设计会逐渐腐败变质。当人们只为短期目的,或是在完全理解整体设计之前,就贸然修改代码,程序将逐渐失去自己的结构,程序员愈来愈难通过阅读源码而理解原来的设计。重构很像是在整理代码,你所做的就是让所有东西回到应处的位置上。代码结构的流失是累积性的。愈难看出代码所代表的设计意图,就愈难保护其中设计,于是该设计就腐败得愈快。经常性的重构可以帮助代码维持自己该有的形态。

重构能提高效率, 我经常有这样的经验:
我重构完一块代码
之后再加新需求, 我几下就搞定了
要是之前没有重构, 面对一堆乱糟糟的代码, 肯定要花更多的时间去改

一个好的设计方案固然重要, 但不可能一开始就设计出完美的方案, 有些问题是边做边出现的, 后期项目需求也可能会改变, 此时, 就需要重构

你不必拿出一整块的时间用来做重构, 应该是边写边重构, 只要一有时间就翻看代码, 看是否需要重构

也不是一直都需要重构, 代码是可以无限优化下去的, 但是当代码已经足够好的时候, 再花时间去重构就没有必要了

你的代码是为人写的, 其次才是为计算机写的
就算不给同事们看, 至少得让2年后的自己看得懂吧?
我的代码风格通常是: 在不损失性能的前提下, 尽量便于人类阅读
写代码的时候请这样想: 未来看你这段代码的人是个暴脾气, 喜欢拿刀砍人, 而且他知道你家的地址

重复代码一定要提出来, 这样就能避免: 只改了一处, 而另一处忘了改的尴尬

如果改一个地方, 同时需要修改多个地方, 那就应该把所有这些地方整理一下, 放到一个地方统一管理

应该把长方法改造成短方法, 把5个百行方法拆解成5个十行方法和提炼出10个双行函数

当需要写注释的时候就要考虑重构了: 把这一段代码放进一个方法里, 用该注释作为方法名

随着需求改变, 新功能添加等, 即使原本设计很好的代码, 也会慢慢腐烂变臭, 这时, 就需要整理重构, 来使逻辑清晰, 便于未来修改
尤其是游戏行业, 需求变更和迭代更新比别的行业多得多, 就更得随时检查是否需要重构

如果有一串条件检查, 它们最终的行为是一样的
那就将这一串条件用"或/与"合并起来, 这样, 看这段代码的人就会明白:
实际上只检查一步, 只是这一步需要多个并列条件
当然, 有些情况下就不要合并这些条件, 这样, 看这段代码的人就会明白:
需要检查多次, 因为每个条件都是独立的

当你正在重构的时候, 看到一处代码写的不合理, 但是它和本次重构不相干, 那么, 不要动它
如果你改了它, 当你重构完测试的时候出了错, 你可能会分不清是重构错了, 还是改错了
正确做法是暂时先不要改它, 写个todo记录一下, 等一下再改

小心那些烂翻译

最近在看<禅与摩托车维修艺术>, 越看越困
当我看到"你只会记起有些地方可以停下来,丢下一块石头,石头会一直下落几千英尺才抵达谷底"时, 我想到这种高低落差很大的地形不适合居住, 上面掉石头会砸到下面的人, 上山下山也不方便, 英雄联盟原画里建在陡峭山壁上的建筑是不合理的, 然后想到地理课里, 人类一般会沿道路/河流/湖泊群居, 最后发展为城市, 然后又想到高中看过的科幻小说垂直世界, “地面"是垂直的, 也就是地面变成了墙面, 人们生存在墙面上, 上下爬行, 像壁虎一样, 那样的话只能横着建房子, 然后又想到假如现在重力不是往下而是往前, 我面前的电脑就会往我的前方"掉下去”, 然后又想, 我坐在一座高楼的外墙上, 我面朝地面, 而我的电脑面向天空, 但是我没有掉下去, 因为重力指向我脚下的楼, 那也可以重力往左, 我也能想象侧坐在高楼外墙上, 重力往右, 往下, 都行, 但是重力往上却不容易想象, 那样我就是倒挂着了, 又想到英雄联盟里的建筑可能是合理的, 现实中也有一些建在高处的建筑, 比如寺庙, 城堡, 用来增强仪式感, 便于防守, 或者体现人类的征服欲, 又想到地球是圆的, 自转又有一个倾斜角, 我们现在不就是在墙上生活嘛! 重力指向我们脚下, 又想到宇宙中没有上和下, 我们的地图是以北方为上方的, 但是在外太空你看地球的话, 很可能北方在下南方在上, 比如你去网上搜一个地球的图片, 然后反过来看它, 你可能认不出它是地球, 又想到高处的寺庙还得考虑避雷, 所以会在建筑外附加金属条, 将电导到地下, 就有了雷火炼殿…
嗯, 看书走神了

我觉得<禅与摩托车维修艺术>不是一本好书, 我是在浪费时间
去搜书评, 书评褒贬不一
然后 !
我发现了翻译水平比较高的另一个版本

你只会记起有些地方可以停下来,丢下一块石头,石头会一直下落几千英尺才抵达谷底
这句话, 他翻译为:
只是某种记忆让我想到,在这么险峻的地方,若是抛出一枚石子,要在空中坠落几千英尺,才会落到谷底
这样就读的通了

还有文章开篇时"我和克里斯以及那些骑在前面的朋友"
我很好奇, 后文怎么只剩两个朋友了? 其他朋友呢? 都走散了吗? 什么时候和他们汇合啊?
我带着这个好奇读了很久, 还以为后面会有什么悬念
再看更好的翻译版本: “我和克里斯,还有骑在前面的两位朋友
什么是蠢蛋翻译, 什么是那些朋友

看完这本书之后, 我想说, 一般般, 书中确实讲了一些道理, 但是讲的故弄玄虚
这本书会火, 只是因为书名起了个网红名字


我看过最烂的翻译是<戴珍珠耳环的少女>, 原文不记得了, 我大概模仿一下哈:
“桌上放着一个白色的柄上镶有珍贵珍珠的珍贵的壶”
“哦, 我的妈妈, 我不得不”

<高效程序员的45个习惯:敏捷开发修炼之道>感想

几点比较重要的:
一开始不要追求完美, 先做出个大概样子, 演示给设计者看, 多反馈, 多沟通
多提交代码, 而不是整个全做完再提交
先画小圆, 再画中圆, 再画大圆
多复查, 多看看以前的代码是否需要重构, 千里之堤毁于蚁穴
异常不要吞掉, 要报错才知道哪里错了

游戏画面越来越好

我认为一款伟大的作品之所以伟大, 必定是能传达画面之外的意义
南方公园, 画面渣渣, 但有内涵
超级玛丽, 2D像素, 但内容丰富
翻开一本小说, 脑海中就会生成画面

现在的很多游戏大作, 画面超一流, 极致真实, 极致华丽
却连一个简单的故事都讲不好

游戏的剧情

首先, 我是不怎么爱玩剧情游戏的
看剧情的话, 我不如直接去看电影, 我为什么要玩游戏呢
游戏我觉得要体现一个"玩"字, 而不是"看"
对, 我更喜欢莽

玩过的剧情比较好的游戏有:
解密类: 逆转裁判系列, 9小时9个人9之门, 我在7年后等着你, 流言侦探,
射击类: 使命召唤7和8, 无主之地2, 天下布魔

有剧情才有灵魂

比如lol, 也可以不做剧情的, 有了剧情, 角色才有了灵魂
(是游戏外的剧情, 丰富人设用的)

三消游戏, 加上剧情, 就有了mirror
(是游戏内的剧情, 玩mirror当然是为了看剧情, 不会真的有人是来玩三消的吧? 不会吧?)

剧情也得走心啊

点名批评无主之地3, 把1代2代的主角全都拉出来走一下过场, 意义何在啊? 消费情怀吗?
无主之地3, 每个角色都性格平平, 没有表现力

无主之地2, 每个角色都个性十足
2代中同样有1代主角出场, 2代中大鸟的死, 死得非常有价值, 而3代中玛雅的死, 纯粹是为了死而死

注意细节

看完<暴力街区>, 再看<暴力街区2>.
1代反派, 坏, 体现在眼神之类的细节里
2代反派, 坏, 小弟说错了话, 一枪打死, 太低级了

小A: 见谁杀谁, 坏到了极点, 坏透了
小B: 自己的左手小拇指痒痒, 所以咬下来吃掉了
你觉得哪个人更可怕?

剧情, 不能, 放在, 结算, 之后, 吗???

我打赢了Boss, 先不结算奖励, 而是先进入剧情:
我救出女主角, 两人正说着话, 突然, 空中飞来一个大鸟, 又把女主角掳走了
然后才弹出结算面板: Win! 恭喜获得奖励!
我???

我打赢了Boss, 先不结算奖励, 而是先进入剧情:
Boss又活了过来, 捅了我一刀, 我倒在血泊中, 屏幕一黑
然后才弹出结算面板: Win! 恭喜获得奖励!
我???

我费那么大劲打赢了Boss, 你先告诉我, 我他妈赢了, 之-后-再-播-剧-情-行-不-行???
我管你剧情什么玩意儿, 先给我奖励啊! 你自己看看你那剧情他好看吗?

吃苹果

在吃苹果, 突然想到, 为什么土豆切完要泡到水里?
哦, 是为了隔绝空气, 防止氧化
嗯, 还有洗去表面的淀粉, 不粘

看【就知道玩游戏106: 最后生还者2】有感:

游戏设计的一些细节:
1.人物性格应该前后一致, 不要有突然的转变: 冷血杀手突然心软, 狙击手忘记反侦察
2.性格转变要有完整的过程
3.想要让玩家有代入感, 就得走线性流程, 不要做开放世界
4.不要强行替玩家做选择, 应该把选择权交给玩家

三八国际女神节

我要是个女的就好了
为什么男的没有节日?
说好的女男平等呢?
气抖冷

洗手液的气味和颜色

柠檬洗手液, 是柠檬味的, 淡黄色透明的
纯白洗手液, 是清香味的, 乳白色的
没问题, 对吧?

你想过没有
为什么柠檬洗手液偏偏是柠檬味的, 淡黄色的?
不加柠檬气味, 不加黄色色素, 行不行?

也行
加榴莲气味也是可以的
加黑色色素也是可以的
什么都不加也是可以的

但是
具有"真实性"的洗手液才好卖
所以, 柠檬洗手液就必须得是柠檬味, 淡黄色的

做游戏也是这样, 比如你膝盖中箭了, 我们就模拟现实中的样子
首先疼: 播放音频: “啊!”
腿瘸了: 移动速率降低
快死了: 血量减少, 屏幕发红

当然, 不模拟也行, 模拟只是为了增强"真实性", 增强"代入感"

人工智障输入法

输入法, 竟敢善做主张, 给我调整词频.
因为我经常用浏览器搜单词, 比如"回调英语",“角标英语”
我想要的仅仅是: 按2下"Y"键, 再按一下空格, 屏幕上就会出现"英语"2字.
难吗?
这人工智障它偏不!
先打出"你的", 再打"YY", 出现的是"语音"
先打出"原因", 再打"YY", 出现的是"原因"
我太生气了

又过年了

26了, 妈的, 人生最精彩的3分之1已经过去了


27了, 妈的, 又过了一年

古代人类, 一辈子只能活20多岁
根据演化论, 人类的身体, 过了20多岁就该停止生长, 细胞更新的速度越来越慢, 开始变老
也就是说, 青春期之后, 我们即开始腐烂
也可以说, 我们从一出生起, 就在一点一点慢慢死去

所以, 要活得精彩


???, 怎么又一年

踩坑

我认为掌握一门语音, 最快的方法就是踩坑, 不断的踩坑, 把坑都踩完了, 就可以说掌握了

不止学习计算机语言要踩坑, 学习任何知识或技能都是一个踩坑的过程
先学大体流程, 接下来就是不断的踩坑了
‘知易行难’, 难一般难在各种坑上
‘先学一般规律, 再学特殊形式’, 这里的特殊形式就是踩坑
‘先把书读厚, 再把书读薄’, 这里的读厚, 就是踩坑的过程, 读薄那就是’精通’了, 就是’大师’了

‘了解’: 知道个大体流程
‘掌握’: 把坑都踩完了, 就算是’掌握’了
‘熟练’: 就是多做多练, 时间长了自然熟练, 无他, 唯手熟尔
‘精通’: 是在掌握和熟练的基础上继续深究, 并不是一瞬间的突破, 而是一点一点的积累

吹一下有道词典

安装了有道词典, 没想到这么牛逼, 能截图翻译
更牛逼的是, 鼠标指向一个英语的时候, 就出现了翻译成汉语的悬浮窗
更牛逼的是, 鼠标指向一个汉语的时候, 也出现了翻译成英语的悬浮窗
更牛逼的是, 我选中一整句话的时候, 整句都能翻译
What’s even better is that when I pick a whole sentence, the whole sentence translates
更棒的是,当我选择一个完整的句子,整个句子翻译


后面很烦它了, 老是自己跳出来
卸载了

回忆我学编程新手期曾遇到的几个难点

只会打log, 不会打断点
self和this到底是谁
Callback是什么东西
Action/Func怎么跳过来跳过去的

一些不值一提, 却非常有用的小技巧

定闹钟时, 确保你的手机是24小时制, 否则, 你最好反复确认, 定的是上午6点还是下午6点
打开水杯的盖子后, 在杯口磕几下, 让盖子上的水落回杯子里, 而不是落到你裤子上
水杯要拧紧盖子, 因为可能会被碰倒, 水会洒出来
带着纸, 会有用的
远离逆行还贼快的车, 他着急赶回去看他家人最后一眼, 鄙人有幸被撞过

三重肯定表否定

是是是
一定一定一定

小时候经常听到的鸟叫

张三拐股, 你在哪住? (四声杜鹃, 即布谷鸟)
咕咕咕~咕 (斑鸠)

游戏中的相机视角

第一人称射击, 相机挂在人物身上, 跟随人物转向
第三人称射击, 相机挂在人物身上, 跟随人物转向
第三人称俯视, 相机跟随人物, 相机朝向不变
动作类的游戏, 相机跟随人物, 一小段延时后lerp跟随人物转向

听歌不要看MV

看了MV, 再听这个歌, 脑子里就全是MV的画面了, 失去了原本的意境
会不会只有我是这样? 只有我在听歌的时候会复现出MV?

就我一个人?

别的小朋友崇拜孙悟空的时候, 我知道他连小怪都打不过, 只能去求别的神仙帮忙
别的小朋友喜欢变形金刚的时候, 我知道变形的代价是放弃了舒适性和坚固性
别的小朋友看奥特曼, 直接快进到奥特曼出场的时候, 而我则喜欢看前戏
就我一个人?

生物演化方向

生物应该向着有利于繁殖的方向演化才对, 那为啥只有人类和海豚符合呢?
甚至有鸭子这种奇葩生物
可能是程序必须设定成这样? 不然生物数量会爆炸式增长, 反而不利于生存吧
比如树木的树冠羞避

那孔雀怎么解释? 雄性的尾巴长那么大, 显然是不利于生存的
像鳄鱼这种蠢蛋, 一赶上全球变暖或者变冷, 直接灭绝

虽然我本科是生物专业, 但是我并不信任达尔文
个人认为, 物种都是被设计的, 并不是演化而成的
物种总是突然出现, 又突然消失, 找不到中间过渡态的证据
日地和地月的距离之比恰好等于体积之比, 所以站在地球上看, 太阳和月亮恰好一样大, 设计感太明显了吧

关于计算机和人类的未来

元旦放假在家二刷空洞骑士, 距离上次通关大概1年了吧
在学会黑冲前, 我试图打失落表亲
打了大概1个多小时, 打不过, 唉, 放弃了
我就想, 要是AI来打, 应该很轻松吧
人类不可能在技能CD结束的那一帧按下技能按钮, 而程序能, 而且程序没有失误
又想到那些音游, 人类肯定不如AI, 因为人类有0.3秒左右的"反应时间", 而AI没有, 不管多快多难, 全部perfect, 0失误

人类举重极限是多少? 1吨? 移动速度极限? 200m/s? 反应速度极限? 0.005秒?
太 弱 了
实 在 太 弱 了
机器的计算速度是人类的多少亿倍, 电传导比电化学信号和神经递质快多了
(回头想想, 这个对比并不严谨, 只是对比了传导速率, 并没有对比计算速率, 计算机是通过与或非门来计算的, 而人脑是怎么计算的? 人类并未知道, 所以不知道该拿人类的哪个组织来跟计算机的晶体管做对比)

最早的人类可能在距今300万年前
最早的文字是3500年前
交流电1831年
第一台计算机1946年
现在是2021年, 机器正在取代人类
计算机的进化速度远超人类
或许人类只是进化中的一环吧
就挺伤感的


机器人不久就会取代人类, 除非…开发集体潜意识, 或者称之为悟道
晶体管的计算速度是很快, 但是再快也有上限
而"大我"没有上限, "大我"甚至在问出问题之前, 就已经知道问题的答案了
时间只是一种错觉, 是无知的人类对于"变化"的一种解释, 事实上, 过去和未来是同时存在的

屏幕亮度

我在盯着电脑屏幕的空白区域看的时候
突然想起来照相机拍摄激光时, 相机镜头被烧坏的那个视频
那并不是激光把镜头烧坏的, 而是镜头看强光的时候, 自己把自己烧坏的
人类的眼睛也是一样, 强光过后, 眼前久久不散的黑斑, 就是感光细胞自己把自己烧坏了

我盯着电脑屏幕, 想:
所以我是一直在慢慢烧自己的眼睛咯?
于是, 我调低了屏幕亮度

复数

奇数/偶数 对应 单数/双数
复数, 复数是啥来着? 忘了, 所以去搜了一下…
先说数学里: 复数包含实数和虚数(a+bi)

以下摘自百度百科:
众数,或称复数,在语言学中是词素的其中一种,常和单数相对,在没有双数概念的语言中用于标示多于一个的物件,在有双数概念的语言中则表示多于两个的名词数量。在另外某些语言当中,用于标示非一个物件,包括多于一个物件和没有。在许多的语言里,多数的名词都有众数,而另一部份的语言则缺乏,或通常不使用众数,如汉语、日语、越南语等。
能被2整除的数字叫复数。(我怀疑他这里的复数是指数学里的双数, 毕竟百度百科人人都可以编辑, 可信度不高)
有些语言透过外部屈折将名词变为众数,如英语;有些语言则同时透过外部屈折和内部屈折将名词转为众数,如德语、俄语、阿拉伯语;而另有一部份的语言则以黏着词尾来表达复数,如维吾尔语、土耳其语、藏语、匈牙利语等;另有一部分语言以孤立的词素来标明,如汉语、越南语、日语,虽然一般而言汉语和越南语的名词不做单复数之分。

这里科普下
外部屈折: 就是加词缀, 加s 加ing 加ed什么的
内部屈折: 就是pay→paid, say→said之类的

所以有的语言里, 复数表示a等于2, 有的则表示a不等于1, 有的表示a大于1或等于0
语言这玩意是真他喵的奇妙

手机铃声

当时我戴着耳机, 边听音乐, 边敲代码
far away from home ♪~
就是<失恋33天>里的主角的铃声, 突然响起来
我以为我手机铃声响了, 声音还这么大
赶紧摘耳机来听一听, 再检查一下手机
不是来电话了, 只是电脑在放这首歌
有这么一会儿, 我感觉有点恍惚, 感觉不太真实

现状

突然想起来以前写的可能不对
想改改之前写的代码
然后一看
真他喵严谨! 一点问题都没有

评价自己写的代码呢
猛一看, 很流畅, 似乎一眼就能看透, 很简单
细看细节呢, 又有点复杂, 深度还是有的…
好吧, 写了很久了, 有点看不明白了…还好写了注释

百度, 这你不提醒一下?

百度cos45, 它给你个 0.52532198881773, 这显然是个"错误"的答案
百度cos45度, 它才会给你正确的 0.70710678118655

45度, 就是π/4, 也就是0.7854…
45, 是多少? 是约2578.3度

cos0.7854 = cos45° = 0.70710678118655…
而 cos45 = cos2578.3° = 0.52532198881773…

180°: 角度: 在Unity的API里是degree
3.14: 弧度: 在Unity的API里是rediant
Unity里的mathf.deg2red(), mathf.red2deg(), 熟悉吗?

有意思的句子

生气归生气, 又不是不爱你
一车面包人, 大宝剑
猜硬币: 你是1还是菊花?
以骑人之道还治骑人之身
淋雨就淋雨, 感冒就感冒, 鸭鸭的心事只有鸭鸭寄几知道
霓虹灯原理: 电子迁越, 能级激发
嘴巴饿了
听见了, 听见了, 我两只耳朵都听见了
我们玩勇者探索洞穴的游戏吧, 我扮演勇者
某个夏天的下午, 我们各自回了家, 童年悄无声息的结束了
风清扬夏未央, 林荫路单车响

状态同步和帧同步

状态同步, 逻辑大部分都在服务器
你揍我一拳, 你对服务器说, “我出拳了”, 服务器算出这一拳直接能打死我, 于是服务器命令我躺下, 于是我就躺下了

帧同步, 逻辑大部分在客户端
你揍我一拳, 你对服务器说, “我出拳了”, 服务器转头对我说"他出拳了", 我算出这一拳足以打死我, 于是我就躺下了

从知乎看到的, 写的很好:
https://zhuanlan.zhihu/p/36884005
状态同步的断线重连很好做,无非就是把整个场景和人物全部重新生成一遍,各种数值根据服务端提供加到人物身上而已。帧同步的断线重连就比较麻烦了,例如客户端在战场开始的第10秒短线了,第15秒连回来了,就需要服务端把第10秒到第15秒之间5秒内的所有消息一次性发给客户端,然后客户端加速整个游戏的核心逻辑运行速度(例如加速成10倍),直到追上现有进度。
所以 王者荣耀 断线重连会有一段加速

帧同步随机数要自己写种子, 确保随机数都一致
要用定点数, 不能用float

过场动画

实际上,玩家在意的不是等待,而是打断。把等待时间转变成一个动画过程,等待过程似乎就被消除了。游戏里常见的 开门 侧身过墙 钻洞 都是这样的设计。
哦, 恍然大悟, 早就知道生化危机的开门是加载场景, 没想到侧身和钻洞也是

游戏称号

初来乍到、牛刀小试、初露锋芒、登堂入室、炉火纯青、叱咤风云、
举世无双、登峰造极、震古烁今、绝代宗师、翻云覆雨、惊天动地、
出神入化、超凡入圣、随心所欲、无法无天、天人合一、破碎虚空。

关于游戏中这种比例数值, 如: 500/10000

当你看到500/100000000, 心里会好受吗
所以, 有的时候, 不要显示后面的10000, 只让玩家看到500就行了!

WPS去掉红色波浪线

选项 - 拼写检查 - 输入时拼写检查 - false

最近在做第一人称射击游戏, 简单了解一下游戏中常见的枪

枪类的简称 AR SMG LMG等:
https://baijiahao.baidu/s?id=1589127464379348418&wfr=spider&for=pc

绝地求生 全军出击 里的枪:
http://news.4399/pubg/qxdq/

刚才找"任务"用哪个单词合适, Quest, mission还是task

看到炉石贴吧有讨论这个问题的, 炉石玩家牛逼!

手里拿着锤子,看什么都像是钉子

之前看了<23种设计模式>, 写代码的时候就会老想着, 这里该用什么什么模式呢? 那里是不是该重构一下呢?
结果, 代码结构确实是清晰了很多, 但是写代码慢了, 开发效率下降了;
慢是因为还没有融会贯通;
还需要努力啊!

现在看<代码整洁之道>, 变量名, 方法名, 起名前都得想一下, 没必要的注释也删了一些(之前每个方法都写注释);
结果… 嗯… 效率又下降了;
因为经常改名, 一旦想到更适合的名就又要去改名;


到后来遇到了需求更改, 好处就体现出来了: 改起来简单多了! 修改效率上升了!

勇者斗恶龙

    //随机, 且不重复的位置
    public void RandomPos()
    {
    	Transform pos = null;
        while (pos == lastPos)//让我想起了勇者一次次的挑战恶龙, 一次次失败
        {
            pos = posList[Random.Range(0, posList.Count)];
        }
        //终于, 勇者打败了恶龙
        lastPos = pos;//于是勇者成为了恶龙
    }

当然了, 本随机方法效率差, 会死循环, 不要用, 这里只是为了讲勇者斗恶龙的故事

深谋远虑

最近写代码会发生这样的事:
嗯, 这里我现在需要一个方法, 就叫XX吧
然后开始写 private void XX,
哎? 该方法已定义?
原来"之前的我"早已经考虑到了这里, 牛逼牛逼, 英雄所见略同, 甚至比我更深谋远虑

怪圈

突然发现自己陷入这样的一个境地:
一直在用之前我封装好了的类, 时间一长, 忘了具体怎么实现的了…

解决方法:
学而时习之

更多推荐

关于编程, 游戏, 学习, 人生和奥特曼的感想(持续更新)