【プログラミング】ゲームを作るとき何から始めたらいいかわからないときのとっかかり


初めに

中学生とかで、プログラミングを打ち込み始めたけれど、いざ自分でやろうとすると、とまるということが良くあると思います。

はて、なにすればいいんだっけ?

そんなとき、どうすればいいのか、昔 C Magazineで学んだヒントをもとに説明します。

考え方のとっかかり

そういうときは、大枠かつメインの軸を考えます

最初は中心のコアとなる部分にだけ集中し、細かいことは後回しにします。

例えば、雪や雲も真ん中にチリがないとできないように、まずとっかかりのごみでもいいので何か中心に置きます。

家でいうと大黒柱(後で置き換え可能な)なイメージです。

ゲームの場合は、メインループ処理を考える。

ゲームの場合は、メインループ処理を考えると、整理しやすいです。

ここでは、インベーダーゲームのようなものを考えます。

インベーダーゲームは、宇宙空間において、画面下に自機がいて左右に動き、弾を発射し、画面上部にいる敵エイリアンを打ち落とします。

メインループ

ひとくくりの処理単位ごとの切り口でアルゴリズムを作っていきます。

例えば 一定間隔ごとに 一塊の処理を行うように設計します。一塊の処理をするところをメインループ処理とします。

ギャラガなどのゲームでは、自機の移動、敵の移動、各弾の移動、背景の移動、当たり判定などがセットになります。スコアやゲームオーバー、効果音等の処理は各処理の中でやります(一例なので実際は好きに設計してかまいません)

  • メインループ(タイマー起動)
    1. 自機の移動
    2. 敵の移動
    3. 各弾の移動
    4. 当たり判定
    5. 背景の移動

このように1コマ1コマずつ処理することになります。
右を押している間、自機の移動は、この1コマで x座標を右に増加させたりします。

プログラムは、起動⇒初期化処理⇒メインループを呼び出すように、ほぼ空関数でいいので作ります。

メインループは文字通り基本的に何度も繰り返し流れるように作ります。

メインループの中でしたい主な処理ごとにサブルーチンを区切っていきます。

個々のサブルーチンでまた同様に、処理を作っていくようにします。

最後に

内容としては物足りないかもしれませんが、

自分でゲームを作るときの進め方をざっくり説明しました。

このように、初めての時は、バックボーンを作ると考えやすくなります。もちろんバックボーンはあとで改良したり取り換えてもいいです。

仕事においても、このような考え方が大事となります。特に新規にやりたいことを事業化するときなど重要です。

何度かやっていれば、新しいことに取り組むのに苦ではなくなります。そして、やってみたいと思ったことに対して比較的困難少なく、実現性のあるフィージビリティのあるプランが立てられるようになります。

多くの人は、バックボーンとなるコアな段取りを作るのが難しいです。理由としてはいくつか考えられます。このコツを知らなかったり、ものを作ったり進めたりする経験がないせいもありますが、バックボーンは欠点だらけであるから、会社で進めようとすると、批判されたように感じるので、無意識にそれを避けがちになります。また、当事者意識がなかったり、本気度が足りなかったり、せこいことを考えているから、気持ちが持たないのが主な理由だと思います。

そんなことは、大したことはないんです。

多分その先にあなたの価値がいきるところがあると思いますので、社会的価値があると思ったらぜひ進んでいってほしいです。しかも自分が言い出したことが形になるのはうれしいものです。

大事なことを作ろうと普段から心がけていればこういう時に提案できるはずです。普段から価値のあるものを作ったり、自ら挑戦したり体験したりすれば乗り越えられます。

先駆けという言葉があります。魁といいう言葉もあります。戦国時代一番槍は報奨金があったようです。それは場を動かし、そして一番勇気がいるからです。

できれば、より多くの人に自ら勇気をもって切り開き、進んでいってほしいです。

関連リンク

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

12 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です