最近《Pokemon Go》大热,Pokemon 再次走入大众眼中。作为 Pokemon 系列的老玩家,忍不住跳出来聊聊这块的童年往事。这次只说 IT 相关的片段。

0.

第一次接触 Pokemon(下称 PM),是通过电视上热播的《宠物小精灵》TV 动画。没记错的话,是 98 年时福建电视台引进的。此后对 PM 的热情便一发不可收拾。这是背景。

1.

最初,并不知道 PM 有游戏的存在。小学四年级第一次拥有电脑后,在一张 CD 光盘里找到了一个 GBA 模拟器及一堆游戏 ROM。模拟器是英文的,当时不懂英文,所以加载游戏、键位设置等操作,全靠瞎摸。无意中加载到了 PM 的游戏,玩了一会儿后感觉有点眼熟,才发现这不就是宠物小精灵嘛!(现已官译作精灵宝可梦。)

2.

后来才知道,这是 GB 上的《金版》,标志神兽为凤凰。游戏 ROM 不知是哪来的盗版,语言是乱码,所以游戏内文字全都看不懂,游戏操作全部靠猜。

由于是在 CD 上玩,游戏进度没法保存(模拟器默认将存档放在 ROM 同目录下),所以每次进入游戏都会从头开始。印象中玩得最远的一次是走到了第三个小镇。当时不懂原理,想尽办法保存进度均未成功。后来无意中将 CD 内的文件复制到电脑上后,终于可以记录存档。此后便沉迷于游戏世界,游戏累计时长约有数百小时。

3.

小学时,家里还没有通网。在别人家上网时,偶然间发现 PM 将有新版本《红宝石·蓝宝石》发布。没过多久,就在网上找到了新版 ROM 下载,大约 7MB。然而,家里下载不到,怎么办!

当时没有网盘这种东西,即便有,家里也上不了网,所以只能通过物理搬运。在那个年代(02 年),存储介质是个很贵的东西,一个几十 MB 的 U 盘要上百块,我的电脑硬盘总共也才 30 GB。手头上唯一有的移动存储,是几张 3.5 英寸软盘。要将 7MB 的 ROM 塞进只有 1.44MB 的软盘里,再怎么极限压缩也做不到。

万般焦灼之下,几乎没有技术背景的我蹦出一个想法:切割!能不能在压缩时将 ROM 切割成多份,放到数个软盘之中呢?没想到,还真可以。各种摸索后,我成功将 ROM 切成 5、6 份放到软盘中带了回家,开始了与 PM 蓝宝石数百小时的没羞没躁生活。现在回想起来,还真佩服当时作为一个小白能想出这么个办法,真的是为了游戏什么都做得出来。

3.1

这是后话了,后来,我还是花私房钱买了个 32MB 的白色 U 盘,大出血 99 块钱。再后来,我直接把自己电脑的硬盘拆下来,背到别人家上网下载。后来不经意间,软盘已经彻底消失了。

4.

伴随着游戏热情的高涨,我在网上论坛的活动也越来越积极。从灌水,到写心得、编攻略。在“口袋吧”论坛上,我逐渐从小会员,晋升为版主、区版主,再到坛主,进而成为中高层管理员。这期间熟练了很多电脑/网络操作,也对一些初级管理方法有了经验和心得,这对我今后的互联网发展有了很大的帮助。

5.

精灵图鉴是 PM 系列里的一个永恒话题。论坛管理员里有一位大神懂得编程,于是准备做一套网页版精灵图鉴。具体实现原理,现在已记不清楚,只记得是他先为每只 PM 生成一个文件,然后我往里头复制粘贴资料。由于熟悉电脑操作,我对自己的手速很有自信。但没想到的是,对方通过程序生成的文件源源不断地发送过来,我的手速根本赶不上。然后大神说了一句:“这是电脑在玩你,不是你玩电脑。”

这说不定是我走上码农之路的一个契机。

6.

为了能单机捕捉到所有的精灵,民间玩家开始对 ROM 进行修改,网上开始流行起能捉完精灵的“386 版”,能提供 386 版下载的网站将获得更多的人气。当时 PM 的下一代游戏《火红·叶绿》刚出,没过多久,竞品论坛“PM525”就率先推出了火叶 386 版。为了给论坛抢夺人气,我决定我们自己也要有一套 386 版。

不会做怎么办?偷师呗。于是偷偷加了作者的 QQ,假装是个普通的爱好者前来学习。好心的作者很快告诉了我修改方法,并表示“这些写个程序 10 分钟就能搞定”。

不会写程序的,只能手工改。具体做法是,使用 UltraEdit 以 16 进制形式打开游戏 ROM,通过一些规则,使用精灵编号来搜索精灵栖息地的内存地址,然后即可修改这片栖息地中可以捕捉到的精灵。这里头,一切数值均要换算成 16 进制。整个游戏内有多少片栖息地、有多少只无法捕捉的精灵,就要搜索/修改多少次,而且要根据精灵种类,将其合理分配到不同栖息地中。最终游戏里要能抓完 386 只精灵。

当时已上初中,只有周末才能摸电脑。周六晚上偷完师,周日花了一个白天修改完 ROM、上传 FTP、论坛发布,然后傍晚吃饭回校自习。第二周回来,发现作者把我拉黑了。后来,我的 386 修改版是网上流传得最多的一个版本。

现在回看,是再也没有这种毅力去手动修改几百个 16 进制内存地址了。然而直到现在,作为一个码农,我还是不懂如何写个程序 10 分钟搞定 386 版。

7.

初中的时候开始自学 VB 编程,下课回家就抱着入门书籍来看。期间一直想做一款自己的 PM 游戏。

由于 PM 是像素游戏,所以网上很早就破解出了各种素材图片。我便用 VB 的 image 控件加载素材图,拼接成地图、人物,再通过键盘 key 事件来控制人物的位移。由于全部从零开始,一些基础问题困扰了我很久,比如移动时的边界碰撞问题等。多年后才知道,这些都可以交给游戏引擎完成。

8.

当年还是 ASP 的天下,正好 ASP 可以用 VB 语法,玩腻桌面程序后,我便开始投奔 ASP 网站开发了。最开始时,不懂 HTML,全靠复制粘贴,编辑器用的还是 FrontPage(后来变成 Dreamweaver),布局还是用 table,样式设计也全都靠抄。

当时日本的个人 homepage 很火,许多懂得绘画的画师都有自己的个人主页,装修精致,里头会挂上自己的 CG 作品。我也便照葫芦画瓢做了好几版自己的个人网站,网站上挂一些别人的 PM 同人绘画。为了有个性,还专门请过论坛里的画师来帮忙画网站顶部 banner 图。虽然没啥访问量,但心满意足。

后来熟练了,便开始帮论坛做精灵图鉴,语言仍旧是 ASP,数据库是 Access。当时论坛成为为数不多有程序化精灵图鉴的网站。

9.

上高中后,由于时间关系,就越来越少机会玩 PM 游戏了,也逐渐淡出了论坛。后来上了大学,又用 WordPress 作为框架写了个可自助修改数据的精灵图鉴(以前只能开发人员手工改数据库),这算是最后一作了。

再后来,就到了现在。

一个贯穿童年的游戏。

这都是情怀。