ゲームをコンソールからPCに移植するのが難しいのはなぜですか?[閉まっている]


27

コンソールゲームのPCポートは、1〜2か月後に出てくることがよくあります。どうしてこれなの?

ゲームもPC上でコンパイルする言語で記述されているため、ゲームロジックは問題なくコンパイルされるはずです。当時の彼らは何を抑えているのでしょうか?それはレンダリングコードですか?


3
これはおそらく、公開取引によるものです。彼らは、ps3 / ps4の独占タイトルを作成したことで、たとえばSonyから報酬を受け取ります。
オーラス

私はいくつかのコンソールに出てくるゲームについて話している。彼らは、コンソールのリリースからXか月後に「ポート」が出てくると言っています。問題は、彼らが待つ理由です。つまり、マーケティングには何かできることがありますが、プログラマー側からは興味があります。
血液カウント

しかし、オーラスは正しいです、それは最も可能性の高い答えです。コンソールからPCへのコードの移植は、いくつかの理由で簡単ではありません。コンソールのリリース後に短時間PC向けに出てくるほとんどのゲームは、そもそもPC用に設計されているか、少なくとも基盤となるテクノロジーが簡単なポートをサポートしています。そうでなければ、おそらく数ヶ月では十分ではないでしょう
グリムショー

「ゲームはPC上でコンパイルされる言語で書かれています」というコメントについては、必ずしも真実ではありません。特に、有名な引用を修正したいと思います。「コンソールとPCはすべてコンピューターであるかもしれませんが、すべてのコンピューターが同じように作成されているわけではありません」。
kurtzbot

回答:


47

PCポートに時間がかかる理由はいくつかあります。(どこかで自分自身を繰り返しているように見える場合、私は謝罪します;これはその場で書かれているようなものです。)

コントロールとゲームプレイの適合

コンソールでプレイしているとき、ユーザーが持っているのはゲームパッドだけなので、これだけではできることに一定の制限があります。

キーボードのキーとコントローラー入力の間に1対1のマッピングを作成するだけでは、常に可能とは限りませんが、良い解決策を見つけるのに時間がかかる場合があります。

ハードウェアの抽象化/断片化

Wii U向けに開発する場合、Wii Usはすべて同一であるため、Wii Uの動作を正確に把握できます。これはPCには当てはまりません。多くの異なるグラフィックカードとCPUを使用しており、それらの一部で動作しない場合があります。これらのバグを発見するには多くのテストが必要であり、修正にも時間がかかります。

エンジンを使用してPCバージョンを作成したことがない場合は、それに応じてハードウェアアブストラクションをコーディングする必要もあります。一部のゲームは、複数のDirectXバージョン Linux / Mac向けのOpenGL をサポートすることを望んでおり、それがまだ行われていない場合、すべての作成に時間がかかります。

リソースの競合

コンソールでは、ゲームはリソースなどについてOSと競合する必要はありません。バックグラウンドで大量の処理が行われるわけではありません。

PCでは、OSが実行されており、バックグラウンドプログラムが多数あります。これは、期待したほど大きなシェアを獲得できないことを意味します。これは、特に低価格のシステムのプレーヤーに対して、追加の最適化を実行する必要がある場合があることを意味します

資産の改善

コンソールでは、ターゲットが固定されているため、そのターゲットに一致するシェーダーなどを記述します。

PCでは、一部のグラフィックスカードがより高度な機能をサポートしているため、より優れたシェーダーを使用したい場合があります。それは、そのシェーダーを作成する必要があることを意味します。

プラットフォーム固有のもの

Console SDKには、PCに簡単にマッピングできない便利な機能がたくさんある場合があります。たとえば、ハードウェアタイマーや優れたサウンドAPIへのアクセスを提供する場合があります。

これらは通常、PCでは使用できません。これらのことを達成するために他の方法を使用する必要があり、それがプラットフォームの違いを抽象化する方法を変えるかもしれません。


4
コントロール、ユーザーインターフェイスに関連して、PCデスクトップのメニューがマウスでも機能しない、このa-lotを引き続き見ることができます。たとえば、Dパッドからキーボードへの1:1マッピングを実行しました。別の潜在的な問題は、シェーダー言語とドライバーのサポートです。
キャスパーベイヤー

1
いい答えです。ただし、開発者がコンソールから最大限のパフォーマンスを引き出す場合、プラットフォーム固有のコードの低レベルレイヤーでは通常十分ではないため、ゲーム自体はコンソールのハードウェアの強力な属性を活用するように設計する必要があります。必ずしもPCにとって理想的なソリューションでもありません!
グリムショー

6

単純な理由は、コンソールにはコンソールごとに同じ単一のハードウェアセットがあるためです。

XBox、PS3、およびWiiはすべて、隣接するXBox、PS3、およびWiiと同じハードウェアを備えています。ただし、コンピューターのCPU、グラフィックカード、RAMの量、実際には構成とオペレーティングシステムの設定、インストールされているドライバーはすべて、他の人が持っていない完全に一意の組み合わせである可能性があります。

これにより、PCへの移植が難しくなります。最小システム要件以上の範囲内で、可能な限りすべてのハードウェアを考慮する必要があります。これは、プログラミングとデバッグが困難で難しいプロセスです。開発者がプロ​​グラムするすべての構成を知ることは非常に難しく、これらの構成でテストを実行することはほぼ不可能です。

PC向けに開発したら、開発者によって社内で大規模なテストが行​​われますが、数週間から数か月間はユーザーからのベータテストに依存することもあります。PCへの移植が正式にリリースされる前のベータプレーヤーを使用したテストのこのアウトソーシングが、通常、コンソールとPCのリリース日のギャップを確認する理由です。


5

コードを新しいプラットフォームに移植するには時間がかかります。Xbox 360用のナノ秒タイマー(XNAで開発したことがない)を作成するには、Linux、Mac、またはWindowsの同じナノ秒タイマーとは異なる実装が必要になります。ここで、移植が必要なこれらのタイプの関数が何百もあり、エンジンが十分に大きい場合は数千を持っていると想像してください。

新しいプラットフォームにこれらの異なる実装を追加するには、簡単に1〜2か月のコーディングが必要です。さらに、Xbox 360では、Windows、Playstation 3、またはその他のプラットフォームで使用できるライブラリと同じライブラリを常に使用できるとは限りません。つまり、Xbox 360バージョンで行ったのと同じことを行うには、まったく新しいライブラリを使用する必要がある可能性があります。

全体として、これらの種類の事柄は、膨大な時間になります。新しいプラットフォームへの移植は、大規模なAAAタイトルではめったに簡単ではありません。


3

多くの場合、それは難しいこととはほとんど関係ありません。

優先事項ではありません。彼らは間に合うようにドアをかろうじて抜け出そうとしています。1分ごとの違いを考慮するには時間がかかります。期限までにいくつかのコンソールまたはPCでリリースできる場合は、まずそれを実行してから、ポートをまとめます。早くリリースし、より多くのお金を稼ぎましょう。一般的に、この最後の世代の箱入りゲームでは、コンソールの方が優れていますが、新しいコンソールがそれを変える可能性があります。

また、場合によっては、コンソールメーカーが排他的リリースにメリットを与えるため、特定のコンソールで最初にリリースし、後で他のプラットフォームでリリースした場合、パブリッシャーは割引などを受け取ります。技術的なことは何もありません。


1

最初は、ゲームはPCよりもコンソールで作成するのが困難です。その上、コンソールは、任天堂、ソニー、マイクロソフトの間で非常に異なる仕様と異なるハードウェアを持っているため、パフォーマンスが異なるだけでなく、ボトルネックの問題も異なります。

通常、ゲームはエンジンを微調整して各コンソールの品質とパフォーマンスを最大化します。

PCに適応するとき、他の問題があります。コンソールは同種です。つまり、すべてのコンソールのハードウェアは同じです(すべてのPS3のハードウェアパフォーマンスは同じです)。PC用のゲームを作成する場合、最小仕様をターゲットにしますが、ユーザーはより強力なPCの品質を向上させることもできます。PCを対象としたゲームは最適化されていませんが、プログラマーにとっては簡単に作成できます。

コンソールでのプログラミングには1つの利点があります。プログラマーがパフォーマンスを最大化できるため、コンソールゲームは常にうまく機能します。

PCでは、多くのハードウェアが存在するため、さらに悪いことになりますが、当然のことながら、より自由になります。PCは常に最新の状態にあり、コストがかかります。

コンソールはゲームのパフォーマンスのために設計されているため、コンソールからPCへのゲームの移植は難しい場合がありますが、PCはそうではありませんが、コンソールはメモリが非常に少ないため、ゲームをコンソールからPCに移植する方がはるかに簡単です。 2倍か4倍少ないようなものです。

このメモリ制限に適合するようにコードを変更することは、ほとんどの場合、完全な再プログラミングを意味します。

ゲームをコンソールからPCに移植するのは難しくないと思います。APIの問題です。コンソールのみで作業する企業やプログラマーは、慣れていないだけでなく、コンソールAPIに常に適応しているため、PCに移植するのに苦労します。つまり、多くの場合、コードはコンソールコンパイラーの制限に対応します。 PC APIを必ずしも気にする必要はありません。

もちろん、エンジンはすべてのコンソールとPCで実行するようにプログラムできます。一度実行すると、簡単になりますが、3、4年は計画されていないと言われた後、プログラマーにエンジンをPCに移植するように指示するよりも優れています。

TL; DRコンソールは同種であり、最後の1つのコンソール世代、PCは異種であり、ハードウェアとAPIは常に進化しています。コストは、プログラミングとハードウェア構築の間で分散しますが、これは妥協です。

良いことの1つは、すべてのハードウェアですべてを実行できるようにすることですが、ゲーム会社はコンソールメーカーにライセンスを支払うため、コンソールの価格は補償されます。面倒です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.