9岁那年,我写了一个游戏

长大后我才看懂那行代码


小学三年级,我花了一整个国庆假期,写了一个游戏。

它名为《你的世界》(yourcraft)。

不是什么大作,一个纯文字的回合制 RPG,仿 Minecraft 的那种——玩家打僵尸、打骷髅、攒钱买药水、获取经验升级、最后挑战Boss。

代码 1300 多行,放在今天可能一个下午就能写完,但在 9 岁的我眼里,那是整个世界。

那是我人生第一次意识到:原来我可以凭空创造一个世界。


一、别人在刷题,我在做游戏

当时我在一个 NOIP 题库网站上刷题,是老师推荐的。题库第一题是 Hello World,它的讨论区里,全是大家发的游戏:打飞机、贪吃蛇……还有人互相复制再发一遍。

我不喜欢刷算法题。那些题做完就忘,看不到意义。

但游戏不一样。游戏有玩家、有反馈、有"我做的东西被别人玩到"的实感。于是我花了整个国庆假期,写出了我的第一个作品。

写游戏的过程中,我遇到了一个"难题":怎么生成随机数?

我不会。于是我上网搜,学会了,立刻用进游戏里。

不是为了学编程而写游戏,是为了写游戏而学编程。

这是我后来才想明白的事——这大概就是"需求驱动学习":遇到什么学什么,学完立刻用,用完它就变成了游戏里的一部分。


二、9岁的数值平衡和细节设计

现在回想,我最惊讶的不是"我居然写出来了",而是我当时做的事情,和设计产品是同一套逻辑。

游戏里有个商店,卖三种治疗药水:

  • 50 金币,回 100 血
  • 150 金币,回 350 血
  • 400 金币,回 1000 血

我凭直觉定下了一个规则:越贵的药水性价比越高,但不能高到离谱。

如果 100 金币能回 10000 血,那游戏经济就崩了。我当时不懂"边际效用"这个词,但我凭感觉做对了。

贵的确实更划算,但便宜货依然有它的意义。

游戏开头会问玩家:"是否开挂?(y/n)"

我当时就知道,玩家可能输入"是"、"Yes"、"Y"。

所以我只给两个选项:y 或者 n。

商店里还有个商品:河豚,10 元。文案写着:"建议不要买"。

买了会怎样?

system("shutdown -s -t 1"); 电脑直接关机。

三、从初代到II代:一次无师自通的系统升级

《Yourcraft》后来出过第二版。初代的怪物血量是写死的:僵尸 100,骷髅 200,女巫 400。

每一次战斗的结果都可以预判——打一次就算得出要打几下。

II 代里我做了两个改动。

第一个,引入随机数。怪物等级随机,血量 = 基础值 + 等级 × 10,攻击力也随等级浮动。同一个森林,你遇到的可能是 2 级僵尸,也可能是 9 级僵尸——战斗第一次有了不确定性。

第二个改动:我在文件开头写了一大段注释,列着下次要更新的内容:锻造系统、宠物、抽奖、黑市、凋零、魔(末)影龙。这是我自己的产品路线图。

关于这两个 Boss,我还记得当时的原始设计:

凋灵——攻击有概率附带凋零效果,接下来几个回合持续掉血;也有普攻和高伤害大招。

末影龙——会召唤末影人。末影人每回合有概率发动攻击,数量有上限,自身也有血量。玩家的注意力必须被拆成"先打谁"。

不过末影人的机制太复杂了,当时就没做。

我不懂"随机性提升可玩性",不懂"管理迭代"——但这些事我 9 岁就做了。


四、我的游戏,被别人复制了

游戏发到讨论区之后,发生了一件事,我记到今天:

那些被反复复制的游戏里,逐渐出现了我的。别人也开始复制我的游戏了。

那一刻,我心里冒出一个念头:

"如果这个游戏以后火了,怎么证明是我写的?"

9岁的我,第一次有了版权意识。不是生气,不是去骂人,而是认真地想:怎么证明原创性。

有个用户私信我,自称是一个做游戏的团队,邀请我去一个叫"洛谷"的平台。

现在想想,他们大概也只是玩玩的高中生,不是什么认真的商业团队。

但那是我第一次被"圈内人"注意到。


五、最后

后来我再没去过那个题库网站。

但那份凭兴趣做事的感觉留了下来——从写游戏,到写代码,到做产品,到写这篇文章。

我一直在做同一件事:把自己脑子里觉得有意思的东西,变成别人也能用的东西。

但造出一个自以为有用、实际上没有市场的东西,是没有意义的。

“做产品最忌讳闭门造车”,这句话我花了十几年来验证,现在想明白了:

创造的意义,不在于造了什么,而在于它有没有被用起来。

如果我的思维模式有源代码,那这份代码的初版,就是那 1300 行的《你的世界》。


---

我是 Prom1seCN,一个相信"做出来并让更多人用起来"的独立开发者。