【游戏编程扯淡精粹】工作两年总结

【游戏编程扯淡精粹】工作两年总结

大纲

正文:

  • 做了什么,接下来做什么?
  • 如何阅读《游戏引擎架构》
  • Roadmap & Milestone
  • 个人知识系统
  • 个人技能成长的依赖倒置
  • 最大的问题

附:

  • 一些简短的建议

一些简短的建议

  • Rule No.1 到点下班
  • Rule No.2 长期主义
  • DRY = Do not Repeat Yourself
  • KISS = Keep It Simple and Stupid
  • GTD = Get Things Done
  • Done is Better than Perfect

做了什么,接下来做什么?

工作内容其实就是普通的初级游戏业务开发

第一年在网易做了一年服务端,今年转去腾讯做客户端

起了一个小游戏引擎,花了3年

下班从零开始起了起了一个小引擎项目ZeloEngine,Zelo是零的意思

麻雀虽小,五脏俱全,我将所有学习到的知识都落地到这个干净的沙盒中,它不是一个渲染器,而是一个架构+模块的集合,渲染只是里面的一部分,它会包含服务器和编辑器

zoloypzuo/ZeloEngine: Game Engine in C++/OpenGL/Lua

构造了一个完整的个人知识系统,花了6年:

  • 大量阅读
  • 动手实验
  • 总结笔记
  • 输出文章

接下来:哎算了保密。。

Roadmap & Milestone

miloyip/game-programmer: A Study Path for Game Programmer

路线图已经在这里了,非常的全面,大部分人都没有milo的经历,我建议每个人应该裁剪一下这个图,走出自己的游戏程序员之路

探索的方法很简单,从一个根节点开始进行广度优先搜索,将看过和和没看过的分开,在二分图的边界上进行探索,并果断地进行剪枝,放弃不需要的分支

【游戏编程扯淡精粹】工作两年总结_第1张图片

我认为时间点上,里程碑大概在入行3年和5年的时候

  • 3年,所有模块都要过一遍,知道是什么,API熟悉至少一套,确定自己对哪个模块最感兴趣,最想深入发展
  • 5年,选择的兴趣模块做到比身边人不研究的人都强(要求够低了吧,这就够了),能处理魔改和研究性质需求,别人一提到这个模块就来找你,其他模块做到人手不够你也可以顶上

如何阅读《游戏引擎架构》

我当时购买的是第二版,已经看烂了,这本书的各种版本都很容易获取

【游戏编程扯淡精粹】工作两年总结_第2张图片

如何阅读,其实书中序言已经讲明

【游戏编程扯淡精粹】工作两年总结_第3张图片

书中的架构图,我基本上通过ZeloEngine过了一遍所有模块

已实现 ⚫ 已放弃

个人知识系统

个人知识系统:

  • 大量阅读
  • 动手实验
  • 总结笔记
  • 输出文章

其实是一个流水线,有输入有输出,有落库记录

这里有一个建议,一个问题:

  • 建议:有比没有好,尽早开始
  • 问题:知识的损耗率非常高

我的建议是,有比没有好,尽早开始

类似的复杂定制系统,从一个简陋的开始做起,慢慢迭代

时间会淘汰掉花里胡哨没用的东西

规模(scale)会淘汰掉有致命欠考虑点的东西


90% ^ 5 = 50%

这里的问题是,知识的损耗率非常高

有机合成里,每一步产率90%的合成路线,5步之后,总产率其实只有50%了

所以,所谓“知识没用,掉书袋,ppt大神”是确实存在的问题

我的思路是:

  1. 大量输入,大量阅读,提升品位
  2. 尽早剔除,尽早放弃掉不感兴趣的方向

所以努力的功夫其实在这里,大量地阅读,包括看书,看电影,玩游戏,听音乐

个人技能成长的依赖倒置

有的人的思维是这样的

A 我去学渲染,我要把渲染学的牛逼
B 好,假设你学好了渲染,然后呢?
A 我去做游戏,做引擎
B 然后呢?你就做出来了?

这是单点思维,没有前因后果,没有动机和目标

我们很擅长把一件事做好,但是我们不知道为什么要做它

你应该反过来想

我要做游戏

做游戏需要哪些技能,每个技能是不是必要的,需要多少熟练度

现在反问一句,做出游戏和渲染牛逼有多大关系?游戏牛逼和渲染牛逼有多大关系?

我回想起当时想入行的时候,我只是想做一个游戏

五年过去了,我学了一堆的知识,点了程序专业的技能树,写了解释器,写了小引擎,做了Demo,但是仍然没有做完一个游戏

PS Demo无法scale到一个游戏

知识和努力的损耗很大,我必须时刻提醒自己为什么要做这件事

最大的问题

最大的问题,其实不是技术,而是内心的焦虑,以及空虚

这当然和时代有关系,我认为是,十年苦读,最终成为打工人,每天进行低级重复劳动,导致的价值认知崩坏

读完上面这一段,你或许认为我矫情,或者是不够努力不够聪明导致“失败”

如果是这样,我建议你看一下演讲《温和的成功哲学》

【TED】温和的成功哲学-网易公开课

太长不看,提炼的相关论点是这样的:

  • 对职业和地位的势利,用职业标签来判断人整体价值
  • 对物质的贪婪追求,本质是精神的空虚
  • 嫉妒,以及同龄人压力
  • 运气很重要,不幸的人 vs 失败者,不应该觉得失败者是活该

最近一年有两件对我影响很大的事件:

第一是,2021年12月,毛星云跳楼

第二是,2022年4月,我被关了两个月的禁闭,肺癌晚期的外婆在解禁前去世,不能见到最后一面

这两件事没有什么道理的,只是亲身经历之后才会深刻认识

其实只有死亡是众生平等的,只有死亡才是最终的终点

而 “引擎组 > 业务组”,“渲染图形学 > 其他一切”,职级比较,薪水比较,都是人为自己给自己创造了比较(非游戏程序岗位,可以适当换成其他比较项目)

这种比较的焦虑,来自同龄人的最为严重:

你不会在意总监比你牛逼两个数量级,但是你会在意校招一起入职的同事(同年)的职级比你高一级,薪水比你多1k

有的人说,化压力为动力,我相信这种人是没有进行过长达五年以上的持续努力的,大抵只有三分钟热度,一件事只能维持一个月的热情

当你投入一个新领域时,你的热情很高,经验为零,你的压力和焦虑,会被大量新学到的知识经验的成就感,获得感给平衡掉

随着经验的提升,到了某一个槛,比方说三年,你能学到的新东西的速率就开始急剧下降了,而你的焦虑并没有下降,问题来了,你付出的努力与获得不成回报,你还很焦虑,你接下来怎么办?

结论是显而易得的,长期的发展不能依赖于压力焦虑和成就感,必须要在低焦虑的环境下度过平台期,稳定地成长

实际上,根据我个人的情况,我认为刻意地降低焦虑是必须的,因为大环境大家都很卷

你可能感兴趣的:(游戏编程扯淡精粹,游戏,c++,开发语言)