初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

子どもでもわかる Scratch 入門

19.インベーダーゲームを作ろう その1

 

昔、大ヒットしたアーケードゲーム「スペースインベーダー」を
作ってみたいと思います。
と言っても本物のように作るのはむずかしいです。
そのため、ルールはざっくりとしたものにします。
「インベーダー風なゲーム」という感じです。

 

この講座を途中から読んでいる方へ

初めて扱うことについては丁寧に説明していますが、
徐々に解説を省略するようにしています。
つまり、章が進むにつれ説明がラフになっていきます。

むずかしいと感じたら、初めから読むことをおすすめします。

 

 

講座の受け方

すでにゲームを何本も作っていて、ある部分の仕組みを知りたいのなら
必要な所のみを読むだけで良いと思います。

ゲームを作ったことが無い、または、完成させたことが無い
という人は、説明と一緒に作っていくことをおすすめします。

 

プログラミングというものは、慣れていないとつまずき易いです。
一緒に作っていくことで次のような良い点があります。

・コーディングに慣れる (プログラムを書くこと)
・ツールの使い方に慣れる
・トライアンドエラーに慣れる
・検索に慣れる (分からない点がある時は調べるようにしよう)
・デバックに慣れる (プログラム上の誤りを取り除く作業)

慣れてくるとゲーム作りがより楽しくなりますよ。

 

 

ゲームの内容を確認しよう

今回のサンプルです。プレイしてみて下さい。(注:音が出ます)

画面が表示されないときはここをクリック

 

ゲームの仕様は次のようにします。

・自機は左右のカーソルキーで移動できる
・スペースバーでビームが撃てる
・自機のビームは、画面中に1発しか存在できない
・敵は横移動しながら、壁まで来ると少し下に降りる
・敵の弾に当たる、または、敵が自機と同じ位置まで来たらゲームオーバー
・敵の数が少なくなると進攻速度が速くなる
・敵が全て消滅したら、再度発生する。この時、防壁ブロックも復活する
・敵一匹を倒すと100点、全て倒すと2001点のボーナスが入る

こんな感じです。

 

今後の話ですが、あるゲームをマネして作ろうとしたとき、
そのゲームの仕様をメモ帳に書き出す習慣をつけましょう。
プログラミングは様々な書き方ができますが、仕様に適した書き方が大切です。
仕様を理解せずに雰囲気で作り始めると、
「今のままの書き方だと、次の仕様を実現するのが面倒くさい」
なんて状況が多くなります。

 

 

リミックスしよう

一緒に作っていく為のプロジェクトを作成しましょう。

このゲームを作るには、素材となる絵と音が必要です。
今回は、必要なものが入った素材プロジェクトをリミックスして使いましょう。

リミックスとは、他ユーザーのプロジェクトを自分のプロジェクトへコピーして 改造できるようにする機能です。

 

サインインした状態で次のプロジェクトを開きます。

[ 素材プロジェクト ]

プロジェクトを開くと右上にリミックスのボタンがあります。
ここをクリックします。

素材プロジェクトを開いてリミックスする

 

エディタになったらタイトル名を確認します。
プロジェクトの名前に remix が付いています。

タイトル名にremixが付いている

これで準備OKです。自分のプロジェクトとして自由に改造できます。

 

 

スプライトを隠そう

作業を始める前に、まず、使わないスプライトを隠します。

このプロジェクトには6つのスプライトが登録されてます。
自機 player を除いて、その他のスプライトをすべて隠しましょう。

自機を除いたスプライトを隠す

 

それぞれに上記のコードを入れて実行すると、自機だけ表示されます。

隠した後は自機だけ表示される

 

 

背景を黒くしよう

ゲーム中の背景が黒なので、ステージの背景を黒く塗ります。

まずステージをクリックし、背景タブをクリックします。

ステージの背景を選択する

 

2つの背景が登録されているので、一番目の背景を選択します。
そしてビットマップに変換をクリックします。

ビットマップモードに変換する

 

塗りつぶしをクリックして、カラーパレットの明るさを0にします。
これで黒になります。

明るさを0にして黒にする

 

続いてツールの塗りつぶしをクリックし、編集エリアをクリックします。
黒色で塗りつぶすことができましたね。

塗りつぶしツールを使って編集エリアを黒く塗りつぶす

 

 

自機をカーソルキーで動かそう

自機 player のスプライトを動かします。

次のようにコードを作りましょう。

カーソルキーで自機を動かす

x、y 座標の指定は、初期配置です。
ここから x 座標だけを操作します。つまり、左右にしか動かせません。

 

実行してみて下さい。
そして、左カーソルキーをずっと押して下さい。
自機が半分、隠れてしまいました。

自機が画面外へ出てしまう

 

これではゲームとして良くありません。
ステージの外へ出ないように変更します。

x座標を見て、移動範囲を制限する

x 座標を調べて制限をかけます。

右移動するときは
x座標が200より小さく、かつ、右向き矢印キーが押されたとき
という条件にします。

 

かつはどちらの条件も成立している時のみ有効になります。
ステージの端に来るとx座標の200より大きくなってしまうので、
条件が満たされず移動できなくなるのです。

演算ブロックのの向きには注意しましょう。

 

次回に続きます。