可以给大家分享一下我的游戏经历,首先表态一下,我并不是大家理解的老一辈说玩物丧志的那一种态度,恰恰相反,我非常能理解打游戏的状态,也曾经很享受打游戏的感觉。
小学时候,经常打街机, 每天省下早餐的钱,就为打恐龙快打和三国志,可惜那时候财力不足,每次只能买几个币,所以和大家一样,永远都在打前几关
高二的时候有了自己的一台电脑,宏碁的砖头笔记本,赛扬处理器,256MB 的内存,那时候花了巨款 8500 块大洋买的。每周最开心的就是周末放学,可以买一本叫 “电脑迷” 的杂志,那个杂志最吸引我的是它自带的光盘,可以体验很多新潮的软件、MP3、电影和游戏。现在的小朋友都用上 U 盘和固态硬盘了。我那台金贵的电脑自带软驱和光驱,每当电脑迷的光盘插入光驱的时候,最让人沉迷的就是那种光盘在光驱中加速旋转的声音,呜…….呜……呜…..呜…呜..呜呜呜呜呜呜的声音,再配上光驱外闪烁的小绿灯,闪烁的越快,表明光驱读取越快,特别是加载 MV 和游戏的时候。一般我都玩一些小游戏,记得有一年,电脑迷的光盘带了一个 “半条命” 的三维游戏,我花了整整 10 分钟才把游戏装到电脑上,还有 Windows XP 那独特的绿色进度条。我记得那天晚上是第一次玩游戏通宵的感觉,确实很好玩,阳光渲染很细腻,解密风格的剧情也非常过瘾,关卡设计的非常棒。
高三主要玩各种 Linux 发行版,和大家一样,那时候编程水平接近与零,玩了各种软件后也觉得没啥,主要不知道除了装系统和各种奇奇怪怪的软件有啥用。后面开发手机游戏主要就是打各种 PC 飞行游戏,因为飞行游戏可以通过录屏获得游戏的精灵截图,再通过 PS 橡皮檫给手机游戏提供素材。但那段时间玩游戏主要就是为了找工作,所以没有什么游戏的体验感,更多是希望早日做出一款自己的游戏,找到工作,能独立的在社会上生活。
成都那一年,通过我自己的手机游戏获得一份还不错的工作(第一份工作 1200,第二份工作 1800),作为一个游戏开发者,肯定要打大量的游戏。那时候公司每周都要打一款游戏,开着外挂打,研究它的关卡,我现在都还记得,我开着最后一关的外挂玩孤胆英雄的场景,满屏幕都是顶配武器的闪光,从头炸到尾,除了异形、主角和外挂,啥都没看到,更不用说享受了。所以,很多朋友说以后梦想是游戏开发者的职业,而你内心其实只想学习技术,我不建议选择游戏开发者。把乐趣玩成了工作,就不好耍了。
但是成都那两年,我玩的游戏最多就是两个,幻想坦克和 CF,CF 主要就是玩 AK 和狙,要比较一下的话,我还是最喜欢 AK, 拿着枪直接奔着对方的大本营突突突,我不喜欢打策略和卡关卡 bug,我就喜欢直接冲过去突突突。当我的游戏开发同事都在玩星际、魔兽和红警的时候,我偏偏喜欢玩一款游戏,幻想坦克,一个联网的游戏,和世界各国的人选择大中小三种坦克,我最喜欢小坦克,跑的快,也是跑到对方面前突突突,我记得那时候有一个新加坡的小朋友和我玩,偶尔还可以用英语对一下话。但是我总玩不过他,最后我才知道他的 ping 大概在 5ms 左右,我的 ping 总是在 50ms~60ms,突突突的频率没有他高。
其实,我特别想和大家分享我在成都打游戏的心理。那时候我开发手机游戏的水平还可以,基本上一周出 Demo,一个月开发玩游戏第一版,第二个月做十几款手机的适配(主要是内存、按键和系统适配),我做的游戏,一般都是 3 个月左右上架百宝箱的。但是操作系统和底层技术也是菜的一批。那时候心比天高,就想有一天技术变成天下第一,每天都心高气傲,也在努力学习,但是后来才知道,操作系统和底层技术,不是一年两年能练成的,要花上 10 年以上的时间才能练成神功。成都的时候年轻,心高气傲,看谁都不服,还非常愤青。因为知识基础不牢,看到一些牛逼开源代码看不懂,就很生自己的气,觉得自己成长太慢了,所以我年轻的时候和大家一样,也在不停的心里内耗,不停的内耗最后结局就是,能力跟不上梦想。这样的心情时间长了,就想下班打游戏,逃避对自己的失望。我记得有几个月,基本上就是上班开发游戏,下班疯狂打游戏,CF 可以一直打的那种。
老婆大人说我也不管用,实在好几次受不了,就严厉的说我。被批评地惭愧了,就装 Linux 系统,最早是 RedHat 6.0, 后面 Ubuntu 全球送光盘就用了 Ubuntu。那时候我的自制力太差了,过了批评的风口,又把 Windows 重新装回来打游戏,你们今天认为的大神,年轻的时候和你们一样,控制不住自己。就这样来来回回折腾了几次,游戏根本就戒不了。
我天性喜欢折腾和玩,戒掉游戏的根本就不是因为以后要成家立业,要努力,我和大家以前,对这些大道理天生反感。真正戒掉游戏的原因是我发现比游戏更好玩的东西 – Emacs,Emacs 最早就是一个丑丑的编辑器,没啥特别,我读了很多 RMS 的文章,觉得这个人太牛逼了,啥都自己造。当时我一定要学习 Emacs 的精髓,从 EmacsWiki 到处抄配置折腾,到最后花了三个月下班的时间耐心啃完 Elisp Manual 后,我突然有一天发现我以前看不懂的 Elisp 插件瞬间都可以看懂了,那种感觉就想打通了任督二脉一样,我从折腾插件到写插件,写 Emacs 插件的过程中,我体验到另外一种快乐:打游戏是那种我现在不管不顾,我就要现在爽的感觉,但是打玩游戏又因为赚钱少和现实的压力,有很大的负罪感,不可持续。但是写 Emacs 插件不一样啊,自己写代码做自己的插件,就像玩我的世界一样,所有的游戏规则都是自己定的,而不是在别人的规则中挑战自己。而且折腾的过程中会实践非常多的命令行工具用法,那段时间我的 Emacs、Linux 能力突飞猛进,代码的水平也越来越高。每天脑袋里都有很多新的想法,下班就迫不及待写新的代码去做实验和验证猜想。
成都的晚上是非常凉快的,不像武汉。我记得很多个夜晚,我打开窗户,夜晚的风吹到我的书桌,我一个人勾着背,眼神专注到呆滞,心里感受异常复杂,有大胆猜想的刺激,有水平不够的挑战,又有不断查资料的不放弃,每过 10 分钟,你对电脑的理解仿佛都会深入一点,用金庸的话说,仿佛电脑看着我骨骼清奇,愿意教我一招半式,不断的在跟我输送内力,让我的武功每天都有巨大的变化。那段时间我搞清楚了 Linux 的底层其实就是文件和通讯,结合各种工具来叠加魔法;搞清楚了 Elisp 的热替换本质是非常 Mini 的不变 C 内核 + 解释器 + 动态的 Elisp 脚本,像不像懒猫微服现在的三层架构?明白了输入法的注入机制和 IMContext 的原理;明白了 Linux 文件系统和驱动的机制。你知道吗?每天起来,底层技术的理解更加深入的这种无限游戏要远远比打游戏要过瘾很多,它能给你带来非常有效的正向激励,而且你不用担心荒废时间,今天所有折腾的 Linux 知识将来都是你工作和人生的财富。
回到最开始推友的问题,我最后不是对游戏这么反感,而是我找到更好的游戏,Linux 和 Emacs,在折腾 Linux 的时候,我看了很多开源和自由软件的故事,阿桑奇、Kevin、RMS、Linus、卡马克、唐凤、Dons Stewart、SPJ……这些当时我要仰望的大神,他们的故事、做事的方式一直都在激励我更好的学习计算机,当我越学习深入的时候,越觉得自己啥都不懂,就像今天下班我还在和系统工程师讨论硬件休眠后 S3 阶段寄存器的问题,享受那种第一性原理下思考的逻辑之美,因为答案只有最根源的那一个,知道底层原理的爽快,那可能就是作为工程师基因最朴素的浪漫吧