百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Flash已死,但这些古老的Flash游戏还在努力活着

zhezhongyun 2025-02-03 16:12 52 浏览

今年1月,一位名叫QuackityHQ的主播号召直播间里的几十万名观众一起登录虚拟社区游戏《哈宝宾馆》(Habbo Hotel)。他计划以这种方式来搞垮服务器,从而让开发商知道,自从游戏由Flash转向Unity引擎开发后,许多老玩家对部分核心功能丢失、用户界面大改而感到相当不满。

“开发商正在摧毁自己的游戏,我们必须阻止他们。”这位主播在直播中说。

作为一种编程语言,Flash让游戏和动画能够在一个网页浏览器中运行。2017年,开发商Adobe宣布计划于2020年底结束对Flash浏览器插件的支持。到了2021年,Flash已经无法在主流浏览器运行——国内除外,当然这是另一个故事了。

《哈宝宾馆》是众多被迫抛弃Flash的网页游戏之一,但在这次转变过程中,开发商遭遇了一系列挑战。

不平静的过渡

QuackityHQ的直播在社交媒体上引发了广泛关注,“#notmyhabbo”很快成了推特上的热门话题。许多推特用户表达了对游戏现状的不满,其中甚至包括说唱歌手Soulja Boy——当天晚些时候,他也做了一场《哈宝宾馆》的直播。

《哈宝宾馆》来自芬兰的开发商Sulake透露,服务器那天没有崩溃,但确实承受了巨大压力,导致玩家在流量高峰期很难登录。一个月后,Sulake宣布会推出一个老版本的《哈宝宾馆》,在游戏完全向Unity全面过渡之前,为了安抚那些失望的玩家,这是开发团队想到的一种临时解决办法。

“很明显,我们的工作进展不够快,还没有让Unity客户端达到一个令人满意、可玩的状态。”《哈宝宾馆》官方网站的一篇博客文章中写道。

“哈宝”系列游戏诞生自2000年,那正是Flash风头正劲的时刻。游戏目前在网页上已经得到了重生,但其中出现了不少周折

本世纪初那几年,Flash经历过一段快速发展的时期,Newgrounds、Miniclip和Neopets之类的Flash游戏网站都很受年轻互联网用户欢迎。这些网站如今仍然存在,但正在进行重大改革,以适应浏览器不再支持Flash的情况。

Flash易于学习且具有通用性,许多创作者都曾使用它来设计游戏。例如《超级肉肉哥》起初就是一款Flash游戏,而2010年问世的《VVVVV》也被移植到了任天堂3DS和Switch平台。Newsgrounds等网站与YouTube类似,允许创作者上传Flash作品,并帮助他们找到用户。在Newsgrounds上,某些热门游戏的累计点击量高达2000万次。

“Flash在那个年代非常前沿,因为当时网上的大部分内容都是文本和图片,没有太多声音和互动元素。”Newsgrounds创始人汤姆·富尔普说,“Flash确实推动了网络向前发展。”

几个大型Flash游戏网站都在寻找自己的出路

2005年前后,《哈宝宾馆》的火爆程度达到了顶峰。这是一款社交游戏,玩家可以创建虚拟房间并添加家具装饰,结伴闲逛或者一起玩游戏。随着社交媒体的兴起,《哈宝宾馆》不再像过去那样让人觉得新潮,但每月用户数仍然介于60万~100万之间。

Sulake未雨绸缪,从2018年开始为它制作Unity版本,在这个过程中,开发团队遇到了不少技术挑战。根据首席执行官瓦拉特里·卡鲁的说法,Unity引擎不太适合被用来构建这类沙盒游戏。

“我们不得不重新考虑很多东西。”卡鲁说。

《哈宝宾馆》的Unity版本在发布初期性能糟糕,用户界面混乱,并且缺少一些关键功能。不过另一方面,开发团队希望利用制作Unity版本的机会尝试一些新的想法,例如改变玩家交易物品的方式。但他们设计的新系统局限性太大,导致玩家无法私下交易家具,卡鲁承认这项改动“不怎么受用户欢迎”。

作为一家允许玩家照顾虚拟宠物和玩游戏的网站,Neopets也在转型中面临着类似挑战。2020年,运营者们估计,网站仍然拥有大约10万的每日活跃用户,月活跃用户数则有150万。

Neopets距今已有20年的历史,在延续网站的同时逐渐摆脱对Flash的依赖并不容易

“我们不是一支拥有100人的大型开发团队,无法同时关注所有事。”Neopets品牌经理斯蒂芬妮·洛德说,“所以不得不优先完成最重要的工作。”

洛德表示,为了确保公司能够在没有Flash的情况下正常运行,整个2020年开发团队都很忙碌,尤其是在12月份,因为Neopets通常会举办特别的活动来庆祝圣诞节。在活动期间,用户可以访问圣诞日历,免费领取每日礼物并观看一段Flash动画。除了年度庆祝活动之外,开发团队还要修复网站出现的各种问题。

“我们对Flash的消失感到高兴。”洛德说,“我们都想,好吧,它总算消失了。”

虽然Neopets网站的某些功能仍然无法运行,但团队至少不用再急于赶工,而是可以专注于逐步解决问题、补齐功能。按照计划,他们会优先来做用户最常用的功能,例如宠物定制、每日活动,以及允许用户收养或抛弃宠物的场所Neopian Pound等。

随着Neopets逐渐改善网站,一些旧功能渐渐回归,Wheel of Monotony就是其中之一。它是个转盘功能,每天会连着转动数小时,然后指向某种奖品。这个玩法一度因Flash的死去而消失,直到今年2月份,开发团队才成功地将其转移到了HTML5中。

记录互联网的一段历史

Newsgrounds是一家收录了近10万款网页游戏的网站,上世纪90年代初上线,到1998年时网站上的所有游戏和动画都通过Flash运行,并一直持续至2012年。“2012年后,人们对Flash的兴奋感急剧下降。过去10年的大部分时间里,我们一直在为Flash退场后的未来做准备。”富尔普说。

根据富尔普的说法,2010年代初期,HTML5游戏处于起步阶段,视频创作也变得越来越受欢迎——尤其是在YouTube等平台。Newsgrounds注意到了这些趋势,所以为动画内容添加了一个视频播放器,并支持用户上传HTML5游戏。不过,为了让数千款较古老的Flash游戏继续活下去,这家网站仍然需要找到一种解决方案。

迈克·韦尔什曾是Newgrounds的一名网络开发人员,后来在2012年离职,他编写了开源软件Swivel,允许用户将Flash内容转换成高清视频以便长期保存。韦尔什后来还与其他志愿者一起构建了免费的Flash模拟器Ruffle,用户可以将它作为一款桌面应用程序或浏览器插件下载,之后就能访问网页上的Flash内容。

“我们一直在将Ruffle与网站进行集成,到目前为止,人们在2007年以前上传到Newsgrouds的大部分内容都可以在Ruffle运行。”富尔普说,“我们的目标是让所有Flash内容都能够在Ruffle中运行。”

Ruffle是Newgrounds自己提供的Flash Player,用于运行那些老游戏

Newsgrounds上的新作都已经是HTML5游戏

Ruffle并非唯一一个旨在保存Flash游戏的项目。Flashpoint是目前规模最大的同类项目——它就像一个500GB大小的作品库,包含了约7.9万款Flash游戏。Flashpoint的团队由大约200名志愿者组成,平台上的所有游戏完全免费。

“这就是Flash文化中的一部分,对吧?”Flashpoint创始人本·拉蒂摩尔表示,“每个人都免费提供所有东西,这种传统很棒。”

26岁的拉蒂摩尔是澳大利亚人,他对数字保存充满热情,此前参与过类似项目,例如保存在Jave上运行的古老手机游戏。2017年,在Adobe宣布将停止对Flash浏览器插件的支持后不久,拉蒂摩尔启动了Flashpoint项目。

拉蒂摩尔是首批开始保存Flash游戏的人士之一。“那时候Ruffle还没出现,你根本找不到保存Flash游戏的项目。”尽管如此,他仍然认为行动太慢了。拉蒂摩尔觉得他本应在大约10年前就察觉到危险信号,当时,前苹果CEO乔布斯不允许Flash在iPhone手机上运行。

创建Flashpoint的过程中,拉蒂摩尔和志愿者团队不得不克服很多棘手挑战。除了其他复杂因素之外,Flash文件通常都有“安全锁”,被限定只能在特定网站或环境下运行。为了解决这个问题,拉蒂摩尔让Flashpoint程序模拟了一个伪互联网:当你没有上网时,Flashpoint会让电脑误以为你正在网上,这样一来,Flash就可以在后台正常运行——哪怕你的电脑并没有装Flash播放器。

Flashpoint已经保存了近4万款Flash游戏

“从保存的角度来讲,这种做法发挥了巨大作用,因为我们不仅可以访问那些古老的Flash游戏,还不用去编辑,保留了最原始的版本。”

拉蒂摩尔和他的团队会广泛搜寻Flash游戏并下载,然后保存到不断壮大的作品库中。他承认,在进行这项工作前并没有征求游戏制作者的同意,某些开发者确实对此不满,但大部分人对这类项目的存在感到高兴。

拉蒂摩尔认为,有几个特征让Flash显得独一无二,例如Flash游戏鼓励“免费消费”,却又没有开箱之类的课金设计。另外,Flash还培养了一种“无与伦比的社区意识”,因为玩家会以口口相传的方式,让那些最优秀的作品得到广泛传播。

“再过几年,通过浏览器网页玩游戏的想法可能会彻底消失。通常来讲,如果某种编程语言退出历史舞台,总会有另一种语言替代。但Flash不一样,因为它曾经无处不在,让人们能相对轻松地学习和发布作品......”拉蒂摩尔说,“过去从来没有出现过Flash这样的技术,今后很可能也再不会有了。”

本文编译自:washingtonpost.com

原文标题:《Flash is dead. These games from the early 2000s hope to live on.》

原作者:Elise Favis / Shannon Liao

相关推荐

Python入门学习记录之一:变量_python怎么用变量

写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...

python变量命名规则——来自小白的总结

python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...

Python入门学习教程:第 2 章 变量与数据类型

2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...

绘制学术论文中的“三线表”具体指导

在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...

Python基础语法知识--变量和数据类型

学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...

一文搞懂 Python 中的所有标点符号

反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...

Python变量类型和运算符_python中变量的含义

别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...

从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序

在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...

Python中下划线 ‘_’ 的用法,你知道几种

Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...

解锁Shell编程:变量_shell $变量

引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...

一文学会Python的变量命名规则!_python的变量命名有哪些要求

目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...

更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for

src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...

C++第五课:变量的命名规则_c++中变量的命名规则

变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....

Rust编程-核心篇-不安全编程_rust安全性

Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...

探秘 Python 内存管理:背后的神奇机制

在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...