ID-Blogger

「プログラミン」でのゲームの作り方のポイント

文部科学省の「プログラミン」TOPページ

先月の2010年8月に正式公開された文部科学省の「プログラミン」が一部で話題沸騰中です!

いわゆる「未来のスーパープログラマー」になるような人材育成を目指して、子供のうちからプログラミングに慣れ親しんでもうらおうという意図のようですが、そういう部分を抜きにしても誰でもカンタンに自分の作品が創れる場所としてすごく優秀なのかな~と思います。
パソコンやケータイに限らず冷蔵庫や扇風機、炊飯器にいたるまで、ありとあらゆるモノにプログラムが活用されている時代ですから、これを機にプログラムとは実際どういうものなのかを学んでみるのもイイのではないでしょうか?

たまたまTwitterのタイムラインに「親子でノートパソコンを並べて作ってます」というTweetが流れてきたのに触発されて、この「プログラミン」を使って簡単なゲームの制作にチャレンジしてみましたが、意外なところで引っかかったり...。
基本チュートリアルは本体サイトで十分わかると思いますので、ゲームの作り方のポイントについて備忘録を残しておこうと思います。

有名ドライブゲームのオマージュ?「アウト・ランランラン」

SE○Aの有名ドライブゲーム「アウ○ラン」のオマージュというか...真っ赤なスポーツカーで疾走する「アウト・ランランラン」というゲームを作ってみました!

プログラミンで作ったゲーム「アウト・ランランラン」

矢印キーの↑↓で自車を操作して、敵車や石を避けつつゴールを目指すゲームです。くだらないんですがまさかのミラクル?!でなかなか面白いゲームに仕上がったと思います。
他の人が作ったプログラムでも中身を見る事が可能ですので参考にしてみてください。

どんなプログラムでもそうですが、まず最初にどんなプログラムにしたいのかという完成形を練りこんだ上で作業した方がイイと思います。

矢印キー入力で移動させる自車操作ルーチン

基本的にプログラムは下から始まって、上に向かって順番に解釈されていきます。この辺の概念を飲み込めないと作るのは難しいかもしれません...。逆にピュアな子供ゴコロで「そういうモノなんだ」と素直に受け取るくらいで丁度いいかと思いますw

基本中の基本のプログラムなんですが、矢印キーの入力に反応して移動させるのにちょっと手間取りました。
お手本プログラムの中の「すごいお手本:シューティング」を見ると結構複雑な処理してますね...というワケで自分なりにまとめて自車のルーチンをこんな風に組んでみました。

「プログラミン」での操作ルーチンの作り方の例

ゲーム開始時はタイトル画面なのでキー入力等を受け付けないように「1」のフラグ立つまでが停止してあります。

プレイ中の操作ルーチンは、各キー操作やフラグの受付けを囲む「ズットン」をさらに「イッペンニン」で囲むようにしてあげればいいようです。ゲームのように長く続くプログラムではこれが基本スタイルになってくるかと思います。

プログラミンでネックになるのが座標判定ができない事です。そのまま組んでしまうと画面外に出ても無限に移動し続けてしまいますので、何らかの絵を配置して「ブツカッタン」で移動を制限させる必要があります。他の制作者の方のプログラムを見ると、画面の4つの辺に絵を配置して移動制限している場合が多いようです。
この辺りはゲームシステムの設計思想が重要になってきますので、事前に考えておいた方が良いと思います。ちなみに「アウト・ランランラン」では操作を上下移動のみに限定し、ガードレールにぶつかるとゲームオーバーになるシステムで無限移動を回避しています。

最終的にフラグ「2」のゲームオーバーかフラグ「3」のゴールのどちらかのフラグを受け取ったら、操作ルーチンから脱出して機能を停止させるようにしています。

敵車に思考ルーチンっぽい移動ルーチン

ゲームなんでやっぱり敵みたいなのがいた方が緊張感を刺激して面白くなるかと思います。がしかし前述の通り「座標判定がない」ので思考ルーチンみたいなのを作るのは諦めた方が良さげです。
というワケで敵車に思考ルーチンっぽい移動ルーチンをつけてみる事にしました。

「プログラミン」で敵車に思考ルーチンっぽい移動ルーチンをつける作り方の例

自車の場合と同様に移動やフラグを囲む「ズットン」をさらに「イッペンニン」で囲み、フラグが立ったら機能停止するルーチンが基本スタイルになります。
敵車は画面外から登場して左に移動して抜けて行きますので、画面外に出たら0秒で元の位置まで戻します。こうする事で延々と敵車が登場するような仕組みになっています。

基本がひとつ出来上がったらコピーして数種類の敵車と障害物を作ります。出現時間や移動量を調整して性格に変化をつけてあげれば、意外性があってより面白さが増します。
「アウト・ランランラン」の場合は性格の違う敵車A・敵車B・石の3種類を作りました。それぞれの移動ルーチンが織り成すパターンに緩急があってなかなか手に汗握る展開になったかと思います。

各キャラクターや絵の画面配置

最終的に各キャラクターや絵はこんな風にに画面に配置しています。

「プログラミン」での各キャラクターや絵の画面配置の例

細かな点に関しては「アウト・ランランラン」を見ていただいた方が早いかと思います。
だいたいこんなカンジでしょうかw

「プログラミン」は子供向けとはいいつつも、実際のプログラミングと同じように発想力が最大のキモとなります。それほど多くの事はできませんが、その辺は割りきって与えられた制限の中でどれだけ自分のイマジネーションを全開にできるかで勝負していきましょう。
クリエイターやプログラマーの方に限らず、いろんな方がどんどんチャレンジして創造するコトの面白さを体験していただければと思います!!