プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発
RPGTest2 3Dテストプログラム

RPGテストプログラム3Dテストプログラム
XNAで開発したテストプログラム。右側リンクコーナー「管理者ホームページ」からダウンロード可能。




◎XNAとは?

管理者は現在XNAを利用してPCゲームを開発しています。XNAとは、マイクロソフト社(以下MS社)が提供するWindows/Xbox360/Zune(携帯音楽プレーヤー)向けゲーム開発ツールです。



◎XNA実行環境の問題点

MS社はXNAを無償提供することにより、MS社プラットフォーム向けソフトの充実を図っているようですが、実際に作ったWindowsプログラムを身近な人にテストしてもらったら、実行環境にいろいろ問題があることが判ってきました。

1.ハードウェア上の制約がある
  (シェーダモデル1.1以上のグラフィックカード必須)

2.プレイヤーは、自分のPCがハード制約を
  満たしているかどうか知らない、判らない

3.必須ランタイムが多い



◎ハードウェア制約の問題

まず1.と2.の問題について解説します。

シェーダモデルとは、3D映像において陰を処理する技術ですが、比較的新しい技術であるため、現時点では実装されていないPCが多々あります。

2008年8月現在においては、売価3千円程度の格安グラフィックカードでもシェーダモデル3.0 or 4.0 対応となっていますが、ちょっと古いグラフィックカードを見ると、シェーダモデルに関する記述はありません。

また、日本国内の多くの一般ユーザは、PCを購入時のまま使用しており、グラフィックカードの増設などしていません。オンボードのグラフィック機能を利用しているわけですが、市販のPCやマザーボードには詳細な情報が明記されておらず、「あなたのPCはシェーダモデル1.1以上ですか?」と聞いても「わからない」と回答されるケースが殆どです。

この問題は「時間が経てばシェーダモデルが普及して解決する」可能性が高く、MS社はあまり気にしていないように見えます。(この辺がいかにもMS社だ(泣))

しかし現時点においては、この問題は「折角ゲームを作っても、殆どの人に無視されてしまう」大きな障害となっています。ネット上でXNA対応ゲームが少ない理由の1つであることを認識し、対策を講じて欲しいものです。>MS社



◎回避策の検討と試み

MS社への不満を口にする一方、自分で出来る回避策は無いかと探っています。

A案:ハードウェアのシェーダ機能を利用しない
   (問題1.に対する回避策)

B案:ゲーム起動時に環境チェックを実行する
   (問題2.に対する回避策)

C案:Webのダウンロードページで環境チェックを実行し、
   画面に結果を表示する(問題2.に対する回避策)


A案は、実行PC側の設定変更等で可能らしいのですが、プレーヤーの手を煩わせる上に注意事項が多く、現実的ではありません。(「ゲームを始める前に、PC管理者権限で設定変更し、終わったら戻してください」なんて言ったら、誰もゲームしないでしょ?)

また、2Dゲームを作る場合はハードウェア制限を外したいのですが、MS社が正式に仕様変更しない限り無理なようです(参考)。2D-RPGを作っても「ハードウェア3D機能が無いと動きません」と言わねばならない訳ですが、エンドユーザは「馬鹿にしてるのか!」と怒ることでしょう。海外はともかく、日本国内では2Dゲームも多いことを少しは考えて欲しいですね。>MS社

B案は、ゲーム起動時に環境チェックを実施し、環境が悪い場合は「実行には○○が必要です」等のメッセージを出すことを理想としています。

少し目的は違いますが、MSDNに「プログラム実行中に問題が発生したらログを出力するコード」が紹介されていたので、これを組み込んで手元の古いノートPCでやってみると、期待通りerror.logが出力され、「DirectX又はシェーダ機能利用不可」と記録されました。「これはシェーダモデルサポート可否判定に利用できるのでは?」と期待して身近な人にテストしてもらった所、先のノートPCと同じ報告もありましたが、「エラーになった、ログなし」との報告も複数ありました。これについては近日中に原因調査予定です。

C案は、「これが出来たらいいな~」というアイデアのみで、まだ具体的な検討は一切行っていません。案外簡単に出来るかもしれないし、MS社以外不可能かもしれません(セキュリティ上の問題があった場合)。



◎ランタイムの問題

次に、3.の問題について解説します。

ゲームを実行するPCには、「DirectX」「.Net Framework」「XNA Framework」の3つのランタイムをインストールする必要があります。また、DirectXはWebから上書きインストールする必要があるかもしれず、ユーザは「手間がかかる」「時間がかかる」「英語ページ却下(ダウンロードページが英語の場合、読まずに即「前画面に戻る」ボタンを押す人が多い)」と敬遠します。これも、ネット上でXNA対応ゲームが少ない理由の1つです。



◎改善案の検討

ランタイムの問題はMS社認識済みで、将来的には改善される可能性があります。
とりあえず今すぐ思い付いた案を列挙します。

a案:日本語のダウンロードページを設ける

b案:一括インストーラ(スクリプト)を提供する

c案:一括インストーラ(Web)を提供する

d案:WindowsUpdateで配布する

e案:OS標準機能とする

f案:ビッグタイトルのゲームをXNAで提供し、ランタイム普及を促進する


a案は、ゲーム開発者でも実装可能ですが、ランタイムが更新された時のことを考慮すると、MS社で実装してもらいたいものです。

b案は、主に媒体配布時の手法です。ゲームとランタイムをまとめて配布し、インストーラを実行すると、ゲームとランタイムがまとめてセットアップされる、というものです。インストーラはゲーム開発者が実装可能ですが、ランタイムが更新されない問題があります。

c:案は、MS社以外実装不可能でしょう。ランタイムの更新に対応できないからです。d:案、e:案も同様です。

f案は、かつてのドラクエやFFのようなビッグタイトルを利用して、ゲームユーザにXNAランタイムを普及させる、という手法です。実際には誰もやらないでしょうけど。(笑)

実際の所どうなるか不明ですが、グズグズしてるとXNAは普及せずにポシャってしまう可能性もあるので、早めの対応を期待しています。>MS社



◎最後に

XNA実行環境の問題について長々と記述しましたが、これはゲームの売上に直結する重要な問題です。管理者としては、半年~1年ぐらい様子を見て、改善の見込みが無ければ別の開発環境に移行するつもりです。
スポンサーサイト
コメント

『◎回避策の検討と試み』の中で、『「エラーになった、ログなし」との報告も複数ありました。これについては近日中に原因調査予定です。』とありますが、DirectXのWeb上書きインストールで直りました(1件はゲーム起動、1件はerror.log出力)。

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。