こんにちは!コンじゃぶろーです!
はい、隙間時間を見つけてコツコツ記事を書いていきます。
少量でもコツコツ書いていくと、心に決めたのであります。
今日は、「はじプロ」でRPGみたいなボリュームの大きなゲームを作る時の心構えを説明します。はじプロでは、使える材料の総数が決まっています。なので、無限に大きなゲームを作る事はできません。
ちょうど、レゴブロックのマックス数が決まっているような感覚でしょうか。
なので、1つでは作り入れないものは、複数作ってつなげてあげる必要があるわけです。今日はそのあたりの考え方に関して解説していきます。ちょっとしたフローチャートの応用になりますよ。
もし、「フローチャート」って何?と思った方は、この記事に戻ってみてください。
はじめてゲームプログラミング、ゲーム規模の問題
さて、早速始めていきます。はじめてゲームプログラミングでゲームを作ると、必ずゲーム規模(大きさ)の問題が出てきます。容量という言い方をしたりもします。
はじめてゲームプログラミングでは、1ゲームあたりのノードン数に制限があります。
ノードンに制限があるので、1個だけじゃなくて、2個目3個目とゲームを作りそれらをつなげてあげればOKなんです。
はじめてゲームプログラミングは、1ゲームあたりのノードン数に制限がある
1ゲームあたりの「ノードン」の数は、512体まで。そして、ノードンをつなぐワイヤーの本数は、1024本までです。
512とか1024って、どうしてこんなに中途半端な数字になっているの?と、思われる方もいるかもしれません。しかし、プログラミングの世界では、512や1024は非常にキリが良い数字になっています。
簡単に説明すると、コンピューターは「2進数」で管理されています。
普段使い慣れている数字は、0〜9の10種類の数字で構成されているので「10進数」。コンピュータは、0と1で管理されているので「2進数」です。
10進数の世界では、「9」の次は「10」。2進数の世界では、「1」の次が「10」になり「2」を表します。
このあたりこんがらがってしまいますが、もっと複雑なものを普段使っているので、それでイメージしましょう。それは「時」「分」「秒」です。時間の概念は、小学生で習うものなので、みんな知っていると思います。
「時」は、60分に1ずつ増えて、24時間の次に「日」を1つ増やします。
「分」は、60秒ごとに1増えて、60分たつと「時」を1つ増やします。
このように、世の中には10進数以外のルールが普通に使われています。コンピュータが2進数で考えられているのは、電球のON/OFFで数字の計算をしていたからです。一列しかないそろばんで計算すると考えれば、イメージつく人も多いかもしれません。
一見非効率に見えますが、電気の力で処理するので異常な速さで計算できるんです。
というわけで、2の倍数である「2」「4」「8」「16」「32」「64」「128」「256」「512」「1024」は、非常にキリが良い数字と言えるわけです。
ちょっと長くなってしまいましたね。
わからなくても問題ありません。こういった事は、中学生とか高校生で習う事ですから分からないのが当たり前です。
はじめてゲームプログラミングは、他のゲームを起動できる
そんなこんなで、はじプロでは、ノードンは512体までしか使えません。
はじめてゲームプログラミングでは、他のゲームを起動するノードンが用意されています。
その名も「ゲームきりかえノードン」です!使い方は、ゲーム終了やリセットと同じです。
はじめてゲームプログラミングの「ゲームきりかえノードン」
ゲームきりかえノードンを使えば、他のゲームに切り替える事が可能です。
ただ、切り替えるだけではなくて、数字データを受け渡しする事ができます。
どういう事かというと、「フラグ」を渡す事ができるという事です。
「フラグ」というのは、ゲーム開発用語ですが、割と一般的な言葉になっていたりします。「死亡フラグ」とかって聞いた事ありませんか?恋愛アニメや漫画でも「フラグ立った」とか使っている場合があります。
ゲームの中では、「IF要素(選択によって違う世界)」があります。
なので、選択した結果を「フラグ(数値)」として持たせる事で、処理を変える仕組みがあります。Aを選択したプレイヤーは、「フラグ」を「0」から「1」に変える。その後で、それを調べて「1」になっている時だけ、何らかのイベントを発生させるようにします。
ゲームが、アニメや漫画と圧倒的に違うのはここです。プログラミングの世界では、この分岐の事を「ブランチ」と言ったりします。
ちょうど昔作った「はじプロ」のゲームで、フラグ切り替えだけを表現したものがあるので紹介します。
こちらは、ボタンを押すたびに、フラグが切り替わっていく処理になります。待機時は、左端のフラグが立つようになっています。
それだけだと分かりづらいので、フラグの状態に応じてキャラクターのモーションを変化させる事にしました。これをみてイメージつきますかね?
ゲーム中のキャラクターの動きは、細かく状態が管理されています。今、どんな状態なのかを「フラグ」を見れば分かるようにしているんです。どうしてフラグで管理する必要があるのか?という疑問を持たれた方は、こちらの記事を復習してください。
ゲームAからゲームBに切り替える場合でも、ゲームAでフラグを立てたユーザーだけゲームB開始時の位置を変えてやる事もできます。
ちょっと長くなってしまったので、「きりかえノードン」に関する説明は、他のサイトにお願いするとします。「きりかえノードン」で検索すると、丁寧に説明してくれているブログがあります(他力本願スタイル)。
はじめてゲームプログラミングの「切り替え」はレベルデザインで考える
切り替える方法や、意味に関して解説しましたが、どこで切り替えるの?という疑問が湧くと思います。今、ブログを書いている最中に、あなたの心の声が時空を超えて聞こえてきました。
このあたりは、何度もやって失敗して覚えていくというのがセオリーだったりしますが、それだと離脱者が増えてしまうので、少し丁寧に解説したいと思います。
カッコよく言うと「レベルデザイン」をしっかりすることになります。
「レベルデザイン」って、聞き慣れない言葉ですよね。
レベルデザインとは?
レベルデザインとは、簡単にいうと、ステージ作成です。
地面の広さ、木や岩の位置、敵の配置になります。
ゲームの難易度に直結する部分なので、「難易度調整」の事を指して「レベルデザイン」と言う人もいますが、哲学に近いので、どちらで理解しても問題ないと思います(個人の意見です)。
要は、面白いステージ作りましょうと言う事です。
海外のゲーム開発では、「マップ」の面白さに命をかけている所があります。
論理的に面白いマップを作ろうとするのが日本人クリエイターで、パパッとマップを作ってそこで遊びながら面白くしていくのが海外クリエイターです。
なので、一人称シューティングゲームとかのマップ作成技術は、海外の方が上じゃないかなと思います。
少しずつ難しくしたり、楽な場所を用意して緊張を緩和して楽しいリズムをイメージしてデザインしていきましょう。このあたりは、本当にデザインの世界です。
おおまかなレベルデザインをフローチャートで考える
そんなこんなで、ちょっと寄り道に寄り道を重ねましたが、シンプルなゲームの分け方は、このようになります。
とてもシンプルですね。なんとなくわかると思います。
これは、ゲームを3つに分けるパターンですね。
はじプロの場合、かっこよく作ろうと思うとゲームはどんどん分けてしまった方が良いかもしれないです。熱中してしまうと、すぐに上限に達してしまうからです。
一度、シンプルなプロジェクトを作成し、上記のような流れで切替を楽しんでみてください。すると、驚くほど意味や使い方が分かると思います。ゲームの切替を使ったゲームを考えてみても面白いですよ。
ただ、今回作ろうとしている「メタボーラーRPG」に関しては、このようになります。
どうしてこのようになるのかは、一度考えてみてください。
と言うことで、今日のゲーム作り記事はここまで!
次回詳しく解説したいと思います。それでは良いゲームづくりライフを!
コメント