类别: iPhone

电视上的 X-Plane 手机 (字面上)

X-Plane 10 Mobile是第一批为英伟达盾牌机顶盒发布的游戏之一。

做这个版本的部分工作是将游戏控制器支持放入 X-Plane 手机中 -- 你也可以在你的安卓或 iOS 手机或平板电脑上使用游戏控制器。

部分工作是使整个用户界面可以从游戏控制器访问,例如只按按钮,没有触摸屏输入。该代码将返回到 X-Plane 10 Global,用于我们下一代用户界面中的键盘导航。

747 也推出了 X-Plane 10 Mobile (iOS 和 Android):

747 从 X-Plane 10 Global 开始,已经转移到 X-Plane 10 Mobile。我们试图保持两个版本的同步,因此我们可以将一些改进从移动设备移回桌面版本的 X-Plane。

张贴在安卓,IPad,苹果手机,移动设备,新闻 | 6 条评论

为什么苹果在安卓之前?

嗨,伙计们,我是克里斯。我好久没写博客了。他们把我锁在地下室,就像bob电竞官网米尔顿 · 沃达姆斯,不愿意让我出去看日光,直到我完成 X-Plane 10 Mobile。他们偷了我的 # $ % # ^ 订书机!

我们最近发布了X-Plane 10 Mobile for iPhone/iPad当苹果用户欣喜若狂时,一些安卓用户感到困惑,而另一些则感到沮丧。

“会有安卓版本吗?”

“它什么时候会出现在安卓系统上?”

“安卓版本在哪里?60% 的智能手机运行在安卓系统上,但我想苹果粉丝在你的公司更重要”

“当大多数用户使用安卓系统时,为什么你们总是首先关注苹果手机?"

在我进入博客文章的真正点之前,请允许我回答其中的一些问题。是的,我们计划为 Anbob电竞官网droid 运送 X-Plane 10 手机。是的,我们已经开始开发了。我们没有发布日期。我们没有任何提示。我唯一能说的是,我们希望你尽快解决。不,我们不认为安卓是一个较低/较低的平台…… 我们重视安卓客户就像我们重视 iOS 客户一样。客户就是客户。我认为这些年来,我们已经通过支持 Windows 、 Mac 和 Linux 证明了我们并没有试图玩自己喜欢的游戏。我们希望每个人都能享受我们的产品。但是,这并不意味着开发的成本以及开发的速度和效率在所有平台上都是平等的。

从历史上看,我们总是先开发 iOS,然后再开发安卓。我想坦诚地说出我们的理由,并希望即使你不同意,你至少会理解为什么我们在历史上首先为苹果发展。我要警告你,我要说的一切完全是我的观点,我的印象,我基于我的经历的感觉。我会听起来很像一个苹果 “粉丝”。我承认,我确实非常尊重苹果对抛光和细节的承诺,但我也拥有十几台安卓设备,并尊重它们的尖端功能, 他们的开放性和对定制的友好。

然而,归根结底,我的报酬是高效和彻底的,我下面的想法解释了为什么这意味着苹果在历史上是第一位的。

我也会警告你…… 我不希望这篇博客文章变成苹果和安卓用户之间的火焰战争。我们说bob电竞官网的是电话,不是宗教。归根结底,它们只是一小堆塑料和硅,让我们可以上网、打电话和玩游戏。

我们不能并行开发苹果和安卓

当然,我们通过在桌面上发布 Windows 、 Mac 和 Linux 版本,100% 的时间都是一致的。为桌面开发与为移动设备开发非常不同。我们用很少的第3 方框架的桌面,它是一个开放的环境。在手机上,这是一个非常封闭的环境。这意味着并行开发苹果和安卓比并行开发 Windows 和 Mac 需要更多的努力。

能做到吗?当然!许多公司都在这样做。但是他们也有支出巨大的大型团队。我们仍然是一个相当小的个体群体,我们喜欢这样。然而,权衡是我们一次只能关注一个平台。

我们可以考虑的一个替代方案是推迟苹果产品的发货,直到安卓版本也完成。这对每个人来说都是一个损失。苹果客户失去了最新的软件,而安卓客户可能会失去,因为…… 我们没有收入来支持安卓开发成本。没错…… 苹果的销售额被再投资到公司,为安卓开发提供资金!

正如本提到的早期…… 苹果和安卓移动销售基金桌面开发…… 和桌面开发基金移动开发!这是一个需要记住的非常重要的事实。我承认,当桌面用户抱怨公司在开发移动产品,而移动用户抱怨公司在开发桌面产品时,我们会笑,会翻白眼。安卓用户抱怨我们在开发苹果产品,反之亦然。

该公司已经找到了创造桌面和移动产品的平衡。有足够的收入来资助足够的人员来继续发展这两者。

我们在 Mac 硬件上开发

这不是秘密。自从公司成立以来就一直是这样。我们只是发现苹果产品让我们更有效率,不会妨碍我们。

从历史上看,苹果的移动平台已经更加成熟

苹果在安卓系统诞生时,既有技术优势,也有时间优势。

苹果已经有了一个操作系统、支持框架和开发环境。制作这些东西的移动版本需要他们将现有的经过时间测试的代码移植到一个新的平台上。从稳定性的角度来看,苹果的优势在于他们已经有了这样做的代码、工程师和流程。

另一方面,谷歌必须从头开始。他们必须组建一个新的团队来创建一个新的操作系统来运行新的框架…… 他们必须为开发人员创建一套工具来使用。

除了苹果公司拥有的所有技术优势之外,他们还领先了一年多。在安卓系统公开发布之前,我们就已经在为手机销售 X-Plane V9 了。

这意味着我们作为开发者已经建立并熟悉 iOS 平台。

当我开始为 X-Plane V9 安装 Android 端口时,我不得不很快放下它…… 然后等待。安卓当时只支持 Java 应用。X-Plane 不是 Java 应用程序。其中 99% 是用 C/C + + 编写的,安卓当时完全没有支持…… 所以我们等待着。

最后,许多个月后,Android 添加了他们的 NDK,允许我们有 C/C + + 支持。但这是完全最小的。我们习惯使用的标准库都不可用。这意味着我们要付出很多努力来完成任何事情。如果你不是一个开发商,一个合理的比喻可能是一个木匠试图盖房子,但他首先必须建造自己的锤子,钉子, 因为他以前用过的工具在这项工作中不存在。

终于到了发布安卓 V9 的时候了。对于 iPhone/iPad,我们上传了 400 多 mb 的应用程序到他们的商店,我们完成了。然而,在安卓系统上,商店的容量限制为 25 MB。这意味着我们必须购买服务器并编写代码从服务器农场下载资源。同样,这增加了更多的时间和复杂性。

苹果设备较少

对于 X-Plane 手机的最新版本, 我们支持 iPhone 4S/5/5S/6 + 以及 iPad 2/3/4/Air/Air2/Mini/Mini2 和 iPod Touch 5。我记得有 13 个设备。但它甚至比这更简单…… 因为它们都有相同的 GPU 制造商,它们都支持相同的 PVR 纹理压缩,而且从开发的角度来看,它们几乎都可以互换工作。它们之间唯一的主要区别是处理器速度和屏幕分辨率。我们可以在每台设备上进行测试,并确保应用程序按照我们期望的方式运行。

截至本文撰写之时,我们的 X-Plane V9 已在 7,072 台设备上运行。你读对了…… 七…… 千… 不同的…… 设备。每个设备都有不同的 CPU 、 GPU 、屏幕大小、屏幕密度和驱动程序组合。我们不可能全部测试。诚然,他们中的许多人 “只是工作”,当然只有少数 CPU 和 GPU 制造商担心…… 但至少, 这意味着至少有三种不同的纹理压缩格式。PVR 是专有的,除非移动设备有 PowerVR 芯片组,否则他们不会得到 PVR。所以我们必须支持各种格式。这需要创建、测试和分发我们应用程序的三个不同版本。这需要创建和测试三个不同的资源包。

没有办法拥有与 iPhone/iPad 平台相同的稳定性。

苹果采用更高的操作系统升级

没有运营商和其他制造商的阻碍,苹果可以发布一个具有功能和错误修复的新操作系统, 我们可以确定它们很快就存在于我们关心的大多数设备上。这意味着,如果有一个驱动程序问题需要解决,它将向大众解决,最终问题就消失了。

安卓的碎片化在这方面确实伤害了他们。这些年来,我们遇到了一些违反了 OpenGL 规范的设备。我们与制造商合作找出问题所在。他们发布补丁来解决这个问题…… 大多数用户从来没有办法获得补丁,因为他们的手机运营商放弃了对该手机型号的支持。

现在用户被他们付费的应用程序卡住了,这个应用程序不起作用,我们对此无能为力。

我们更喜欢苹果的开发者工具

正如我之前提到的,苹果的开发者 IDE 已经存在很久了。我们可以访问各种性能分析器,现在甚至可以分析整个 OpenGL 框架,一次一个绘图调用。这意味着在我们公开应用程序之前,我们真的可以把它调出来。此外,所有的工具都装在一个开箱即用的包里。苹果也一直有一个硬件加速的模拟器。这意味着在很多事情上,我不需要一个插入电脑的设备来调试一些东西。

Android 的解决方案是不那么 “开箱即用”,因为他们使用各种开源部件,所有这些部件都必须安装好并安装在一起。安卓有一个没有硬件加速的模拟器。启动所需的时间比我在家里找到一部手机、拿到手机、插上电源并将应用程序推送到手机上所需的时间还要长。

老实说,我认为两套 IDEs 都非常落后于微软的 Visual Studio 自 2000年以来的功能,但我离题了。

TL; DR

我们首先为苹果开发,因为它对我们来说更容易、更快。它使我们能够尽可能高效、可靠地运行产品。当我们为 Android 开发移植应用程序时,我们可以确定出现的大多数错误都是针对 Android 的,因此更容易及时解决。

我们不是在玩最喜欢的游戏。我们与安卓没有个人问题,也与苹果没有个人联系。安卓成为更快更容易开发的平台的那一天,它将是我们首先开发的平台。这只是一个商业决定!

与此同时,安卓用户应该记住,目前的工作方式意味着他们有时不得不等待更长时间的新更新, 但是他们收到的更新可能会更加稳定,因为他们已经被更努力地测试过了。

I will also note that we are closing the time gap between iPhone and Android releases. In the past, we were over a year behind on the Android release…because Android didn’t exist. Now that it’s becoming more established, the gap should be shrinking more and more.

张贴在安卓,IPad,苹果手机,移动设备 | 38 条评论

兄弟竞争

当我很小的时候,很难看到我弟弟在生日那天收到礼物。我嫉妒了!他为什么要得到所有的关注?我先来的!

当我稍微大一点的时候,我意识到我哥哥的生日对我来说也是一个非常好的日子。你看,我哥哥和我有一大堆玩具,所以无论我哥哥收到什么作为礼物,我也可以得到; 我所要做的就是耐心点,几天内不要抢走他的玩具。

新的公告X-Plane 10 Mobile显然是想挑起一点兄弟之间的竞争: “X-Plane 10 Mobile 将我们的桌面用户嫉妒。 “除了是一个将 X-Plane 10 全球推广到移动用户的机会, 这也是我们收到的不可避免的电子邮件的参考 (对于 X-Plane 9 和 X-Plane 9 Mobile),并将从嫉妒显影资源我们在移动产品上花钱。

这里有一些关于 X-Plane 桌面和移动以及这两种产品的关系的注释。

首先,X-Plane 9 Mobile 资助了 X-Plane 10 Global 的发展。如果我们没有运送 X-Plane 9 Mobile,就不会有 X-Plane 10 Global,我可能也不会继续在层流研究工作。因此,即使你忽略了代码之间的杠杆作用和协同作用,你也认为移动产品会分散你的注意力X-Plane (桌面飞行模拟) 的目的,你不能忽视移动是我们业务的一部分,也许是不应该丢弃的一部分。

第二,我们已经转向 “两条战线” 战略,在这方面我们可以积极发展两者同时,我们雇佣了更多的开发人员,这样我们就可以这样做。X-Plane 9 在开发 X-Plane 9 Mobile 时等待,然后移动产品或多或少被冻结了当我们在 X-Plane 10 桌面上工作时。

乒乓球的水平对 X-Plane 10 mobile 来说并不坏。我们运送了 64 位支持,部署了机场网关,移植到 Steam 并运送了全新的 GPS开发 X-Plane 10 手机。* 这并不容易,但我认为这表明我们正在朝着 “两条战线” 前进。如果桌面和移动设备在另一个被开发的时候不得不连续多年坐在惩罚箱里,它们都会受到影响。

最后,移动设备现在足够强大,我们可以在两个代码库之间共享代码和艺术资产。几个例子:

  • 我们对移动产品的最低 OpenGL 要求是 OpenGL ES 2.0; 我们的最低桌面 OpenGL 版本是 OpenGL 2.0。和所需的功能 (通过 VBOs 渲染到纹理,顶点和片段着色器) 真的是像他们的声音一样。
  • 我有一台 iPhone 6 和一台 2008 8 核 Mac Pro。我在两者上运行了粒子系统性能测试代码,它们运行在几乎相同的速度。显然,Mac Pro 已经有 6 年的历史了,而 iPhone 6 是一款高端手机。但是没有差距。这意味着较旧但受支持的桌面设备将具有与移动设备顶端相似的特性。现在它只是计算机的一个大范围。

X-Plane 10 mobile 的大量代码从桌面移动到移动设备。但是代码也是为 X-Plane 10 mobile 开发的,目的是将它移回 X-Plane 的桌面版本。

我的要点是: 如果你使用我们的桌面产品,你实际上不需要嫉妒 X-Plane 10 Mobile 中的新玩具。那些玩具也是你的玩具。

* 关于这个列表有一件事需要注意: 我们一次做不止一件事的能力主要受限于会做这项工作。公司中不同的开发者和艺术家有不同的技能组合; 我们的开发者不是可互换的机器人。嗯,我们的一个开发者是机器人,但是我不会指名道姓。

张贴在显影,苹果手机,移动设备,新闻 | 22 条评论

X-Desktop 和 iPhone 不是零和游戏

今天早上的菜单上: 先是抱怨,然后是书呆子气。

有人指着我这个邮政。在我开始我对利用代码的极客抨击之前,请注意: 奥斯汀在这一点上确实在大量使用苹果手机 -- 可能在苹果手机上比在桌面上工作更多。同样真实的是 (但没有提到),层流现在比过去在桌面 X-Plane 上投入了更多的人力。(有了苹果手机,我们的工作量增加了,产品有了第二个 “前沿”,但我们也增加了一点人员。)

X-Plane 9 免费更新的频率也较低,这也是事实。这并不意味着进入它们的代码更少 -- 这只是意味着我们正在进行 4-5 个月的编码和 3 个月的 beta 测试,而不是 2 个月的 coindg 和 1 个月的测试测试。我不确定这是否更好或者为什么会发生 (每个版本都必须根据情况单独计划),但是有一个观察:

考虑到有多少视频卡和驱动程序,以及它们对 X 平面代码的不同反应,我不希望测试过程少于 2-3 个月, 因为我想知道它有时间在各种各样的硬件上运行。如果我们的测试版至少需要 2-3 个月,那么 3 个月的发布周期将会让我们一直处于测试版中!

我的抱怨 (简短的版本) 是这样的: 层流研究 (作为一家销售产品的公司) 无法发布我们业务内部运营的所有细节。所以说 “层流应该做 X” (其中 X 是一个商业决策) 的帖子让我有点疯狂,因为我不能发布合理的回复。

现在我真正的观点是: 桌面和苹果手机的开发不是零和游戏。显然,我们利用桌面 sim卡来创建苹果手机应用。但是它是双向的; 在苹果手机上工作也有利于桌面。

这里有一个例子: 当 beta 8 问世时,飞机制造商的 “出口到物体” 将会是一个更完整的 OBJ,以 OBJ8 格式, 动画已经到位,如机翼控制表面!

这是人们一段时间以来一直在询问的一个功能 -- 既可以制造 CSL 物体 *,也可以作为从飞机制造商绘制的飞机移动到定制飞机时节省时间的一种方式。(您将首先导出动画 OBJ8,然后开始在三维建模程序中添加细节。有了 beta 8,你就不必从头开始重建你的控制表面了。)

但是…… 这也是对 iPhone 至关重要的一个功能!X-Plane 的 iPhone 版本也使用动画 OBJ8 文件; 这个功能在内部帮助我们为 iPhone 版本准备飞机,但它也是我们作者要求的功能。

因此,我对那些说 iPhone 已经从 X 平面开发中消失的人的回应是,这不是真的 -- 不仅因为我们正在大力开发桌面, 但是因为有时 iPhone 开发是为了桌面。

* 我不记得当前编译的版本是否LibXplaneMP使用 OBJ7 或 OBJ8 对象。由于 libXplaneMP 使用来自XPTools,应该 (相对地) 直接更新 libXplaneMP 和使用它直接使用 OBJ8 的客户端。同时,您可以使用对象转换器将导出的 OBJ8 转换回 OBJ7 以供 CSL 使用。

张贴在显影,苹果手机,建模 | 2 条评论

新的苹果应用程序在这里

除了 iPhone 的 X-Plane (为了避免混淆,我现在称之为 “X-Plane general aviation”),现在还有两个新的应用: X-Plane airline 和 X-Plane 直升机。直升机版本使用大峡谷的一部分,客机版本使用南加州的一部分。

所有三个应用程序 (通用航空版本有免费更新) 都有一个 DSF 下限的修复,这将有助于避免崩溃。

基本上,虽然 X-Plane 曾经在手机的内存限制下运行,但在 DSF 加载期间,它会暂时超过内存限制, 因为 DSF 加载程序会使用一些临时内存。新代码在运行时非常小心地清除临时内存,因此永远不会超过其最终的内存占用。在 9.04 之前,你的手机一开始就有内存紧张的风险,这样 X-Plane “超出预算” 会导致操作系统停止运行。(重启手机显然会清除内存或其他东西。)

所以…… 这是一种冗长的说法: 如果你将 X-Plane iPhone 更新到 9.04,并且该应用程序在发布时 (或发布后立即) 仍然退出,请给我们发送一个故障报告!

张贴在苹果手机,新闻 | 3 评论