「クラウド型プログラミング習得スクール」通信教育とセミナーの欠点を排除し長所を融合したスクール(塾)
Top > XNA(Game API) > XNAで作るゲーム プログラミングのいろは-はじめに

XNAで作る…いろは

ゲームクリエーターじゃない
Windowsプログラマーのためのゲーム作りのサイト

下記ページは、3.1時代の内容となっています。

XNAで作るゲーム プログラミングのいろは

あなたは、プログラミングには興味があるけど、ゲームは多少興味はあるけど・・・面倒そうだし、そもそもゲームを作るセンスを持っていないよ!

プログラマーには、そんな方が大勢いますよね。

でもね、センスが無くってもいいじゃないですか。

人のリソースを使って、ゲーム・プログラミングをはじめてみましょう!

DirectXで挫折した人も、XNAで再挑戦してみてはいかがです?

  • 何ができるの?
  • どうすればできるの?
  • 他に用意するモノは?

調べても自分が知りたいことは見つからないものです。XNAを使ったプログラミングで、自分が知りたいことをプログラマーの目線からご紹介&解説します。

前提として、C# & .NET Framework ClassLibraryのプログラミングの知識と経験があることとして書いています。

開発言語 C#のみ
開発環境 Visual Studio 2008 (Express可 DVD版)
XNA Microsoft XNA Game Studio 4.0 Language Pack (日本語)
Microsoft XNA Game Studio 3.1
参考サイト XNA デベロッパー センター
  XNA Creators Club Online
  XNA Game Studio 3.1 オンラインドキュメント

 

<初めての挑戦をシミュレーションする>

あなたが「ゲームプログラミングをはじめてみよう!」と思ったとき何をどう調べて、目的の達成に近づけるのでしょうか?

実際にやってみると大変なので、私が代わりにやってみますね。

その前に、

ゲームに関してはWindowsアプリケーションとしてのパズルゲームぐらいしか経験がありません。これまで、DirectXも本は買ったけど少し読んで
サンプルコードを試した程度の経験しかありません。

だから「知らない」と言った方が正確です。

質問系のネットでたまたま「XNA」という言葉があって、全く見たこともない3文字用語。なにこれ?

といった感じで、最終的にはMicrosoft社のゲーム開発環境だと知りました。

Windows、Xbox 360、Zune と3つの環境で互換性があるってどんなんだろう?

興味がわいてきて、はまってしまったわけです。

XNA Creators Club Onlineはクリエータのためのサイトになっていて、豊富な実践向けのサンプルが数多く用意されています。

スターターキットとして

こういった本格的なサンプルプログラムもあります。

では、
こんな予備情報をまったく持たない状態で進めて行くとどうなるのかを見てみましょう。


「Windows用ゲームプログラミングに興味を持つ」

今の時代、調べるのには苦労しないのでたすかるな。

まずは、

Googleから「Windows ゲーム 開発」で検索してみた。

「XNA」というキーワードが目につく。「XNA」は、はじめて聞く言葉だけど、どうも、マイクロソフトの製品?のような感じ。

次に「XNA」で検索すると、

「XNA デベロッパー センター」
http://msdn.microsoft.com/ja-jp/xna/default.aspx

ページを開いて眺めてみてもよく分からない(読む気がしない)。
どうも開発ツールのようだ。

「XNA Creators Club Online」
http://creators.xna.com/ja-JP

ゲームクリエータのサイト?

「ラーニング」「スターターキット」「XNA Game Studio 3.1 ダウンロード」といったキーワードが・・・

開発環境のようだ。

今度は、「XNA Game Studio 3.1 」で検索

2009年7月9日 ... Microsoft XNA Game Studio 3.1 を使用すると、Windows PC、Xbox 360 (有効な XNA クリエーターズ クラブ プレミアム メンバーシップが別途必要です)、および Zune をターゲットとしたゲームを効率良く開発することができます。

そうなんだ!

これを使うとゲームを開発することができるんだ。で?

今度は、「XNA Game Studio」で検索

ヒットしたサイトから色々と見て分かったことは

言語は、C#3.0 Visual Studio 2008による統合環境と関係がありそう

ニュースを読むとよく分かった。

2006年12月13日、マイクロソフトはWindowsベースのPC環境下でWindows用とXbox 360用のゲームをほぼ無料に近い形で制作できる開発プラットフォーム「XNA Game Studio Express」を発表した。

さらに、こんな記事もあった

グラフィックスに関してはDirect3D 9ベース……というかそのサブセット版というような感じになっている。すでにWindowsプラットフォームには、.NET Framework用にManaged DirectX(MDX)というものが提供されているが、XNA GSEのグラフィックスAPIはこれとも結構違っているのが少々気になる点だ。MDXのボーンスキニング処理などのアニメーション関係のAPIがごっそり削られているのは、ちょっと驚かされる。なお、MDXからXNA Frameworkに移植する際には、そのガイドラインをまとめたこちらを参照するといいだろう。

これで、おおよその事情は分かった。

用語集の神様。Wikipediaでも確認しておこう。

要約すると、
Visual Studio 2008 (Express版も可)
XNA Game Studio 3.1
C#で開発する

 

だけど、ゲームはどうやって作るのだろう?

取りあえず、
「XNA Creators Club Online」へ行ってダウンロードしてみよう!

やって見なきゃ、何がどうなのかさっぱり分からないから。

Visual Studio 2008 はインストールしているので、XNA Game Studio 3.1をインストールする。

サンプルコードをダウンロードして(コードの意味は分からないけど)コンパイルして実行してみた。

「おっ! これは!!!!」

サンプルゲームや例題が色々とあるのでどんどんダウンロードして試してみた。

「すごい」

「こんなこともできるの!?」

「レーシングゲームってすごくリアルだ!」

どうやって作っているのか、コードを見てもよく分からない。

自分としては、ゲームクリエータのセンスなんて全く無いと思っているから、
オリジナル作品を作ってみようとは思ってもいない。

だけど、プログラマーとして、どういう技術で作られているのかは興味津々だ。

 

ゲームを作る技術や手順が知りたい!

サンプルプログラムは、豊富だ!

その中から、簡単なコードを選んで具体的に調べてみてみると、Gameクラスのメソッドをいくつかoverrideしているだけだ。

そこにはDirectXの面倒なコードは一切なく、Formベースの画像描画よりもシンプルだ。

知っていて損はなさそうだ。(何となく・・・直感?)

でも、コードをみているだけでいろんな疑問が浮かんでくる

  • 画面サイズはどうやって変更するんだろう。
  • 背景色はどうやって変えることができるんだろう。
  • Window上にマウスを持ってきても無効になっている。どうすればマウスが使えるのかな?
  • 2Dや3D用のファイルを作るのはどうすればいいんだろう。
  • デザイナ機能は一切使えない。というか全てがコードとリソースだけになっている。
    どんな開発手順で作っていくんだろうか?

ということで、実際に自分が知りたいことを調べてみることにする。

 

▲ページトップに戻る

inserted by FC2 system