見出し画像

[#8]GB Studio ゲーム制作ログ|セーブポイント作ってみた

はじめに

こんばんは。GB Studioでゲームを作りたいと思って、日々奮闘していますが、投稿を始めてから早くも1週間が経ちました。改めて、私はゲーム開発もしたことがないし、ドット絵も初心者で全く知識もありません。ただ楽しく、たくさん間違えながら、寄り道しながら作っていく記録になっています。ご容赦ください。

今回は、自分が作りたいと思っているゲームに必須な「セーブポイント」を作っていきます。

▼前回の記事はこちら。


セーブ要件など

最近のゲームやシステムでは、自動保存、オートセーブ機能がついていることが当たり前になりました。でもGBにはもちろんそんな機能ないので、実装していかないといけません。

公式ドキュメントによれば、作成できるのは3スロットまでで、セーブ、ロード、削除といった基本的なセーブ機能がつけられるとのこと。(詳細はこちら⇩)


実際に私が実装するセーブ方法がどんなタイプかというのは決めてはいません。ただ、「セーブポイント」をきちんと用意できればある程度応用が効きそう(ポケモンみたいに図鑑からセーブをすることもできそう)なので、作ってみることにしました。

セーブポイント用のスプライトを作る

まず、バイオハザードでいうタイプライター、MOTHERでいう電話など、セーブができる機能を持たせる物を用意します。

16px x 16px で適当なスプライトを作ってassets/spritsに保存。

これに話しかけるとセーブができるようにしたい。

アクターの追加とトリガ設定

+ボタンから「アクター」
今回はテストなので、適当な場所(セーブポイントを置きたい箇所)を選択して、セーブポイントに使うスプライトを選択。

置いたスプライトの上に「トリガー」を追加します。

イベントの追加

1.フローを決める

セーブするまでの流れはこんな感じにしたいと思います。

セーブイベント(仮)のフロー

補足ですが、こちらのフローチャートは「Lucid」という無料(有料版もあります)のツールを使ってつくりました。仕事でネットワーク構成図とか、その辺りを作る時に使っていて、とても使いやすいので気に入っています。


2.セーブボタンにAで話しかけてイベント開始する機能をつける

◼︎イベントのトリガーの種類
On Interact:決定ボタン(今回はAで設定しています)を押した時発動
On init:シーンに入った時
On Update:画面表示している間は繰り返し実行され続ける

①今回は、ボタンを押してイベント実行したいので、「On Interact」タブで「+イベント追加」をクリックします。

トリガーによってタブを変える

②「テキスト:表示ダイアログ」をクリックして、最初に表示させたいテキストを入力。

日本語フォントを入れているので表示できるよ〜

これでAボタンを押した時、「ひとやすみしますか?」と表示されるようになったはず。

3.最初の質問に対して答えをつける

①「+イベント追加」>「テキスト:選択肢を表示」をクリック

②SetVariable(変数を設定)の名前は適当なものに変更して、Trueに「はい」、Falseに「いいえ」を入力します。

ひとつ目の分岐ができました。

📝変数って?
変な数じゃなくて、変わる可能性のある値を入れる箱のようなもの。値や文字列など、使うまでに(今は)決まっていなくても判別できるようにとりあえずの名前を決めているだけ。例えば、ゲームの最初に名前をプレイヤーに決めさせて、後の会話でその変数を使えるように会話に変数を入れておくと、「よう、〇〇!」みたいに決めた名前が出てくるようにできる。便利なやつ。

4.Trueの場合のフローを作る

「+イベント追加」>「変数」と入力し「もし変数が'True'」をクリック。

イベント作る時は日本語邪魔かも

このイベントは「$savedataがTrueになった時、データを保存する」という条件をつけていくためのものになります。

TRUEの場合のイベントを追加>「ゲームデータ:保存」を選択

とりあえず保存パターンから。
⭐️マークでお気に入りに入れれるみたい

フローで作った「スロット選択」は、やり方がわからなかったのでひとまず断念することにしました。

これだとなんか寂しいので、データ保存中と、保存完了したらテキストを表示する設定を追加しました。

スロット選択どうやるんだろ・・・

5.False、Trueの処理が終わった後のフローを作る

最後は「またね。」の表示だけなので、イベント追加>「テキスト:表示ダイアログ」で表示させたい文字を入力。

Falseの時だけの動きはないから空でOK

動かしてみる


大成功です・・・

Aボタンを押さずに素通りもきちんと予想通りに作れました!セーブしない時のツンデレ感がすごいな。

フロー振り返り

細かい分岐の作り方がわからなかったからまた調べよっと


おわりに

簡単にゲームボーイのゲームが作れる!と謳っているGB Studioでも、やっぱり変数やif文、分岐の方法とか、その辺りの知識がないと難しいかもしれない。
私はIT系のお仕事をしていますが、プログラマではないのでたま〜にシェルスクリプトやバッチを作ったりする程度なので、そこまで詳しくはないけど、やっぱり作るのに抵抗がないぶん、ハードルも低いような気がする(トラブルシューティングとかも多分強いはず)。

今日また一つできることが増えて嬉しい!

ここまで読んでくれた方、ありがとう〜
いいなと思ったらアクションお待ちしてます。励みになります。

それではまた🦈

▼次の記事はこちら。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?