投稿

ラベル(GDevelop)が付いた投稿を表示しています

01-C 変数について

 ここも難しいです。「変数」という概念を説明します。 変数は、どのプログラミング言語でも必ず使います。 GDevelop でゲームを作る際に どのように使うかは後で説明しますので、 とりあえず GDevelop で使う 3つの変数の名前(グローバル変数、 シーン変数、オブジェクト変数)は覚えてください。 【変数】 情報を入れる箱をイメージしてください。 箱に入っている情報はその都度変わっていきます。 固定の数ではないので「変数」です。 変数xを用意したとします。 xにはプレイヤーのx座標という意味を持たせているとします。 xに10という数字を入れました。 x座標10の位置にプレイヤーが表示されます。 右矢印が押されたので xの中身に1を加えます(10+1=11)。 xの情報が変わりました。 今は11です。 するとx座標11の位置にプレイヤーが表示されます。 このように「値が変わっていく」ので変数といいます。 「変数」と言いながら、 数だけでなく文字列、例えば「おはようございます」という 言葉を変数に入れることもできます。 GDevelop で使われる変数は3つです。 【グローバル変数】 プレイヤーのスコアなど、 ゲーム全体を通じて使用する変数は グローバル変数として扱います。 【シーン変数】 1つのシーンのみで扱われる変数です。 【オブジェクト変数】 あるオブジェクトに違いを持たせるための変数です。 例えば同じ敵キャラでも、 オブジェクト変数が1なら、左にのみ進む。 2ならジャンプしながら進むといった違いを持たせることができます。 「 Billiards 27Ball 」だと どのモードで遊ぶか、 それぞれのモードを何回クリアしたかという情報は、 シーンをまたがって保有しておきたい情報なのでグローバル変数。 球の座標、球が一度に落ちてくる個数、シーン内での時間などは、 メインのゲーム画面のみで使うシーン変数を使っています。 オブジェクト変数は今回のゲームでは使っていません。 概念だけではなかなかわからないと思うので、 後で変数を使うところで説明します。

01-B:「 GDevelop 」のイベントをもう少し詳しく

イメージ
GDevelop のイベントについてもう少し。   この項目が難しく感じるなら とりあえず先に進んでも構いません。 後で読み返すとそういうことかと感じてもらえると思います。 「 Billiards 27Ball 」の実際の画面で説明します。 Mainと書いてあるところをクリックすると このような画面になります。 ビリヤード台、スコアボードなどが 配置されています。 ゲームの基本画面です。 Main(イベント)と書いてあるところをクリックすると このような画面になります。 これがイベントを設定する画面です。 ボールが落ちてくる。 ボールがタップされたときの処理などを この画面で設定していきます。 画面の左側は条件。 右側はその条件が成り立つときに どういう動作をするかということを示しています。 例えば、下の画面だと 左側(条件) Ball_main(ビリヤードの球)をタッチしていたら ↓ 右側(動作) Ball_main(ビリヤードの球)を削除する ということを書いていきます。 球が何秒おきにランダムに落ちてくる。 球をタッチしたらどういう処理をする。 どういうときにゲームオーバーになる。 こういったことを書いていく画面です。 【外部イベント】 いくつかの処理(イベント)をひとまとめにしたもの。 例えばシーン1がゲーム画面の1面。シーン2が2面。 面の構成は違えど、プレイヤーの動き、敵キャラの動き、 点数の入り方、クリアの条件などは共通です。 こうした共通した処理をまとめたのが外部イベントです。 GDevelop の公式サイトを見ていると、 外部イベントと、リンクイベントと2つの用語が混在しているように感じます。 このサイトでは「外部イベント」という用語で統一して話を進めます。 「 Billiards 27Ball 」では、メインとなるゲーム画面は1シーンしかないのですが、 ボールの当たり判定の処理、プレイヤーのタッチ処理などを、 外部イベントに書いたほうがメインのイベント画面がすっきりして、 今どういう処理をしているのか把握しやすいので、積極的に使ってます。

01プログラミングを始める前に知っておきたいこと

 GDevelop でプログラミングを始める前に 知っておきたいことを最低限挙げてみます。 01プログラミングを始める前に知っておきたいこと 01-A:シーンとイベント 01-B:イベントをもう少し詳しく 01-C:変数 この章に限らず、 新しく出てきた単語は【 】で説明していきたいと思います。

ゲームの概要を決める

イメージ
拙作 「Billiards 27Ball」 https://play.google.com/store/apps/details?id=com.ball.billiards27 をどんな感じで作っていったかを つらつらと述べていきます。 まず作るゲームの概要を決めます。 自分のプログラミング実力・画力・想像力。 いろいろなものと向き合いながら できそうな感じのゲームをイメージしていきます。 最初に作ったゲームは 「スーパーマリオ」的な横スクロールアクションでした。 ゲームといえばこれでしょという思いで作りましたが 指1本でできるいかにもスマホでって感じのゲームを作りたい。 というわけで「つむつむ」的なゲームを作ってみることにしました。 これが漠然と書いた構想メモです。 掛け算や割り算を使って数を合わせると高得点だとか コンボすると点数がアップとかいろいろ考えましたが 結局足し算のみで地道に数合わせしていくゲームに落ち着きます。 「6」と「9」の違いが分かりにくいという理由から 落ちてくる数を漢数字にすることも考えてみました。 英語圏の人にももしかしたら新鮮に映るのではと考えて 麻雀牌をモチーフにとか考えてみましたが おそらく五+五は、日本人でも一回頭の中で5+5に変換してるはず。 漢数字を足し算していくのは、結構ハードルが高いのでは と途中で断念しました。 いろいろ考えてビリヤードのデザインに落ち着きました。 トランプ、花札、麻雀、ビリヤード。 メジャーとなるゲームは やはりデザイン性が優れているから生き残っています。 それにあやかることにしました。 この時点でゲームの背景画像はビリヤード台に決定。 漢数字のときは、鳥居を背景画像にすることも考えてました。 というわけで まぁなんでこんなことを書いたかというと これくらい単純なゲームでも 大まかな構想メモは書いて残したほうが いいですよということです。

「 GDevelop 」 とは?

 スマホゲームを作ってみたいと思ったことはありませんか。 自分の作ったゲームがスマホで気軽に遊べたら。 そしてそれが収益化できたら(←これが真の目的)。 そう思って 手軽に始められそうなプログラミングツールを試しては挫折。 次こそはと始めるも挫折。 やっぱり難しいんですよね。 でもそんななか出会ったのが「 GDevelop 」 挫折の連続の私ですが実際にゲームを作成し 「Google Play」にアップするに至りました。 しかも2作です。 「Wizard's Little Adventure」 https://play.google.com/store/apps/details?id=com.Wizards.Little.Adventure 「Billiards 27Ball」 https://play.google.com/store/apps/details?id=com.ball.billiards27 両方とも英語なのは そうすることで世界中のユーザーに公開できるからです。 Google Play でのゲームの説明が なにやらぎこちない日本語なのはそのせいです。 どうせなら日本だけでなく世界中に公開された方が なにやら儲かりそうじゃないですか(全然収益得てないですが)。 「 GDevelop 」は本当にすごいソフトです。 しかもフリーで使えます。素晴らしすぎる。 私でもソフトをアップできた。 この恩返しとして 「 GDevelop 」でのゲームの作り方を 思いっきり初心者視点で(というかそれしかできない) つらつら書いていこうと思います。