开源飞行模拟器宣言
摘要
一份倡导开源飞行模拟的宣言,批评商业飞行模拟器的功能受限循环,并倡导社区驱动开发。
<p><a href="https://lobste.rs/s/m8q1qy/open_source_flight_sim_manifesto">评论</a></p>
查看缓存全文
缓存时间: 2026/06/10 09:45
# 开源飞行模拟宣言 – viccuad 的博客
来源:https://viccuad.me/blog/open-source-flight-sim-manifesto
2026 年 6 月 5 日
我童年时和父亲一起玩飞行模拟器的美好回忆至今难忘:在《微软模拟飞行 3》里轮流尝试在西雅图降落,为每一次成功或失败欢呼雀跃。更早的时候,我们还玩过初代微软飞行模拟器,里面有个迷你游戏,驾驶一架“索普威斯骆驼”双翼机射击敌机。那些飞机不过是十字形的线条罢了!
父亲每玩一次都会给我讲一点航空知识,而我总是听得入神。我常常这样回想,但我知道父亲其实有着无限的耐心,而我只想追求速度和刺激,在摩天大楼之间穿梭飞行。
他向来是个疯狂的发明家类型,于是用大号打孔器和光电传感器自制了方向舵踏板,还制作了总距杆和带电位计的油门。那时我们开始接触直升机,玩《简氏 AH-64D 阿帕奇长弓》,后来又转向空战格斗,从《微软战斗模拟飞行 1》到 3 代,还有《IL-2 斯大林格勒战役》。对于当时还是青少年的我来说,狗斗带来的肾上腺素和速度感超越了一切其他飞行模拟。
后来生活变得多姿多彩,很长一段时间就此过去。直到新冠疫情期间,我发现自己又用一台底座上的 Steam Deck 在线玩起了《IL-2 1946》和《IL-2 斯大林格勒战役》,这次用的是我自己的实体方向舵踏板和摇杆。我发现了与成百上千玩家一起飞行的乐趣,从此再次沉迷其中!
多人飞行的技能上限高得离谱,你可以选择何时逃跑,何时投入战斗并赌一把胜利。多人模式下真正需要团队合作,几乎没有运气成分。你和队友一起复盘 .acmi 录制文件,从中学习,并为自己的失败开怀大笑。对我来说,没有比和朋友一起在空中翱翔更棒的游戏体验了。
真的有吗?
我依然渴望一款能让我做更多事情、交互更丰富、不再笨拙的飞行模拟器。社区自 00 年代以来就一直在呼吁这一点。我们看到游戏领域在进步,却几乎无法触及我们。
由于日常工作,我有些自负。我把自己的想法整理成了一份宣言。宣言必须大胆。以下就是我的宣言!
> 模拟飞行是小众领域。你需要时间、知识和设备(摇杆、踏板等)才能充分享受其中。模拟飞行是一个受制于市场的领域:客户数量有限且固定。一旦你把游戏卖给了大多数潜在客户,收入就会逐渐枯竭。开发者被迫“重做”并销售“新”版本,或者通过分期销售的方式反复出售同一款游戏,例如销售新的机身或场景,这些内容只需花费很少的创作精力,却卖得和基础游戏一样贵。或者采用其他类似的方法来获取收入。这意味着基础游戏在横向功能上不会增长。玩家之间互动的方式没有增加;也没有更多任务类型、无线电通信、雷达、SDK、场景、战役、任务导演、任务编辑器等等。社区觉得模拟飞行本可以更完美,除了做一个“座舱博物馆”之外应该有更多可做的事,但他们仍然心痒难耐,于是通过外部附加组件和应用来实现这些功能。这给新用户带来了笨拙的用户体验,而这一循环不断自我强化。模拟飞行很复杂:需要模拟大量系统、历史准确性、多人游戏、性能限制等等。每一代模拟器都更糟:游戏制作成本越来越高,导致实际添加的互动功能越来越少。游戏保真度越来越高,但可做的事情越来越少。游戏循环越来越小。我们知道。我们是模拟飞行玩家。我们经历过这个循环。我们是这个紧密相连的小型模拟社区的一部分,其中一些人贡献了这些社区附加组件、飞机、任务、动态战役等等,通常得不到原始模拟器开发者的帮助,甚至违背他们的意愿。我们已经看到过几次这个循环的迭代,既有老游戏也有新游戏,我们对此感到厌倦。现在不是 1995 年了。还有另一种方法。模拟飞行是一个受制于市场的领域:我们无法通过创造更多客户(自 90 年代以来航空业一直下滑)或向开发注入无限资金(就像微软曾资助旧版《微软模拟飞行》系列作为 PC 演示器那样)来打破它。但我们可以选择退出这个市场。模拟飞行游戏工作室规模不大,通常由 2 或 3 个开发团队组成,每个团队约 10 人。你只需在模拟社区众多的论坛或聊天服务器中随便选一个,就能找到同样数量的开发者。
### 我们的号召
一款来自社区、永远属于社区的模拟游戏及技术栈。
具有强烈定义社区和需求的小众复杂产品,是成功开源项目最完美的契合点。例如在 3D 套件(Blender)、数据库(PostgreSQL、MariaDB 家族)、音乐记谱(MuseScore)、操作系统内核(Linux)、网络浏览器(基于 Chromium、Firefox)、游戏引擎(Godot、Bevy)等领域。我们坚信开源是我们特定小众项目的完美选择:它让我们避开受制于市场的困境,它适用于分布式全球团队而非与之对抗,它能够高效地随团队扩展,并且它能放大整个技术栈中不同模拟器和学术界之间可以实现的共生关系。模拟社区渴望进步、交互和规模扩展。异步、开放地在线协作是当今许多成功产品的创造方式。
### 我们的方式
成功的开源,以开放的门户开发,需要一种“馈赠文化”的方法,而不是“交换文化”的方法。这意味着在公开场合进行无我的对话,以及通过“你给予什么”(知识和工作)而非“你拥有什么”(对知识或项目的控制)来获得社会地位。成功的(开源)项目是那些围绕着灯塔目标聚集起来,但允许从“我的宝贝”成长为“我们的宝贝”的项目。就像被良好养育的孩子一样,这些项目被允许结识新朋友,这些朋友能改进它们并让它们变得更好,最终成为自主的成年人,同时保持其原则不变。
为了高效协作和扩展团队,需要开放性。这是一个先决条件,不可商量。我们公开开发,公开交流。我们在公共场合提问。我们为自己的错误感到自豪,因为我们努力从中成长。我们希望我们的技术栈永远属于社区。我们通过确保我们创造的一切都是开源的,并且关键部分在 copyleft 许可证下授权来实现这一点。这确保了修改必须回馈给社区,永远如此,即使它们被空间中的其他参与者(可能是竞争对手)采用。我们把社区放在第一位,并希望这能围绕我们发展社区。
在创作模拟游戏时,会产生很多副产品:一个飞行动力学模型库、精确的 3D 模型、飞机规格、游戏引擎等等。通过将这些部分开源,我们确保它们不仅对我们喜欢的特定模拟器类型有价值,而且对其他类型也有价值:这些部分对战斗飞行模拟器有价值,同时也对商业飞行模拟器、遥控模型模拟器、学术界等有价值。这吸引了贡献者、社区、思维方式和知识,这些都会播种并回流到我们这里,这是一个闭门开发的模拟器根本无法利用的令人难以置信的力量倍增器。如果可能,我们评估并贡献于现有库,这加强了社区。
### 我们的目标
为了成功,我们不围绕反对什么来建立身份,而是专注于我们支持什么。我们明确表述我们的航向,即使不是为了别人,也是为了我们自己。我们想要一款社交战斗飞行模拟器。我们享受与队友一起飞行和与队友对抗的社交互动。我们发现团队合作和协调比单独飞行更令人兴奋。简报、编队、任务分派,以及知道你有一个僚机、一个飞行小队和一到两个中队在你背后,同时你也为他们提供掩护。我们享受高级空战机动和狗斗,我们互相训练和提高,纯粹为了乐趣。我们希望一款战斗飞行模拟器能够让社区熟练地学习 ACM,而不仅仅是游戏中“自然发生”的事情。我们希望弥合模拟社区中的 ACM 知识差距,并让模拟社区成长。我们也希望能够在单人模式下玩我们的模拟器,以便练习、迭代开发、用良好的游戏 AI 增强多人模式,让游戏自然地成长到临界质量,并以他们自己的节奏欢迎新人加入模拟社区。我们不为了保真度而追求保真度,只有当保真度能增强玩家做出有趣选择的能力时,我们才会增加它,无论是航电系统选择还是多人模式选择。玩家必须能够解释某件事为什么会发生,并有能力改变系统:如果没有可读性,模拟就只是隐藏的数学运算。系统必须性能足够好,以容纳数百名玩家。系统必须解耦,以便能够以不同速度运行模拟部分,用于单人模式或压力测试,并且它必须是确定性的,以便进行竞技游戏和通过单一种子轻松重现错误。我们希望一款没有笨拙感的模拟游戏与技术栈。没有第三方安装程序、工具或模组。我们希望模组只是游戏中的一等插件。由于是开源的,我们可以合法地整体分发游戏内容。我们希望拥有精确的 3D 模型和现有机型的规格。规格不会改变,历史信息也不会。即使这个模拟技术栈将来被归档,其模型、任务和逻辑也可以被社区在新的开源游戏中合法地重复使用。这也为社区提供了一个可以作为实际“飞机博物馆”的场所,供研究和重复使用,比闭源游戏更强。我们想要一款次世代的模拟游戏。模拟游戏需要一个为它们量身定制的游戏引擎。通常,模拟游戏会开发自己的自定义游戏引擎。我们相信 Bevy 引擎非常适合我们这样的模拟项目,正如 Bevy 作者所认为的那样。Bevy 的实体-组件-系统(ECS)范式是次世代的,提供了极高的并行化(非常适合我们的性能需求),并且符合我们的可扩展性需求。它还使得异步协作更容易:小型、独立的系统意味着更少的冲突和更容易的并行工作。其下一代特性如 meshlets(又名 Nanites)可与 Unreal 等商业开源引擎相媲美。其物理库如 Avian 备受好评,适合飞行动力学模型。Bevy 引擎本身是用 ECS 编写的,这意味着如果一个人理解我们的游戏代码,就理解游戏引擎,一切都是自底向上一致的。这也使我们能够利用 Bevy 社区的现有功能。Rust 也是一种主观上很有趣的编程语言,能吸引人加入。Bevy 在撰写本文时的不足之处,比如缺乏游戏编辑器或快速的开发周期,都只会增强我们的优势:模拟器不需要创建骨架动画或走廊地图,而快速的开发周期则分别确保了分支比在一个共享技术栈上工作成本更高。Bevy 社区也非常适合公开协作,因此我们采用他们的社交习俗和行为准则,正如本宣言中已经列出的那样。
这容易吗?不!这可行且有趣吗?当然!几个模组团队已经在他们各自的模拟器上以这种方式工作了。如果这不适合你,也没关系。如果只有部分内容能引起共鸣,我希望我们能为了双方的利益而合作。如果这个目标和工作方式能引起你的共鸣,那就加入我们吧!
目前,这只是一个号召。
然而,这个想法已经足够激励我发布 `avian_fdm` 箱(https://github.com/viccuad/avian_fdm),这是一个用于 Bevy 引擎和 Avian 物理箱的飞行动力学模型库。如果我能解决这个问题,学习并协作,其他人也可以,我们可以一起拥有我们梦想并谈论的模拟游戏。
给我写封信吧!或者暂时在 Bevy Discord 服务器的 `avian_crate` 线程(https://discord.com/channels/691052431525675048/1511750234340855868)里找我。
我们天上见!
##### 维克多·夸德拉多·胡安
我是维克多·夸德拉多·胡安,一名开发者兼 FOSS 爱好者,目前居住在德国。如今我大部分时间担任 Kubewarden(一个 CNCF 项目)的维护者,并不时为 Sigstore Rust 库做出贡献。我最初接触 Linux 是从 Debian 开始的,在那里我也维护过一些软件包。我是自由软件的坚定支持者;它重新点燃了我对计算机技术作为人类工具的热爱。随意点击此处(https://viccuad.me/)浪费你的宝贵时间,或者联系我(https://viccuad.me/about)。
---
相似文章
教皇的新AI宣言大力推崇开源和本地模型
教皇利奥十四世的通谕《Magnifica Humanitas》批评科技垄断,呼吁开源AI,将其视为摆脱硅谷控制的裁军行动,这与开源社区反对封闭前沿模型的论点不谋而合。
欧盟开源战略
欧盟发布了其开源战略,旨在促进欧洲技术主权,减少对非欧盟专有解决方案的依赖,并支持开源技术在公私部门的发展与可持续性。
开源与看不见的手
本文探讨了开源软件如何违背经典经济学原理(如搭便车问题、价格信号和公地悲剧),却通过非货币激励和社区贡献而蓬勃发展。
适配软盘:小型软件宣言
一份主张使用小巧高效、能装进1.44 MB软盘空间内的软件的宣言,强调速度、极简主义和对设备的尊重。
软件生产基础设施的公地,由资本创造并为资本服务
一篇论文,认为自由和开源软件项目主要作为资本的生产性基础设施,而非在消费者软件中传递自由的手段,并且资本主义剥削的叙事忽视了资本主义企业在推动这些项目中的作用。