XNAプログラミングガイド

Last-modified: 2011-07-31 (日) 01:23:04

XNA概要

マイクロソフトの1億人ゲーム開発者計画の略称(嘘)。
XNAは、XNA's Not Acronymed 、つまり「XNAは略称ではない!」の略称(笑)。

Windows PC、Xbox 360、Windows Phone 用のゲームアプリケーションを作るためのマルチプラットフォーム対応のフレームワーク。
ただし、厳密にはプラットフォームに依存するコードは存在するし、またXNAのバージョンによって記述する内容が変わることもある。
が、とりあえず、Windows PC、Xbox 360、Windows Phone向けに同時開発できて、しかも世界中への配信までできるというプラットフォームは中々すさまじい。
マイクロソフト以外でいえば、AppleのAppStore、GoogleのAndroidMarket、IntelのAppUpに似ている。

学習法

下準備

これは、XNAに限らず、どんなフレームワークでも、ここから始めると良い。

  • とりあえず絵。SpriteBatch、SpriteFontから始めるのが良い。
  • 音やビデオの出し方も必要ならば覚えよう。ここではとりあえず単純に鳴らすことだけ考えよう。
  • 次にアニメーションの基礎。ゲーム内時間やFPSに基づき何をすれば絵を動かせるのかを覚えよう。
  • デバッグ。クラッシュしたときの対処法や、パフォーマンス不足のときの対処法を身につけよう。
  • マルチスレッド。ゲームプログラミングでは最早必須。スレッドを立てて、排他制御を考えて、デッドロックしないよう気をつけて、ロックフリーにできないか考える。とにかくスレッドの考え方は必須。
  • データ管理。SpriteBatchなどで既にjpgやpngなどの絵を出せたかと思うが、本気のゲームを作ると数万程度のデータを扱う。これを名前で管理するのは面倒である。enumなどのIDで管理した方が、後々、名前変更や使用しているかどうかをチェックしやすい。

3D

  • 3Dに関しては、非常に多くの知識が必要。数学的知識、センスはもちろん、3Dプログラミングに関する技術単語が普通に出てくる。また情報源も英語しかないこともある。少しずつ覚えよう。

関連リンク

App Hub
http://create.msdn.com/ja-JP
XNA Game Studio 4.0
http://msdn.microsoft.com/ja-jp/library/bb200104.aspx
Visual Studio 2008 Express Edition > 学習情報 > XNA
http://www.microsoft.com/japan/msdn/vstudio/express/learn/xna/default.aspx
超初心者のプログラム入門(XNA)
http://sky.geocities.jp/kmaedam/xna/xna.html
XNA情報 XNA Game Studioでゲームプログラミング
http://xna.xelf.info/