[#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の処理が終わった後のフローを作る
最後は「またね。」の表示だけなので、イベント追加>「テキスト:表示ダイアログ」で表示させたい文字を入力。
動かしてみる
大成功です・・・
Aボタンを押さずに素通りもきちんと予想通りに作れました!セーブしない時のツンデレ感がすごいな。
フロー振り返り
おわりに
簡単にゲームボーイのゲームが作れる!と謳っているGB Studioでも、やっぱり変数やif文、分岐の方法とか、その辺りの知識がないと難しいかもしれない。
私はIT系のお仕事をしていますが、プログラマではないのでたま〜にシェルスクリプトやバッチを作ったりする程度なので、そこまで詳しくはないけど、やっぱり作るのに抵抗がないぶん、ハードルも低いような気がする(トラブルシューティングとかも多分強いはず)。
今日また一つできることが増えて嬉しい!
ここまで読んでくれた方、ありがとう〜
いいなと思ったらアクションお待ちしてます。励みになります。
それではまた🦈
▼次の記事はこちら。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?