产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

口述历史:诺基亚经典游戏《贪吃蛇》的前世今生

  • 2019-09-20
  • 本文字数:3324 字

    阅读完需:约 11 分钟

口述历史:诺基亚经典游戏《贪吃蛇》的前世今生

Taneli Armanto 堪称手机游戏界的无名英雄。在今天的访谈中,我们有幸见到了这位曾在上世纪九十年代后期为诺基亚 6110 机型开发出《贪吃蛇》这一大作的芬兰软件工程师,听听他如何评价手机游戏这个如今价值上千亿美元的行业。**



Taneli Armanto 不喜欢炫耀自己的辉煌过往。事实上,除非您是他现实中的好友,否则我打赌各位根本就没听说过这个名字。他也从来不会主动提及自己人生中最大的成就——他的孩子们倒是一有机会就要拿出来说上一说。


毕竟,他们的父亲开发出了《贪吃蛇》。


那时候是 1995 年,Armanto 这位芬兰软件工程师刚刚加入一家正在快速发展的公司——诺基亚。他本人已经拥有一定的游戏从业背景,因此当时他的主要任务就是在即将推出的诺基亚 6110 手机上开发“一些酷炫的小游戏”。但他倒没有把游戏特别当回事,在他看来自己的工作跟同事们开发的计算器或者日历并没什么区别。


近 25 年之后,他创作的《贪吃蛇》被视为科技与娱乐行业的一大重要转折点。事实上,《贪吃蛇》成为一款极具份量的手机游戏,甚至可以说为如今价值上千亿美元的手机游戏行业奠定了发展根基。


Armanto 在谈到自己的职业生涯时,显得非常低调而谦和。他表示,“当人们听到我与〈贪吃蛇〉的故事时,总会显得非常兴奋。我觉得他们可能真的很喜欢这个游戏吧,我也很享受这种作品得到他人认可的感觉。”


改变了一切的手机

这个故事开始于 1995 年,当时诺基亚公司已经在内部进行了大约三年的整体改革。接下来的新使命,就是专注于移动技术。虽然那时候手机还没有在世界范围内得到普及,但相关设备正迅速小型化、低成本化、易用化。在 1993 年诺基亚 2110 发布之后,公司开始全力研发诺基亚 6110。这款手机计划于 1997 年 12 月正式公布。


诺基亚公司希望 6110 机型能够在瘦身的同时提升性能,同时带来更长的电池续航能力与通话时长。新机型将提供一套新的、更完善的用户界面,允许人们在手机上轻松完成不同功能间的切换。很明显,当时的诺基亚急需开发人员,而 Armanto 也决定投身于其中。



一部蓝色的诺基亚 6110 手机


Armanto: 当时是 1995 年,诺基亚公司正在快速发展。我们都是新人,同时满怀热情。我们开始为手机开发新的软件,而且总是随身携带着这些最新设备,毕竟得随时进行测试工作。


当时,几位负责用户界面团队的同事觉得我之前有过电脑游戏的开发经验,但实际上我没啥经验。他们把我跟我的一个亲戚弄混了。但无论如何,同事们建议我负责开发游戏,他们则开发电话簿、日历、计算器等其它功能。反正最终我就开始管游戏这一块了,也不错,我本人很喜欢玩游戏,特别是棋类游戏。


我刚开始觉得《俄罗斯方块》挺好的,甚至进行过相关开发和测试。但很遗憾,实现不了。因为《俄罗斯方块》的持有方希望从每一部售出的手机上拿一定的分成,诺基亚显然是不能接受任何按销售量分成的提议。


于是,我开始考虑 6110 机型的规格特性。首先是限制条件:屏幕非常小,只能用有限的几个按键控制游戏,而且没有多少可用的编程内存空间……


《贪吃蛇》的诞生史


《贪吃蛇》游戏在 1995 年之前就已经存在,最早是以《封锁(Blockade)》的名称登陆街机平台,之后又先后出现过几个克隆版本。无论是《Nibbler》、《Worm》还是《Rattler Race》,名称虽然有区别,但核心玩法都是一致的。


Armanto: 人们可能会认为诺基亚是第一家在手机上提供游戏的厂商,但事实并非如此。早期也有其它手机提供游戏,只是销量和影响力都不像诺基亚 6110 那么可观。


我之前在自己的苹果机上玩过类《贪吃蛇》游戏。那款游戏支持双人游玩,两名玩家各自通过键盘操纵自己的蛇。


Kyle 记者: 《贪吃蛇》提供最简单也最纯粹的视频游戏体验,它继承了《乒乓球》以及《太空侵略者》那种简洁的快乐。像素图像、遵循物理学规律外加游戏难度的逐级提升,这一切不断刺激着我们想要获得成功的原始欲望。


Armanto: 经过一系列测试与规划,我们意识到这就是最理想的游戏选项,毕竟跟手机的种种限制都不冲突。当简单的办法就能奏效时,自然没必要去硬想复杂的点子。我们希望挖掘一点背景信息,比如弄清楚《贪吃蛇》这类游戏到底有没有明确的归属。答案是没有,所以接下来就是动手实现。


构建游戏

Armanto: 在对游戏的早期版本进行测试时,我注意到当速度达到最高级别时,玩家会很难控制身体接近但还没有碰撞之间的时间间隙。虽然我也很希望能尽快完成自己手头的工作,不过另一方面,我也希望对玩家负责,让更多人能够适应最高难度。如果最高难度就是快速死命,那就没有什么乐趣可言了。所以我加入了一点延迟,相当于给了玩家额外几毫秒的反应时间。只要能在这几毫秒里及时转向,游戏就能继续玩下去。


记者: 身体越长,在屏幕上的行动就越困难,继续生存自然变得越具挑战。再加上每条蛇只有一条命,意味着每一次回转都代表惊险时刻。这种感觉真的非常非常明显。


Armanto: 我们在最高难度中,把蛇的行进速度提升到了手机的运行极限。考虑到屏幕的刷新率以及软件计算蛇下一次进位的具体速度,我倒过来逐步添加延迟以在更低的等级当中提供更长的反应时间。最高难度延迟为零,因为蛇已经没法跑得更快了——或者说,再快手机就会崩溃。当然,只有内存溢出的时候才会导致手机崩溃,我肯定会想办法避免内存溢出喽。


诺基亚于 1998 年年初正式销售 6110 机型,而《贪吃蛇》也作为内置软件组合中的成员之一。


记者: 关于手机内置游戏,现在已经有了不少回顾性的评测。不需要额外下载任何内容,没有游戏内购,无需更新,也没有什么数据下载。只要买一部诺基亚,剩下的就是畅玩了。


Armanto: 虽然也花了不少时间进行测试,但我自己从来没达到过最高级别。不过我相信,获胜的最佳方式就是不断练习,仅此而已。我发现有些会利用暂停/继续功能获得很高的分数,但这属于作弊,我觉得不能算数。


“我从没想到它会成为爆款”

也许是因为手机惊人的销量,可能是因为游戏简单好玩,也有可能是二者兼而有之。总之,《贪吃蛇》成了一款现象级的作品,人们开始把大量时间花在这款手机游戏身上。


Hannu Korhonen 在自己的研究文章中写道:“手机游戏时代始于 1997 年,当时诺基亚在 6110 机型上发布了第一款名为〈贪吃蛇〉的手机游戏。这可能是有史以来最受欢迎的手机游戏之一,全球有超过 3.5 亿部手机提供这款游戏。”


Armanto: 虽然我自己也喜欢玩,但其他诺基亚的同事显然比我更有热情。他们主动要求测试,而且总是跟我谈起这款游戏。但我从没想到它会成为爆款。事实上,我觉得诺基亚的产品营销团队也没想到。我们得知学校里的孩子们很喜欢这游戏,特别喜欢。我们也听说手机卖得很好,但我觉得这肯定不只是《贪吃蛇》的功劳,手机上的其它功能也非常重要!


记者: 这是一款终极手机游戏,因为几乎每个人都曾经玩过,包括那些在日常生活里从来不玩游戏的人。它就像是诺基亚 6110 手机建立起来的一种公众意识。


Armanto: 我是在非正式场合中,得知这款游戏有多受欢迎的。但是,我觉得它能够成功也要归功于其它因素:用户界面的整体设计、电池性能大幅提升、手机价格下降等等。但是,诺基亚公司从来没承认过这款游戏对手机销量做出了贡献。


我猜公司里可能有某些政策或者规章,要求“隐藏”各项功能背后的开发者身份。至少在官方通讯当中,这些功能或者发明都只归诺基亚所有。最终,我拿到了一点一次性资金,具体时间我不太记得了,反正是在产品项目完成的很长一段时间之后。


2005 年诺基亚 N-Gage 机型新闻稿:作为全球最受欢迎的手机游戏《贪吃蛇》的创作者,Taneli Armanto 先生获得手机娱乐论坛(MEF)的特别嘉奖,鼓励他在诺基亚 6100 系列机型内置游戏方面作出的突出贡献。根据 MEF 的介绍,Armanto 先生的聪明才智与远见卓识为手机娱乐行业的发展奠定了坚实的基础。Armanto 先生在昨天于伦敦举行的 MEF 年度大会上接受了颁奖。


Armanto 在诺基亚公司工作了近 16 年,随后开始自由创业,并最终回到学校。目前,他在 Ineo Oy 公司担任系统架构师职务。


Armanto: 总的来说,我很怀念自己在诺基亚效力的那段岁月。即使是在《贪吃蛇》之后,这段工作体验仍然很酷且带给我不少启发。虽然公司规模很大而且存在不少问题,但至少就我所知,各团队的奋斗精神仍然非常出色。毕竟,我们新手建立起一个更加美好的世界。


原文链接


AN ORAL HISTORY OF ‘SNAKE’ ON NOKIA


2019-09-20 17:403666

评论

发布
暂无评论
发现更多内容

Spring源码解析 -- SpringWeb请求映射Map初始化

Java spring 源码解析

hive 与传统数据库对比

五分钟学大数据

hive 7月日更

phpExcel:Excel数据导入导出最佳实战

devpoint

php Excel thinkphp 7月日更

使用 Open Policy Agent 实现可信镜像仓库检查

张晓辉

Kubernetes 安全 OPA

免费分享Java Web 开发的优秀图书

Java入门到架构

Java Java书籍推荐

数字政府建设如火如荼 区块链保证数据真实安全

CECBC

PowerShell 哈希表

耳东@Erdong

PowerShell 7月日更

🏆「作者推荐」【JVM性能分析】精心准备了一套JVM分析工具的锦囊(上部)

洛神灬殇

JVM 性能分析 jvm调优 7月日更

Redisson 分布式锁源码 08:MultiLock 加锁与锁释放

程序员小航

Java 源码 分布式锁 redisson redison

话题讨论| 帮朋友拼多多助力会导致银行卡被盗刷?

石云升

拼多多 话题讨论 7月日更

Apollo配置中心如何实现配置热发布

慕枫技术笔记

微服务 后端 配置中心

区块链技术在“三资”监管领域的应用

CECBC

数据仓库的基本要求

奔向架构师

数据仓库 数据架构 7月日更

Linux之find xargs

入门小站

Linux

【Flutter 专题】91图解 Dart 单线程实现异步处理之 Future (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

模块一作业

君子意如何

「架构师训练营第 1 期」

external-attacher源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

🏆「作者推荐」【JVM 性能分析】精心准备了一套 JVM 分析工具的锦囊(中部)

洛神灬殇

JVM 性能分析 7月日更

你有多少密码是123456

MySQL从删库到跑路

密码管理

解读区块链在制药和物流管理中具备的优势

CECBC

都说数仓是面向主题建设的,那数仓的主题和主题域又应该怎么划分呢?

白程序员的自习室

数仓 7月日更 数仓主题 主题域 数仓建设

利用 Vector 从日志创建指标来提高系统的可观测性

哈德韦

日志 可观测性 Prometheus SRE vector

架构实战营 - 模块 8- 作业

泄矢的呼啦圈

架构实战营

吃药吗?AI造的!

脑极体

幸福来敲门

卢卡多多

幸福 7月日更

在线ASCII艺术字生成工具,SpringBoot banner生成工具

入门小站

工具

jTDS 驱动导致 cpu 100%

顾五木

cpu占用100% 线上程序问题

为什么搞一个副业项目如此之难?

张理查

查找——HASH

若尘

数据结构 hash

【得物技术】常用注册中心原理及比较

得物技术

zookeeper nacos Consul Eureka 注册中心

设计消息队列存储消息数据的MySQL表格

Vincent

架构训练营

口述历史:诺基亚经典游戏《贪吃蛇》的前世今生_移动_Quinn Myers_InfoQ精选文章