C言語ゲームプログラミング 第1回講座
 

Study C Ver2販売開始のお知らせ

 C言語の勉強や教育用に最適です。
 2004/8/23よりStudy C Ver2の販売を開始しました。
 Study C Ver2の新しい機能については
 こちらをご参照ください。
C言語でゲームプログラマーを目指す方へ
 ■C言語プログラミング講座
 C言語の勉強は、当サイトで一番人気の
 C言語学習塾をご利用ください。


***このページは現在加筆中です。***

個人レベルで開発が可能なゲームの実行環境について検討してみたいと思います。

大きく分けて据え置き型、携帯型の実行環境に分かれると思います。 据え置き型といえば、パソコン(Windows、Mac、Linuxなど)、Wii、PS2、PS3、Xbox360などがあります。 携帯型といえば、Nintendo DS、PSP、携帯電話などがあります。

1.据え置き型
□ パソコン
Windows以外にもMac OSやLinuxもありますが、わざわざマイナーなOS上で作る必要もないと思うので、Windows上での開発について記載します。 Windows上では、C言語、C++、C#、JAVAなど色々な言語で自由な開発が可能です。 ただし、最終的にはWindowsが提供するAPIであるGDI+かDirect Xによるプログラムになるのではないかと思います。 現在、市販されている多くの3DゲームはDirect Xで作成されているのではないかと思います。 一方、2Dのゲームや趣味で作るようなゲームはGDI+での作成で十分だと思います(初めてゲームを作るような人は間違ってもDirect Xで作ろうと思わない方が良いと思います)。 Study Cで作ったゲームも、GDI+を使ったものとなります 最近は、これ以外にも「.NET Framework」、「Managed DirectX」、「XNA Framework(XBox360参照)」といったものが出てきています。 Windowsでゲーム作成を勉強するという人はGDI+で十分ですが、本格的にゲームを作ろうという人は、今後どれが主流になるか見極めていく必要があります(新しいものは、いつの間にか来てしまうことがあるので)。

□ XBox360
XNA Game Studio Expressという開発ツールが無償提供されています。 Windowsマシンで無償提供の開発ツールを使いXbox360用のゲームが作ることができます(開発言語はC#)。 また、作成したプログラムはPC上でも実行可能でXbox360に転送しなくても実行確認をすることができるようです。 ここまでは良いのですが、作成したプログラムをXbox360へ転送し実行するには「XNAクリエイターズ・クラブ」という有料(年間9,800円)のサービスを加入する必要があります。 「XNAクリエイターズ・クラブ」に加入していないとXbox360上で作成したプログラムを実行することができません。 つまりXbox360でプログラムを実行したい間は、毎年9,800円を払い続ける必要があります。 これは自作したXbox360のプログラムを一般に公開したいと思ったときも同じことになります(毎年9,800円払っているごく一部の人しか公開したプログラムを実行できません)。 「メーカーがゲーム開発環境の無償提供」と画期的な話のようだったのですが、結局は一般に配布できないという極めて中途半端(というかあまり実用性のない)な企画のようです。 XNA Game Studio Expressや資料などのダウンロード

□ PS2
かなり昔になりますが、10数万円で「ネットやろうぜ」という開発キット?が販売されていました。 たしか、作成したプログラムを自由に配布することはできなかったような気がします。 いずれにしても、かなり昔に販売は終了してしまっているので入手することはできません。

□ PS3
PS3で動作するLinuxが存在します。 Linux上で動作するプログラムを作成すればPS3で実行させることができるわけです。 ただし、残念なことにグラフィック表示にGPUの機能(2D、3Dアクセラレーション)が使用できないとことです。 つまりCPUで直接フレームバッファに書き込んで行くしか方法が無いわけです。 実用的な速度のゲームが作れるのかは疑問です。 購入時にLinuxのためのハードディスク領域を確保しておく必要があるとのことです。 つまりPS3にもともとインストールされているゲーム用のシステム領域?とLinuxのための領域をそれぞれ作っておく必要があります このような準備をしておかないと、領域を確保する時にゲームのデータをバックアップする必要があります。 外部メディアも必要ですし、Linuxをインストールしようと思っている方は、購入時に領域確保を行った方が良いのではないかと思います。 2Dアクセラレーションを動かすことに成功した模様との書き込みや すでに使えるようになったとの書き込みもありました。 近い将来GPUを活用したプログラムを自由に使える日が来るのではないかと楽しみにしております(逆にアクセスを禁止されてしまうかもしれませんが)。 とはいえ、今のところ極めて微妙(悪い意味で)な実行環境であることには間違いありません。

ダウンロードやインストールの手順

□ Wii
調査中


2.携帯型
□ PSP
市販のメモリースティックが記憶媒体として使われているゲーム機なので 最も自作のプログラムが動作しやすそうですが、通常ではメモリースティック内の プログラムを実行することはできません。 ただし、PSP本体のファームウェアを改造(改造されたものと交換=カスタムファーム)することによってプログラムの実行が 可能となります。 ファームウェアの改造は、それを阻止しようとするメーカの対策により 事実上不可能な状態となっていました。 具体的には、古いファームウェアのバージョンの まま更新していないPSP本体を持っているか、ルミネスというバグの発見されたソフトを 持っているといった、ごく一部の人達しかファームウェアを改造することはできませんでした。 ところが最近になって状況が変わりました。 PSPのバッテリーに細工を加えることでファームウェアの改造が可能になりました。 何通りかの方法があるようですが、 パンドラバッテリーなどと呼ばれている2,000円程度の特殊なバッテリーを購入してしまうのがもっとも簡単な方法だと思います。

新旧のPSPに対して、有効な方法のようです。無料でないとはいえ、Xbox360の年間9,800円に比べると雲泥のさがあると思います。 ちなみに、 パンドラバッテリーは1度か使えない訳ではありません。知り合いに貸してあげたりして、何度でも使用することが可能です。 また、現在パンドラバッテリーに対するメーカー側の有効な対策も出ていないようです。

□ Nintendo DS
Gameboy アドバンス用と同じように、microSDカードなどを利用して プログラムを格納することができます。 画面も2画面あったり、CPUも2個搭載されていたりで ゲーム作成は、ちょっと難しいかもしれませんが、世界中で人気のゲーム機ですから チャレンジしてみる価値は大いにあると思います。 最近では、このようなカードのことをマジコンと呼ぶそうです(Nitendo DS用は、NDSマジコンと略します)。 NDSマジコンは多数の物が用意されております。 基本的におおきな違いはないようです。
R4 DSが一番売れているとのことです。
NDSマジコンも有料ですが、PSPと同様にXbox360の年間9,800円に比べると雲泥のさがあると思います(ゲーム1本分程度の出費でいつまでも使えるのですから)。

□ 携帯電話
NTT docomoなどほとんどの携帯電話が、JAVAによるプログラミングだと思います。 ちょっと苦戦しているようですが、一番台数が多いNTT docomoの携帯電話について記載します。
NTT docomoが提供するDoJaをダウンロードして開発を行います。 Windows上で動作するエミュレータでも実行することができます。 携帯電話に転送するには、インターネット上にアップロードする必要があります。 ブロック崩しゲームを試しに移植してみました。 iアプリの開発自体は、以前に仕事で行ったことがあるので1時間ほどで移植は完了しました。 JAVAもCも大差ないので簡単に移植できました。 携帯電話は機種ごとに画面の解像度が異なり、どんな画面サイズでゲームを作るかで結構迷います。 少し前までは、プログラムサイズの制限も結構貧弱でしたが今ではかなり改善されています。

ツールや資料のダウンロード

3.昔のプログラミング可能だった携帯型ゲーム機
□ Gameboy Advance
もう過去のゲーム機ですが、Nintendo DSで動作させることができます。 Nintendo DSのプログラミングは多少難しい点があるので 初めてゲーム作成を勉強する人にはGameboy Advanceの方が適しているかもしれません(Gameboy Advanceでのゲーム作成の<解説書まで販売されていますし)。 プログラムは、フリーのC言語(C++)を使用して作成します。 昔は、ゲームを格納するメモリカードと転送ケーブルが主流でしたが、現在はmicroSDカードにプログラムを格納するタイプになっているようです。

□ワンダースワン
Wonder Witchというゲーム開発用の環境が販売されていました。 今では、ゲーム機自体の入手も困難だと思います。


お問い合わせ先 C言語ゲームプログラミングのトップページに戻る Copyright(C) 2003 潟Iーキッド