クロスプラットフォームエンジンで構築されたゲームがWindows専用になることがあるのはなぜですか?


99

エンジンがWindows、OS X、およびLinuxをサポートしている場合、これらのエンジンを使用するゲーム(Space Hulk:Deathwingなど)がWindowsのみに制限されることがあるのはなぜですか?


25
それはクロスプラットフォームで構築できることを意味し、追加の労力を必要としないという意味ではありません。
沼地

単純な理由は、そのタイプのゲームの大部分がPC上にあることです。
ファッティ

回答:


150

技術的な理由:

  • プラットフォームが具体的に作ったゲーム:一部の開発者がゲームを作っているとき、彼らはいつかプラットフォーム固有の機能に依存することができます。ゲームエンジンは複数のプラットフォーム用のゲームを構築できる可能性がありますが、ゲーム固有ではないコードは、他のプラットフォームには存在しないか、ゲームの難しい部分を作り直す必要があるWindows固有の呼び出しを行う場合があります(ライセンスサービス、ファイル保存システムなど)。
  • 対応マシンの欠如:長い間、ほとんどのAppleコンピューターには、ほとんどのゲームを実行するのに十分なグラフィックスパワーが備わっていませんでした。それでは、なぜユーザーが悪い体験しかしないような場所にリリースするのでしょうか?これはグラフィックスの統合のおかげでゆっくりと変化していますが、それでもWindowsのみに移行する理由があります。
  • プラグイン/ライブラリの互換性:ゲーム開発者は、サードパーティのライブラリを使用して開発をスピードアップしたり、業界標準/検証済みコード(SSL、シリアル化ライブラリなど)を使用したりできます。これらがプラットフォームXをサポートしていない場合、ゲームはおそらくプラットフォームXで確実に実行されないため、除外されます。
  • QAの向上:ゲームの開発中に、バグがないこと、およびゲームがパフォーマンスの基準を満たしていることを確認するチームの小さなサブセクションがあります。プラットフォームを追加したら、ゲームは基本的に2回テストする必要があります!ゲームの一般的な部分はそのままにしておくこともできますが、リリース前に行うべきテストはまだたくさんあります。これは、プラットフォーム(Apple、Xbox、PlayStation、電話など)に応じて、必要な追加の時間だけでなく、特殊なハードウェアによってもコストの増加につながる可能性があります。
  • サポートの強化:ゲームのリリース時にバグが発生します(一部のゲームは他のゲームよりも多くなります)。プラットフォームを追加すると、開発者が行う必要があるリリース後のサポートの量が増加します。プラットフォーム固有のバグは、破損したプラットフォームを修正する方法で修正する必要があり、影響を受けないプラットフォームには影響しません。プラットフォームが変更された場合、たとえばWindows 7から8またはOSXの繰り返しの場合、新しいバージョンにバグがないことを確認するために、ある程度のQAが必要になります。そして、もしあれば、それは古いバージョンと一緒にサポートされなければならないさらに別のプラットフォームです。これは、特にゲームがローンチされた後(ゲームが多くのお金を稼げないようになった後)、リリース後3-6か月で、コストに大きな影響を与える可能性があります。

非技術的な理由:

  • 発行者契約:一部の開発者は、プラットフォーム所有者とプラットフォームで具体的にリリースする契約を結んでいます。これはコンソールではより多く発生しますが、PCプラットフォーム(Windowsなど)でも同様です。
  • ファーストパーティのデベロッパー:一部のデベロッパーはプラットフォームホルダーが所有しており、特定のプラットフォームでゲームをリリースすることはできません。PS4ではHaloも、MacではForzaも表示されないでしょう。
  • 視聴者の不足:開発者は、特に多くのデータを利用できる大規模なパブリッシャーがいる場合、特定のプラットフォームでの消費者の傾向に関する多くの統計情報を持っています。ターゲットオーディエンスの90%がWindowsを使用しているという情報がある場合、潜在的なバグを減らしたり、マーケティング資料に集中したりするために、他のプラットフォームでリリースすることはありません。
  • プラットフォーム要件を満たしていない:AppleのApp Storeなどの一部のプラットフォームには、公開するために従う必要のあるレイアウトと設計に関する厳しい要件があります。ゲームが特定の配信プラットフォームのこれらの要件を満たしていない場合、十分な予測売上がない場合は、ゲームを適合させてリリースするのにエンジニアリング時間を費やす価値がない場合があります。
  • プラットフォームの経験不足:開発者がWindowsのみを使用している場合(他のシステムの経験がある人はいないか、ほとんどいない場合)、開発後期またはLinux / OSXビルドを担当する新しいスタッフを雇うのに十分な予算がない場合があります。
  • マーケティングコスト:2つのプラットフォームの視聴者または年齢層が大きく異なる場合、一方のマーケティング資料が他方に届かない可能性があります。つまり、マーケティングにより多くのお金を費やす必要があります。2つのグループが異なるマーケティングを必要とする場合、新しいターゲットオーディエンスを念頭に置いてすべてを再作成する必要があります。特に大規模なリリースでは、マーケティングは非常に高価になる可能性があります。より多くのプラットフォームでマーケティングが必要になるほど、コストはより速く増加します。

もっとあると思います。これらは私の頭のほんの一部です。お役に立てれば。


26
これは良い答えですが、もう1つの重要な要素を見逃していると思います。テスト/ QAのコストです。クロスプラットフォームエンジンは、プラットフォームの違いを隠すという完璧な仕事をすることはないため、すべてのターゲットプラットフォームでテストすることが不可欠です。1つのプラットフォームでのみ表示されるバグや、異なるプラットフォームでの異なる実装に関連する大幅なパフォーマンスの違いが存在する場合があります。また、クロスプラットフォームであると想定される機能に動作の違いがある場合があります。QA時間を増やし、テスターに​​追加のハードウェアを提供する必要があります。一部の開発者は、追加のハードウェアとソフトウェアを必要とします。
mattnewport

2
私は経験不足セクションでそれをカバーしたと思った....しかし、私はそれを追加することができます:)常にそうである方が良い
-user3797758

5
ここではコストが控えめになっていることを@mattnewportに同意します-複数のプラットフォームで開発、構築、テスト、デバッグ、リンス、リピートを繰り返すのはかなり手間がかかります。単一のプラットフォームのさまざまなハードウェア構成に対して適切にテストするのは十分に困難です!
-AC

3
また、「サポート」は非常に誇張されている場合があります。多くのエンジンがWindowsを「サポート」していますが、実際に使用するにはVisual StudioとPython、Perl、Cygwin、Msys、5種類のMinGW、ギガバイトのライブラリをインストールする必要があります。
-AndreKR

2
「開発者は、特定のプラットフォームでの消費者の傾向に関する多くの統計情報を持っています」-もちろん、それを使用して技術的にサポートするプラットフォームを決定することは、自己永続的な予言です。
ORマッパー

30

なぜなら、利用できるということは、無料ですぐに利用できるということではないからです。

最も単純な形式でもう1つのオペレーティングシステムをサポートするということは、テクニカルサポートを提供するもう1つのプラットフォームを意味します。

サポートするプラットフォームが増える= サポートを提供する必要があるプラットフォームが増える= サポートにより多くの時間を費やす=ゲームの改善に費やす可能性のある作業時間を失う。

プラットフォームのサポートはすべて、ゲームがそのターゲットプラットフォームで十分なプレーヤーベースを獲得できる場合、プラットフォームのサポートを提供するために費やす時間を補うという自信に帰着します。


2
また、市場開発(App store、Steam、Google play)およびプラットフォーム固有の統合(特に社会部門)により多くの作業が失われます。(友人、共有、認証)
CostelloNicho

18

これまでのところ良い答えがありますが、一番下の行に行きましょう。

Steamの2017年6月のハードウェア調査によると、サンプリングしたユーザーの96.24%は Windowsを使用していました。Windowsユーザーの87.37%は、Windows 10または7、64または32ビットです。OSXバリアントはユーザーの2.95%を占め、Linuxバリアントは合計0.72%です。

時は金なり。市場がニッチで、特にOSXまたはLinuxを対象としない限り、市場の4%未満が時間の価値がある前に、多くのゲームを販売する必要があります。特に、ゲーム開発者は通常、製品機能を完成させるために時間をかけられます。


3
...また、これは、これらのユーザー全員が平均してゲームに匹敵するお金を支払うことを前提としています。AndroidとWindows Phoneの統計を覚えています。Androidのデバイスシェアははるかに大きいものの、直接の(広告以外の)収益はほぼ同じで、iOSに比べてどちらもわずかでした。あなたがゲームを販売している場合、あなたはどのくらいの人が支払う意思があるかを知る必要があります。ゲームをめったに購入しない市場の0.7%のセグメント向けにゲームを作成すること、まったくの狂信者です:Dエンジンが完全にマルチプラットフォームであったとしても、おそらく価値はありません(異なるプラットフォームで奇妙な落とし穴はありません)。
ルアーン

1
@Luaan Humble Bundleによると、Macの人気は3倍も高いにもかかわらず、Linuxの収益はMacよりわずかに少ないだけです。おそらく、ハイエンドのLinuxコンピューターは、同じ価格のMacよりもはるかに優れたグラフィックスカードを持っている傾向があるという事実によって説明されます。これらのマシンのトレードオフは他の場所にあるからです。
stommestack

1
@JopV。バンドルファクターのため、謙虚なバンドルは少し注意が必要です。バンドルに含まれるゲームが1つだけの場合は、プレイしない追加のゲーム(または以前に既に複数回支払い済みのゲームがあります。クレイジー:P)。Linuxは比較的最近までゲームでほとんど無視されてきたため、MacまたはWinコンピューターを持っている人が既にゲームの一部を持っているかもしれませんが、Linuxの最初のリリースかもしれません。多分。Humble Storeからの統計もありますか?
ルアーン

2
@Luaan Humble Indie Bundleがあるたびに、OSごとに寄付された合計金額と平均金額など、統計情報がページの下部に表示されます。それらはすべてのバンドルでかなり一貫しています。
stommestack

14

ここでの他の答えは良いですが、ここでは言及されていませんでした。

私は今この問題を抱えています-私のチームはWindows / Mac向けのUnityで作られたゲームをリリースしようとしています。ゲームがモバイルに対応していない理由について、多くの質問が寄せられています。主に2つの答えがあります。

1)電話はゲームに追いつくほど強力ではありません。アートの忠実度(モデルのポリゴン数を減らす、テクスチャのピクセル数を減らすなど)を減らすことができるかもしれませんが、それだけではありません。携帯電話で実行できるように最適化するには、ほとんどのゲームを書き直す必要があります。試しましたが、1秒あたり約0.5フレームしか得られませんでした。明らかに、プレイできません。

2)入力。ユーザーインターフェイス全体はマウスを使用して設計されており、ゲームの一部は、常にマウスの位置を知ることに依存しています。マウスがどこにあるかを知らずにゲームが機能し、画面上のさまざまな「タッチ」アクションを「マウス」アクションに変換して同じ機能を実現するには、入力メカニズム全体を書き直す必要があります。彼らの答えで言及されたuser3797758のように、これは「マウス」と「タッチ」の入力が同じシステムに送られるように書き直す必要があり、一方のバグは他方に影響を与えず、そのバグの修正他にも影響しません。これには、私のチームが現在利用できるリソースよりも多くのリソースが必要です。

user3797758の回答にも記載されているように、Linuxマシンではパッケージの1つがクラッシュしますが、Windows / Macでは動作するため、Linuxのサポートさえありません。エンジンがクロスプラットフォームであるからといって、それを使用するすべてがそうであるとは限りません。


1
私の電話は問題なくGTA Vice Cityをプレイできます。レンダリングエンジンが効率的でないように聞こえます!:)
軌道上の明るさのレース

2
とにかく、この答えは、PC上のOSについて、異なるハードウェアプラットフォーム/パラダイムにゲームを移植についての詳細、および小さい
軌道上での明度レース

2
@LightnessRacesinOrbitまあ、それはユニティです...しかし、実際には、ゲームの中心であり、非常に非効率的な特定の効果が1つあります。それを書いた人はいなくなり、私たちはそれを改善する方法を見つけることができませんでした。これは人生です
コーディ

3
@JopV。ええと 歴史があり、小さなものより少し複雑。しかし、ここでこれについて議論するのは本当に意味がありません。OpenGLは3DレンダリングAPIであることに注意してください。DirectXはそれよりもはるかに広いです。無意味な議論を行う必要がある場合は、少なくともOpenGLとDirect3Dを比較してください:) OpenGLは、プロの3D作業(独自のIrisGLを「開く」)のために設計されました。当時OpenGLをサポートしていた他のプラットフォームは何ですか?「クロスプラットフォーム開発を妨げる」ことはありませんでした-WindowsにはネイティブのOpenGLサポートがありました。OpenGLは、ハイエンドのプロフェッショナルな仕事以外の目的ではありませんでした。
ルアーン

2
電話gpusには、熱とサイズの制限があるため、Intelグラフィックスよりも強力ではありません。また、多くの人々は、あなたが原始のOpenGL ES 2.0のためにあなたのゲームを書き換えない限り、3.0これだけの数の人があなたのアプリを使用することができるようになりますのOpenGL ESをサポートしていない携帯電話持っている
Suiciドーガ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.