【闲聊】游戏开发来谈谈高中有辍学做游戏的必要吗

(语音识别转换了一下文本。小华聊得很诚恳观点很温和,值得认真看看。)
全文:视频不是说要攻击谁或批评谁,而是从我的角度出发,看如何做出更好的选择。
最近高中生辍学做游戏的视频引起了很多讨论,如果去 unity 和相关的百度贴吧,会发现很多类似的帖子比如初中自学unity,在家苦干三个月等等等等,基本上就是几个场景贴图说一下未来规划,但其中大部分都没了下文。年轻人有志气是好事儿、但他在这件事上成功的可能性是比较小的。我能理解他现在对游戏狂热的喜爱,因为创作过程本身就是一种激励。再加上创作游戏是一个能看到即时反馈的自我表达的过程。你可以用引擎很低成本做出非常炫酷的效果。比如说做个移动,搭个场景拖进去几个插件。立马就能看到效果,肯定是一件非常有成就感的事儿。但是做游戏绝不是一个用unity搭场景的问题,这是一个横跨项目管理、人员管理、产品分发等领域的一个复杂情况。软件可以暂时帮你从零到一,但是从一到100需要更多更多的东西,这些大部分是枯燥基础无趣的。有甚至需要几年的积累。对于很多人来说这会比上高中更枯燥更难。
从他的游戏和工作室来说,就是不成熟的。游戏本身我不做点评了。首先没有任何实质性玩法,视频中也体现不出来他做了哪些部分。从视频中能看出一个比较具有普适性的问题,就是作为一个产品的负责人,必须从产品的整体出发,最大化开发效率和开发进度。在游戏的基础玩法都尚未实现,团队内成员分工尚未明确的阶段,它有一个200人的巨型团队,把自己全部的精力都放在场景摆设和性能优化这种无关痛痒的任务里面,会非常大的拖慢开发效率。这是很多初级管理者常犯的错误,去干我能干的,而不是干我该干的。用工作上的假性勤劳去掩盖战略上的懒惰。
拿程序来讲,想做游戏开发绝不只是会用游戏引擎就够了,坚决不能以代码能运行作为唯一的开发标准。比如说软件工程中常见的数据结构与算法,如果这方面基础不牢固,软件开发的过程中会出现很多性能问题而不自知,比如混用链表和动态数组,滥用暴解算法,混用底层数据和运行时数据等等等等。深层次的比如说计算机系统,虽说游戏引擎会帮你屏蔽掉一部分系统底层的操作,但是当项目开发到一定阶段时,会遇到诸多类似硬盘带宽管理等问题,而开发网络游戏也会牵扯到计算机网络框架,网络组成结构、数据包路由等问题。
计算机网络的涉猎范围非常广泛。除了游戏本身,对于开发游戏的流程、工具也是非常有帮助的,甚至日常生活中都是能用到的,比如家庭内网搭建、虚拟内网等。而微积分、离散数学物理、概率论这些虽然不会直接参与到代码编写过程,但是实际开发中频繁遇到的游戏机制,比如抛物线扔炸弹或者弹道设计等,或者作为渲染算法的理论基础,这些都是相辅相成、密不可分的,学习的过程都很难看到及时反馈,尤其像数学,只有真正喜欢才不会觉得它枯燥。当然也不是说非要上学才能学到这些东西,只是说大学学的这些东西都能帮助到你。还能让你拓宽和重塑对这个世界的看法和理解,更何况都高二了,孤掷一注辍学的性价比太低了。
只有一个高度不成熟的、浅薄的、感官化的社会,才会迷恋青春和神话。年少成名,其实高中有这个觉悟,我觉得已经超过很多人了,完全可以稳着来,没必要去赌。但既然他已经辍学了,而且现在斗志昂扬,那他想搞游戏就做做试试呗。我的观点是上完学再去打工,因为辍学带来的负面收益可能会很难承担。其实上大学就可以去做游戏了,还会遇到很多志同道合的好朋友。