2021年,我过得既充实又空虚,充实在于我确实完成了一些自己在去年定下的目标,但空虚的是我完成的质量都并不算高,并且对于其中一个大计划迟迟无法顺利规范化和定型,多少感到有些失落,而且也因此浪费了太多时间,这些我在后面会详细讲到。

每每想到自己浪费了这么多时间,总是觉得很后悔,但也就那个时候而已,之后又是不断重复这一错误。为什么只会有这种程度的“觉悟”我多少也思考过,根本原因还是在于自己活在一个舒适圈内,这个舒适圈是多种因素构成的,包括但不限于:个人信心膨胀、自我认识不足、当下的生活等等。

这也为是什么去年会考虑时间管理的原因,但由于认识得太晚,当真正认识到时已经一年都结束了。因此新的一年会指定更加明确的时间管理计划,虽然应用的方式有所不同,但目的是一样的。

大计划的实施

大计划的实施都是在下半年才开始的,财务管理在七月,时间管理我甚至已经忘记了,但时间差不多都在下半年。

财务管理方面实施得非常不错,虽然大半部分是方法和工具的功劳。使用更加关注资产变化的复式记账,让我对于流水并不关心,以至于我甚至不用每发生一笔就记账,只需要定时记账,并且保证与银行账户上相等即可。工具方面,农行的明细能够看见微信和支付宝的商户名了,这使得我在记账时,大部分时候只需要打开手机银行客户端就好了。而使用 beancount 和借贷记账法,使我的账目基本不会出现不平的问题。

唯一的问题就是目前使用 beancount 记账软件没有预算功能,虽然可以利用复式记账的多账户原理来手动实现,但这样会污染软件自动计算的净资产(权益),所以暂且放弃做 预算了。虽然 v3 版本说是会添加预算功能,但不知何年何月才能实现了,因此也有在考虑更换其他纯文本复式记账软件,甚至也有在考虑自己做一个(这涉及我的另一个计划)。

财务管理的方法和手册基本都已经总结和成文了,但时间管理则始终没能成功进行。

时间管理的方法我迭代三个大版本,但都由于各种原因未能持续实施,等到十月份则更是彻底放弃了时间管理,这使得我今年最后两个月的时间过得不那么有计划性。几近思考,再综合现实情况,决定更改一下时间管理的思路,从记录什么时候做了什么事情,变更为限制自己一定要做某些事情,绕了一圈又回到了最初的样子,但至少结合每周总结依旧可以达成统计自己时间的目的。

这里先公布一下自己的时间管理方案,之后可能会在这个基础上有所改动:

以工作时间为 10 至 12 小时计算,在确保睡眠时间为 7 至 8 小时,各取最大值,即在工作日有至少四个小时的空闲时间。那么我们只需要确保我们能够合理利于这四个小时即可。

我这里以至少五个小时的空闲时间进行规划,至少要确保工作日每天:

一个小时的身体锻炼
两个小时的读书时间
两个小时的其他技能学习
如果我每天的空闲时间超出五个小时,那么就是赚到的,我可以自由支配,如果长时间无法满足,则应该考虑调整计划。

对于休息日,则可以自由考虑,对于我而言则是进行自己的个人项目。如果没有进行个人项目的想法,则可以考虑进行其他娱乐活动,总之就是自由支配。

每周日应该写下一篇周总结,总结本周完成计划的情况,这个内容应该从简,无需在意每一个项目完成的具体时间,只需要记录哪些天没有按照计划进行,以及休息日做了什么即可。

不过这个方案并不完善,因为在实际情况中,工作的通勤实际上也是消耗的空闲时间。但通勤路上也可以完成读书这种事情,因此暂且没有考虑这些比较零碎的时间的统计。如果通勤路上确实无法进行计划,则可以考虑把通勤的时间算入工作时间,以此来得到一个符合实际情况的空闲时间。

职业定向

之前有一段时间一直比较迷茫到底要往什么方向发展,虽然大致有一个软件开发的方向,但具体的职业规划也没怎么想过。不过最近倒是下定了决心,往游戏开发行业发展,大致的职业规划路径是这样的:

由于我本身计算机的能力并不是十分扎实,也只是达到了会写代码的程度,算法和数据结构,以及计算机架构、计算机网络、图形学方面都没有深入了解。因此一开始就考虑开发岗位多少有些不太靠谱,但具有一定的开发能力也确实是我自身的优势,因此决定从游戏策划(游戏设计师)入行,然后往两条线路储备知识。

更多的知识储备是为了避免自己在将来被淘汰,不过这里假象的竞争者并不是人,而是人工智能,因为低端的岗位终将会被人工智能所取代。而游戏行业终究是一个艺术性高于技术性的行业,而人工智能永远无法创造艺术。

初级策划 ---> 策划组长 ---> 主策划 ---> 制作人
          |
      └-> 初/中级 Gameplay 开发 ---> 高级 Gameplay 开发
                                 |
                     └-> 图像引擎开发

一方面,在策划岗位上积累游戏设计的经验,另一方面在空闲时间弥补自己所确实的开发的知识,例如数学相关的计算机相关的知识。这样使得自己可以应付 Gameplay 开发(游 戏玩法实现)的工作,并且在数学和计算机知识充足之后,学习图形学相关的知识,增加图像引擎开发的选项。

除了上述这一点外,同时积累游戏设计和游戏开发的知识,可以帮助自己更好的去开发自己真正想开发的游戏。工作之余自己做一个游戏,然后在 Steam 上面销售卖钱,增加一份收入岂不美哉。那千万亿分之一的几率,万一自己的游戏出众了,不也还赚了名声?

当然,这一切还是要自己脚踏实地,比别人更加努力才能做到。

技术定向

上半年看完了《C++ Primer》,具体时间倒是记不清了,大概花了 4 个月左右,总的来说算是比较慢的了。之后用 C++ 来做实际应用的情况还比较少,唯一的一个就是目前正在进行的一个编程语言的项目。

浪费了很多时间,因此本来预期读的书许多都没有读,这给我留下太多的遗憾。所以虽然以后工作了,自由时间会变少,但依旧给自己安排了一定量的读书时间。

因为确定了职业的方向,然后做了简单的职业规划,但自己学得的这些东西并不愿意丢弃,所以大致确定了今后的技术方向是 .NET/C# 和 C/C++,其他方面就不再去钻研了。前者主要服务于自己的实际工作,因为现在大部分游戏公司都是用 Unity 引擎开发游戏,而 C# 则是 Unity 开发的脚本语言。而后两者主要是自己的项目中使用。

当然,这并不意味着我不去学习其他东西了:函数式编程、编译原理,这些我感兴趣的东西还是会去了解一下,但并不会在之上投入更多时间。我自己的时间将会投入到游戏开发、游戏性能调优、游戏引擎开发以及计算机基础组件这些方面之上。

个人项目的回顾

去年定下的个人项目之一,一个取代 hugo 的软件。上半年实际上已经做出来了,因为静态网站生成器并不复杂,所以很快就靠着各种第三方库完成了,但因为使用模板引擎性能太差(读取和解析 Markdown 都十分迅速,但模板引擎的性能足足将时间拖到了 nodejs 程序的水平),导致我直接愤怒地将整个项目删除,我甚至连源代码都没有留下。

所以前两天我又换回了 hugo 。

而记录简短信息的平台,并没有能够做出来,因为我发现自己并非那么愿意表达想法的人,但我终归需要一个可以方便的记网络上的内容的笔记,所以我发现了 logseq 这个双链笔记软件,我现在的许多内容就都记录在后面。

上半年我还搭建了一个知识库,用的是 dokuwiki,但因为编写起来实在比较麻烦,而且功能缺失严重,还是打算将里面的内容尽快迁移出来放在 logseq 之中。

DocScript

虽然静态网站生成器的项目失败了,但它的失败原因是我在今年开启一个项目的原因,最初只是想写一个自己的模板引擎,随后便想着让它更泛用,最后就变成了这个项目——一门专注于文本格式化的通用编程语言 DocScript。

虽然现在有一个 GitHub 的 Repository 但 由于各种原因,包括:代码的组织过于混乱,并没有实现我期望的模块化的设计;语言的设计还不稳定;标准库的设计一改再改。估计会先删除 repo,等我编写完 Specification 之后,再将模块化后的解析器、解释器、标准库,在 GitHub 上面公开。

个人项目的展望

我今年是不止一次受够了 Visual Studio Code 的各种问题,虽然对于一些人来说并不算是问题,但对我来说则十分难受。例如根据工作空间加载插件的配置文件,并不是在工作空间的目录下面的,而是在很深的目录之中;再有就是插件可以随意新建文件与文件夹,虽然这一点的存在让 vscode 拥有极高的可定制化程度和可玩性,但多少也增加了使用的风险。

我也曾考虑使用 vim 或者 GNU Emacs 进行替代,但是前者的 vimscript 实在难以被人类理解,后者在 Windows 的性能又出奇的糟糕,最终发现或许还是只有自己开发才能满足自己的需要。

这个编辑器应该还是会继承 emacs 的设计,使用一门 lisp 作为脚本语言,然后连光标移动等功能也都是函数形式的,提供最大程度的扩展性。但又拥有 vim 一样简洁的设计。

而且现在语法高亮、自动补全也都有 Tree-Sitter 和 LSP (Language Server Protocol) 这样的第三方方案,实际上编写一个编辑器,实际上更多的是在写底层的内存管理与图形界面的绘制而已。

未来

在家的日子,总是那么安逸和平淡。至少就我而言,家确实是一个避风的港湾,外面那些事情都可以抛在脑后。但这也使得我的年度总结文章看起来那么无趣,明年就要真正的踏入社会,既紧张也兴奋。

希望明年的年度总结与展望,内容可以更加丰富一些,不要再是自己的技术与人生规划,更多一些生活的内容。

标签: none

添加新评论