Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » ゲーム開発 » XNA   (RSS)

ローカライゼーション・サンプル

Creators Club Onlineに以下の3つの新しいサンプルが追加されました。 ローカライゼーション サンプル(Localization) セーフエリア サンプル(Safe Area) 招待 サンプル(Invites) 一気に紹介すると長くなるので、三回に分けてそれぞれのサンプルを紹介していきます。今回はローカライゼーション サンプルについて紹介します。 ローカライゼーション コミュニティゲームでゲームを投稿する場合、配信地域を選ぶことができます。現状ではアメリカ、カナダ、イギリス、フランス、イタリア、そしてスペインの6カ国で、2009年の前半には日本が加わり7カ国になります。世界の複数の国々の人達に自分の作ったゲームを楽しんで貰うためには必要な作業としてローカライズがあります。そこで、このサンプルではローカライズされた文字列とアセットの使い方のコードが含まれています。

PIXを活用する その2

前回に続いて PIXの機能と、私が実際にどんな状況でPIXを使って来たかを交えて紹介します。 ちなみにPIXはピクスと呼びます。たまにピックスと呼ぶ人もいますが私のまわりではピクスが多いです。 RenderウィンドウからDebug This Pixelメニューを使って表示されるDebuggerタブで、前回はDebug VertexやDebug Pixelをクリックしてのシェーダーのデバッグを紹介しましたが、今回はEvent部分をクリックして表示される情報について説明します。 Debuggerタブ内のそれぞれのピクセル情報の上の部分には、そのピクセルを描画したイベントが表示されます。上の場合は

PIXを活用する その1

PIXとは 3Dゲームを開発している時に必ずといってあるのが、モデルが意図しない状態で表示されるという問題です。「色が変」や「形が変」と言う比較的原因が予想しやすい問題から「画面になにも出ない」といった原因を判断するのが困難な場合まで様々な問題があります。特にシェーダープログラムを使っているとこういった問題に直面する機会は多くなります。 こういった問題の原因を見つけるのに非常に有用なツールとして、Direct X SDKに付属する PIX for Windows があります。このツールは元々、初代Xbox用に開発されたPerformance

Content Pipeline その2 その流れ

コンテントの流れ 前回は、コンテントマネージメントに関する問題の複雑さについて書きました。今回から、その問題を解決する為に設計されたXNAのコンテント・パイプラインの仕組みを紹介していきます。下図は、XNAのコンテント・パイプラインの概念図です。 パイプラインの名から判るように、コンテントが上から下へ流れるように処理され、アセットとしてできあがったものをゲームで使うようになっています。コンテントを川の水、アセットを水道水として考えると、コンテント・パイプラインは、浄水場と配水管に例えることができます。

Content Pipeline その1 その問題点

ゲームにはコンテントが必要 ゲーム製作で欠かせない要素として、プログラミングの他にコンテント作成があります。コンテントとは、3Dモデル、テクスチャ、フォント、サウンド、ゲームのパラメーターといったものの総称です。このコンテントを作るツール、例えばテクスチャならフォトショップ、3DモデルならMayaなどといったツールをDCC(Digital Content Creation)ツールと呼びます。DCCツールというと、高いお金を払って買うものと思われがちですが、自分で撮ったお気に入りの写真をゲームで使えば、その写真を撮るのに使ったデジカメはある意味DCCツールといえる訳です。さらに言えば、ゲームで使われるメッセージなどをWindowsに付いてくるメモ帳を使えば、それも立派なDCCツールとなるわけです。

BasicEffect

BasicEffectとは XNAはShader Model 1.1以上のビデオカード向けに設計されていて、固定シェーダーが使えません。これは、昨今のゲームのグラフィクスにはシェーダープログラムが欠かせなくなっていること、DirectX 10でも固定シェーダーが廃止されたことが主な理由です。また、仮に固定シェーダーをサポートした場合、設計思考が違うものを一緒にすることによるライブラリの複雑化、マルチテクスチャの細かい部分の振る舞いがGPUによって違い、しかもその情報量が少ないという問題もあります。

SpriteBatchクラス その2

SpriteBatch.Beginはレンダーステートを変更する SpriteBatch.Beginメソッドにはブレンドモード、ソートモード、そしてステートモードの3つ引数を渡すメソッド以外に、引数を省略できる2つのオーバーライドがあります。引数を省略した場合、ブレンドモードは SpriteBlendMode.AlphaBlend 、ソートモードは SpriteSortMode.Deferred 、そしてステートモードは SaveStateMode.None となります。 ここで重要なのはステートモードが

SpriteBatchクラス その1

SpriteBatch クラスはWindows/Xbox360上で効率的に2D描画をするために設計されています。SpriteBatchで使える機能としては以下のものがあります。 回転とスケーリング ソーステクスチャ領域の指定 カラーモジュレーション バッチ処理とソーティング スプライトの回転とスケーリングを使う場合に気をつける点は Origin パラメーターを指定しない場合は、回転、スケーリングはスプライトの左上を原点として扱います。 上図は、原点の違いによる回転結果の違いです。キャラクターなどをスプライトを使って描画する場合、特に多間接キャラクタなどを表現する場合は

ゲームプログラミング開始

前回は、XNA Game Studio Expressでゲームプロジェクトを新規作成したときに生成されるテンプレートコードの中身の説明をしました。今回は、ゲームプログラムの基本となる以下のものを実装、つまりコーディングをします。 コンテントの読み込み SpriteBatch を使ったスプライト表示 コントローラーによる移動 今回は、簡単な説明に留めますが、次回からはそれぞれについて詳しく説明していきます。 コンテントの読み込み XNAにはビットマップ、3Dモデル、オーディオといったゲームを作る上で必要なコンテントを簡単に、効率よく使うための

アプリケーションモデル その1 ~Gameクラス~

これまで概要的な話をしてきましたが、今回からは実際のプログラミングについての話をしていこうと思います。 今回は以下の動作を実装します。 ウィンドウの作成 グラフィクスデバイスの生成 デバイスロストの管理 ゲームのメインループ 画面を指定の色で塗りつぶす DirectXやMDXで以上の作業をするのには、かなりの量のコードを書く必要があり、特にデバイスロストの管理は複雑で、ウィンドウのリサイズ時はもちろん、マルチモニタでのモニタ間のウィンドウ移動、フルスクリーンへの切り替え、スクリーンセーバーが立ち上がったとき、PCがスリープ状態に入ったときなどに対応するには、少なくとも1,000行以上のプログラムを書かないといけません。

まずは準備から

前回は、XNAの概要について書きました。これからはXNA上でゲームを製作する時に注意する点や、知ってもらいたい事などを開発者という立場から、書いていこうと思います。 と、その前に今回はXNAでゲームを作る為に 現時点 で必要なものを記します。 開発環境 Windows XP SP2 Visual C# 2005 Express Edition .Net Framework 2.0が付属してくる XNA Gmae Studio Express 1.0 (先にC# Expressがインストールされてる必要がある)
Posted by Yuichi Ito | 2 Comments
Filed under: ,

XNAフレームワークってなに?

浅春のみぎり、時下ますますご清祥の段、お慶び申し上げます。毎々格別のご愛顧を賜り、厚く御礼申し上げます。 ……… ダメだぁ、もう丁寧な日本語が書けない体(どんな体よ?)になってる……。個人のブログは家でまったりと、机の上で寝ているねこさん達を撫でながら好好爺然として書いていますが、このブログは会社で書いているせいかテンションが高い?ので、日本のビジネスマナーである丁寧語や美辞麗句、甘言(?)といったもの抜きでサクサクと書いていこうと思います。 XNAフレームワークはゲームを作るのを目的としてデザインされたマネージド・クラスライブラリ群です。DirectXも、元々はゲームを作るためのライブラリとして設計されていたのですが、現在では多岐に渡る機能を詰め込んだ変わりに、非常に複雑化してしまい、遂にはDirectXはゲームエンジン作成者の為のライブラリとまで言われることが多くなりました。

ゲームはたのしく作ろう

私がXNAチームに入ったのは、去年の2月でした。それまでは1993年の ボンバーマン'94 を初めとして、 ブルートフォース といったゲーム開発に15年近く携わってきました。 ゲームをするのも作るのも好きなので、いつも楽しみながらゲーム製作をしてきました。ですが、肥大化する昨今のゲーム製作現場では、ツール製作といったゲームに直接関係の無い作業に長時間掛かることが日常になり、それがあまりに長くなりすぎて自分の本業がゲームを作ることなのか、ツールを作ることなのか判らなくなることが少なからずありました。
Posted by Yuichi Ito | 0 Comments
Filed under: ,
 
Page view tracker