第四份工作(16),得心应手及之后

曾经有过一段时间,我觉得自己是厉害的,不管怎样的玩法、功能,我都能搞定,工作做起来得心应手、游刃有余。

我为什么会有这种感觉呢?

作为程序员,做一个新功能之前,往往需要先研究技术可行性。

以我曾经做过的一个战斗回放功能举例:

回合制游戏的战斗是许多自定义指令的集合,服务端按照顺序生成指令之后,由客户端一一展现。回放,便需要将这些指令集存下来,我们决定将它们存储在客户端。

为了防止别人一眼看清整个战斗过程,我们决定对这些指令集进行加密。

是否可以加密?如何加密?便成为这个新功能需要研究的技术点。

研究的流程呢?首先查看引擎是否有相关API能够直接调用。没有的话,引擎是否已经有对应功能但未暴露出接口?如果没有,选择哪一种加密算法?如果需要自己实现加密,是放在脚本层用Lua写,还是放在引擎层由C++实现?

如果要自己实现,最简单的肯定是直接用Lua写。用Lua写,效率如何呢?由C++实现,速度又会快多少呢?如果放在引擎层做,怎样将接口暴露给Lua使用呢?

将所有问题列出来,并一一做解答,便能确认战斗回放是否可以做了。

是可以做的。Cocos-2dx引擎自带一个xxtea加解密库,只需要封装接口暴露给Lua就好。

研究技术可行性,将可行的技术用代码实现,完成一个玩法或功能。在一款游戏的生命周期内,是一直重复这种"学习到应用"过程的。

一款游戏(或者一款产品),在类型、风格、主方向确认之后,创新点并不会太多。于是某段时间内,我做的工作内容,便都是用之前已经熟悉的技能,在自己熟悉的游戏中做新的玩法。不一样的,只是"逻辑"。

于是,便自然生出得心应手感觉。

这种由生涩到熟练的进步,在看过《学习之道》之后,才知道,或许世界上所有技能的练习,都是这样的一个流程。"熟能生巧"、"庖丁解牛"、"无他唯手熟尔"......等一系列成语也都说过这些道理。

现在,我自己体验到了。

这种游刃有余感觉,被后来的几次面试,击碎过。我说不出如何归并,我记不清面向对象三要素,我没用过Python的collection库......我不知道的技能,我知道但记不住的概念,我知道且记住过但又忘记的东西,太多太多。

我陷入了侯捷老师说的"信息焦虑症候群","不去面试,慨叹自己彷佛井底蛙,真正面试后才知道自己真的是井底蛙;整天看自己这里也不行,那里也不对"。(我将原文中的"上网络"改成了"去面试"。我的"上网络",只看了些自己喜欢的内容。)

或许我曾经的焦虑,与证实自己是井底蛙也有些关系的。

得心应手之后,是信息焦虑症。

再之后,是就自己工作中所用到的内容,知其然,并尝试知其所以然。

相关推荐
架构师沉默1 小时前
Java 状态机设计:替代 if-else 的优雅架构
java·程序员·架构
文心快码BaiduComate2 小时前
为什么编码智能体可以重塑开发范式?
程序员
AI大模型2 小时前
重磅!Ollama发布UI界面,告别命令窗口!
程序员·llm·ollama
AI大模型2 小时前
技术实践 | 几乎零代码!像搭乐高一样做AI应用,LazyLLM确实有点东西!
程序员·llm·agent
阿杆9 小时前
接了个友情活,收获一台生产力工具,分享我接私活的一些经验
后端·程序员·敏捷开发
SimonKing9 小时前
Java集合操作:Apache Commons Collections4启示录
java·后端·程序员
小凡敲代码19 小时前
2025年金九银十Java面试场景题大全:高频考点+深度解析+实战方案
java·程序员·java面试·后端开发·求职面试·java场景题·金九银十
一只叫煤球的猫20 小时前
让版本控制变简单:Jujutsu (jj、git威力加强版) 使用手册
git·程序员·命令行
袁煦丞1 天前
SimpleMindMap私有部署团队脑力风暴:cpolar内网穿透实验室第401个成功挑战
前端·程序员·远程工作
秋难降1 天前
聊聊 “摸鱼式” 遍历 —— 受控遍历的小心机
数据结构·算法·程序员