挫折不可能!初級ゲームプログラミング完全マニュアル  RSSを登録する

「ゲームが作りたいけどプログラミングなんて全然知らない」「文系だし数学や物理が苦手だけどゲームが作れるだろうか?」そんなアナタのためのメールマガジンです。PCの電源を入れてからどうすればいいのか?から自分のゲームが完成するまでを応援します!

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2008/02/03

初級ゲームプログラミング完全マニュアル [vol.0031 2008/02/03]

┏┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳┓
┣┛                                                            ┗┫
┃       挫折不可能!  初級ゲームプログラミング完全マニュアル       ┃
┃                                                                  ┃
┃                       第 31 号  2008/02/03                       ┃
┣┓                                                             ┏┫
┗┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻┛
                            - Ads space -
┌┬───────────────────────────────┬┐
││ はじめに                                                     ││
└┴───────────────────────────────┴┘

 みなさま、こんにちは!

 個人ゲーム制作アドバイザーの Byerkut です!

 いつまで経っても寒いです。

 聞けばこの時期は1年でもっとも寒い時期なんだとか、

 そんなことを聞いてしまったらよけい寒くなりました。

 春が待ち遠しいですね。

 さて、今回はプログラミングの基礎についてです。

┌┬───────────────────────────────┬┐
││本日のラインナップ                                            ││
└┴───────────────────────────────┴┘
 
 ・今日のメインテーマ【プログラミング最初の一歩】
 ・あとがき

┌┬───────────────────────────────┬┐
││ みんなの備忘録                                               ││
└┴───────────────────────────────┴┘

  ■Visual C++ 2008 Express Edition をインストールする手順
    http://www.game-create.com/archives/235

  ------------------------------------------------------------------
  以前の情報
  ------------------------------------------------------------------

  ■Visual C++ 2005 Express Edition をインストールする手順
    http://www.game-create.com/archives/12
    
  ■Microsoft Windows SDK をインストールする手順
    http://www.game-create.com/archives/13
    
  ■Visual C++ 2005 Express Edition でプロジェクトを新規作成する手順
    http://www.game-create.com/archives/19

 ■VC++ 2005 EE でプロジェクトにソースファイルを登録する手順
    http://blog.mag2.com/m/log/0000240151/108824854.html

┏┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳┓
┃┃                                                              ┃┃
┃┃                      今日のメインテーマ                      ┃┃
┃┃                                                              ┃┃
┃┃                 【プログラミング最初の一歩】                 ┃┃
┃┃                                                              ┃┃
┗┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻┛

 今週から1からのゲームプログラミングに入っていきたいと思います。

 本来はメルマガの初期にテーマとして取り上げる方が自然かと

 思ったのですが、退屈なお話なので、まずはいろいろと

 ゲームにふれてもらうところから始めていました。

 「何事も基礎から固めたい」という方には今回からのお話の方が

 重要性を感じていただけるかもしれません。



 それでは、基礎の基礎からお話しさせていただきます。

 まず、再確認していただきたいのは、

 「プログラミング言語というのはゲームを作るための道具ではない」

 ということです。

 今までみなさまには C++ というプログラミング言語を

 使っていただいていました( Visual C++ 2005/2008 Express Edition )。
                                    ~~~
 これはコンピュータ上で動作するソフトウェアを作るための

 プログラムであって、ゲームを作るためのツールではありません。

 つまり、ゲームプログラミングというのは、

 プログラミング言語の「応用」に当たるわけです。

 何が言いたいのかと申しますと、

 「 C++ 言語の習得=ゲームが作れる」という

 図式は成り立たないということです。

 ときたま、ゲームプログラミングを志された方が、

 書店で C++ の専門書を買ってみたはいいものの、

 肝心のゲームの作り方がわからず挫折してしまうという

 パターンがあるのですが、これは非常に残念な例です。

 そこで、今回は C++ は何であって何でないのかをお伝えしたいと思います。



 ゲームが作りたいだけなのに長い前置きは退屈かと思われますので、

 いきなり要旨をお伝えします。今回重要なのは、ずばり…



  「 C++ は計算と記憶しかできない」



 …ということです。

 以前にも書いたことがあるのですが、改めてお伝えします。

 ゲームと聞いてイメージされるのは、

 華やかなグラフィックや、プレイを盛り上げる音楽や効果音、

 ジョイスティックやマウスやキーボード、

 最近では Wii リモコンのようなコントローラを使った

 独特のインタフェース、またはネットワーク通信を使った、

 人と人とのふれあいを提供するインフラストラクチャ。

 ゲームを作るという作業はこれらの技術をコンピュータ上で

 実現していくということなのですが、

 実は C++ は、これらのことが一切できません。

 できるのは計算と記憶のみです。

 もちろん計算と記憶もとても重要です。

 計算ができないと RPG を作ったときに敵の HP を減らしたりできませんし、

 記憶ができないと敵に遭遇して戦闘画面に入ったはいいが、

 戦闘終了後にプレイヤーがマップ上のどこにいたのか

 覚えていることができなくなります。

 (戦闘が終わるたびにアリアハンに戻ってしまうドラクエは

  プレイしづらいですよね?)

 つまり、ゲームを作る際にプログラミング言語である

 C++ などが採用される理由は、この計算と記憶の能力を

 高く評価されているからなのです(ちょっと極論ですが)。



 では、どうやれば C++ でゲームを作ることができるのでしょうか?

 たとえばグラフィックはどうやって表示すれば良いのでしょうか?

 みなさまは今まで Windows でゲームを作ってきましたので、

 Windows で説明させていただきます。

 まず、グラフィックを表示しているのはパソコンについている

 ビデオボードという装置です。

 ビデオボードはパソコンの中に「画用紙」のようなイメージの

 メモリ空間を作って、その中に描かれた絵を忠実に

 ディスプレイに再現する役割を担っています。

 では、その絵は誰が描くのでしょうか?

 それが Windows です。

 つまりこういうことです。

   Windows ―(絵を描く)→画用紙―(読み込む)┐
   ┌─────────────────────┘
   └→ビデオボード―(表示する)→ディスプレイ

 ということは Windows に「画用紙に図形をかけ」と命令できれば

 ゲームを構成するための重要な要素である

 「グラフィック」を制御することができるとは思えませんか?

 「でも C++ は記憶と計算しかできないんでしょ?」

 その通りです、しかし、できないのなら外部から借り受ければいいのです。

 C++ のソースファイルから外部の機能を借り受けるためには

 #include という命令を使います。

 たとえばソースコード中で次のように書くと、

 計算と記憶しかできない C++ に Windows を操作する機能を

 組み込むことができるようになります。

  ------------------------------------------------------------------
    #include <windows.h>
  ------------------------------------------------------------------

 たったこれだけです。簡単ですよね?

 これだけで C++ から Windows に「画用紙に図形を描け」、

 つまり「ディスプレイにグラフィックを表示しろ」と

 命令することができるようになります。

 たとえば「画用紙に四角形を描け」と命令するには次のように書きます。

  ------------------------------------------------------------------
    Rectangle(hdc, 100, 100, 200, 200);
  ------------------------------------------------------------------

 同様に「画用紙に円を描け」と命令するには次のように書きます。

  ------------------------------------------------------------------
    Ellipse(hdc, 100, 100, 200, 200);
  ------------------------------------------------------------------

 これ、実はシューティングゲームのサンプルでたくさん使っています。

 enemy.cpp を開いてみてください、

 e001_draw() 関数の中で使っていますよね?

 これはまさに Windows から機能を借り受けて

 ディスプレイにグラフィックを表示している部分なのです。



 今回の内容で重要なポイントはふたつです。

  ・C++ は計算と記憶しかできない

  ・外部の機能を借り受けるには #include を使う

 途中のビデオボードの説明は忘れてしまっても問題ありませんが、

 この2点だけは忘れないでください。

 特に #include <windows.h> で C++ から Windows の機能が使える

 という事実は来週以降のメルマガでは前提の知識となります。

 かならず覚えておいてください。



 来週は小さいプログラムをひとつ作っていきます。

 小さいプログラムをひとつ作ったら、

 それをベースに小さなゲームへと発展させていきます。

 白紙のソースコードからどうやってゲームを完成させるのか?

 その手順をひとつひとつ押さえていきましょう。



 今回も最後まで読んでいただいてありがとうございます!

 それでは!

                                                            Byerkut.

┌┬─────┬─────────────────────────┬┐
││ あとがき │  発行者のつぶやきです                            ││
└┴─────┴─────────────────────────┴┘

 わかる人だけ笑ってください。

 先日スパロボ MX をプレイしていたのですが、

 スターライドセレナーデのステージでクリアに 50 ターンも

 かかってしまいました。

 増援で登場したマイヨとミンが弱すぎて死にそうになりました。

 あのステージを普通にクリアするにはどうしたらいいのでしょうか?

┌┬───────────────────────────────┬┐
├┘                                                            └┤
│  購読の解除はこちら↓                                            │
│  http://www.game-create.com/contents/gp_beginners_ml             │
├┐                                                             ┌┤
└┴───────────────────────────────┴┘
                            - Ads space -
┌┬───────────────────────────────┬┐
├┘                                                            └┤
│   「挫折不可能!初級ゲームプログラミング完全マニュアル」は、     │
│   「いちばんやさしいゲームの作り方」が運営しています。           │
│                                                                  │
│    サイト     : http://www.game-create.com/                      │
│    発行元     : http://www.game-create.com/menu/about            │
│    発行者     : http://www.game-create.com/menu/profile          │
│    コンタクト : http://www.game-create.com/menu/contact          │
│    利用規約   : http://www.game-create.com/informations/agreemen │
├┐                                                             ┌┤
└┴───────────────────────────────┴┘
                 POWERED BY LIBERTIASTER GAME STYLE.
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る