前几天翻 Unicode 字符表,发现里面居然有整套麻将、扑克牌,还有各种奇奇怪怪的符号。
于是有了个想法:能不能只靠这些字符,做一个体积只有 2KB 的网页小游戏?不用准备图片素材,光是想想就觉得挺有意思。
最初得到的东西看起来像游戏,但根本不能交互。
这就有点尴尬了。明明画面已经有了,却不能算真正做出了游戏。字符摆在页面上,离让人玩起来,还隔着规则和操作。
后来我把限制放宽到了 20KB。
但仔细想想,问题其实不在于多出来的 18KB,而在于我们到底想做什么。
一个游戏至少得能操作、有规则、有反馈。否则即使压缩到了几百字节,又有什么意义呢?体积当然有价值,限制也能逼着我们取舍。但如果为了守住数字,连最基本的交互都舍掉了,就已经偏离了最初的想法。
Unicode 确实可以省掉不少图片素材,但也不是没有代价。不同设备上的字符可能长得不一样,还要考虑字体是否支持这些字符。省下素材的体积,并不意味着这些体验问题也一起消失了。
这件小事让我重新想到一个挺常见的问题:我们总是很容易把某个可量化的指标当成目标。
比如更小的体积、更少的代码、更快的开发速度。数字很好比较,也很容易让人觉得自己在进步。但这些指标只是约束或者手段,不能替我们回答:这个东西到底做成了什么?
对这个小游戏来说,体积应该服务于可玩。先确认它能让人玩起来,再讨论还能压缩多少,才有意义。
真正重要的,还是那个东西到底有没有解决最初的问题。