Astrelyne 幕后:没有广告、用代码绘制、服务器重演每一场战斗
2026年10月1日 · 阅读约需 3 分钟

Astrelyne 是一个独立项目:一款免费、没有广告、直接在浏览器中游玩的太空英雄游戏。下面介绍几项让它与众不同的技术选择。
没有一张手绘图片
游戏中的所有角色、敌人、场景和建筑都是由代码在 HTML canvas 中实时绘制的。英雄不是一张图片,而是一段描述(肤色、发型、盔甲、武器、披风……),游戏在每一帧都会把它变成画面。因此整个游戏非常轻量,新增一名英雄只需要写几行描述。
指南中的图片,例如英雄页面上的图片,也是根据同样的绘制代码自动生成的。
不依赖框架的 JavaScript
游戏使用 JavaScript、HTML 和 CSS 编写,不使用任何框架或构建工具:只有几个由浏览器直接加载的文件。无需下载,无需安装,即使在手机上,游戏也能在几秒钟内启动。
一个重演每场战斗的服务器
在许多浏览器游戏中,是浏览器宣布「我赢了」,只要修改游戏就能作弊。而在 Astrelyne 中,只有服务器说了算。
每场战斗完全由服务器生成的随机种子和玩家的操作(手动释放的终极技能、自动模式)决定。浏览器负责显示战斗;战斗结束时,它只会发送这些操作的列表。随后,服务器用自己的引擎完整重演整场战斗,并据此得出结果。战利品、经验和星级都以这个结果为准,无论浏览器怎么说。
为此,战斗引擎有两份完全相同的副本:一份用 JavaScript 编写,用于显示;一份用 PHP 编写,用于服务器。每次更新时,自动测试都会在两个引擎中运行数百场随机战斗,检查结果是否完全一致,精确到每一点生命值。只要有一场战斗不同,就会阻止发布。
同样的原理也支撑着回放功能:根据种子和操作,可以完全一样地重演一场战斗,因此你可以重看最近的 20 场战斗,或者在玩家的公开页面上以视频形式观看。
没有广告,没有追踪
Astrelyne 不显示任何广告,也不使用任何外部统计工具。访问统计在内部进行,匿名且不使用 Cookie。唯一的 Cookie 只用于保存你的游戏进度和语言。
四种语言
游戏、指南以及 210 颗星球的故事都提供法语、英语、西班牙语和简体中文版本。法语是参考文本,每次发布前都会有工具检查其他语言中是否遗漏了任何文字。
接下来呢?
游戏会定期更新:传说英雄、学校、星球扩建、主题……所有更新都列在最新动态中。支持这个项目最好的方式,依然是去玩它,并告诉身边的人。
开始玩 Astrelyne:免费,无需下载。