はい。お休みが久しぶりの、はね子です。
とりあえず、せっかくのお休みなので書きたい記事から順に書いております。
今日書き溜めたものは次の休みまでに一日おき更新できるくらいには貯めておいたので、多分この間みたいに数日も更新がない感じにはならないと思います。予約投稿って本当に便利すぎて草。
で、今日の更新はゲーム制作について。
イラスト特訓の記事? あげるよ、そのうちな!!(書き溜めした中には存在するから許して。ただ真面目にやってたのほんと最初の6日だけで、その後ひどいことなってるからなるべく更新を遅らせたいんだ……)
さて、前回の記事にて育成システムが作れたという話はしましたね。
もし読んでいない方は是非とも読んでいただければなぁと思います。(他の話もしてる記事で申し訳ないです。この記事で再び触れるのは内容重複になるのでご容赦を)
育成システムの変数を画面上に表示させる際に四苦八苦したのですが、なんとか表示させることに成功したと喜んだのもつかの間……その後、数値変動させているにもかかわらず初期値がずっと居座り続けるという悲劇が発生していました。
もう少し具体的に説明しますね。
まず、理想のシステム動作が以下の通りです。
ゲーム開始時の【マッスル】の数値は「5」でステータス表示されている。
↓
とあるアイテムで【マッスル】数値が「2」増加する。
↓
ステータスに【マッスル】は「7」で表示が変更される。
一般的な育成ゲームでよくあるシステムですね。むしろこの数値変動が起きなければ、育成ゲームとして破綻しているレベルだと思います。
が、私が頭を抱えることになったのは以下のような動作になっていたからです。
ゲーム開始時の【マッスル】の数値は「5」でステータス表示されている。
↓
とあるアイテムで【マッスル】数値が「2」増加する。
↓
ステータスに【マッスル】「5」が残ったまま、「7」も表示されている。
本気でキレそうでした、いやキレてました。
何回やってもこうなるので。何がだめなのかも分からないせいで、先に進まないのが苦痛でしかたなかったです。
最終的に何が悪かったかというと、
[ptext layer="2" color="red" size="22" width="100" align="left" x="900" y="& 40 * 0 + 30" text="&f.muscle" ]
という、テキスト表示のタグに名前を付けていなかったからでした。
[ptext layer="2" name="mus" color="red" size="22" width="100" align="left" x="900" y="& 40 * 0 + 30" text="&f.muscle"]
正しくはこう。名前を付けることでどれをどうするのかというのを指定します。
タグに名前を与えているので変動するのは「name="mus"」が付いているタグのみ。これだけでスッキリ解決しました。ほんとタグ一つで変わるって、奥が深いですね。
同じような状況に陥った人のために(私レベルでできない人がいるのかなんて知らんけど)、育成ゲーム作りたい方の手助けになればと思ってタグのサンプルを記載しておきますね。(あと単純に自分用のメモにもなるなと思ったから載せておく)
[ptext layer="2" name="mus" color="red" size="22" width="100" align="left" x="900" y="&40*0 + 30" text="&f.muscle"]
青 テキストを表示させる際のタグ。ビルダーの場合2層目表示なので「2」を記入
赤 タグに名前を付ける。この名前を使うことでタグを指定できる。
緑 文字色、大きさ、横幅、左寄せや中央寄せなどの位置の設定
黄 画面表示の際の位置を設定。Xが横、Yが縦。
黒 実際に表示される文字。「&f.○○○」で変数の数字が表示。
ビルダーの変数管理で初期値設定。「&f.muscle」で「5」が表示される。
変数設定はビルダーの機能から設定。ここは公式のチュートリアル通り。
【ティラノスクリプト】に以下の内容を記入。
[free layer="2" name="mus"]
[ptext layer="2" name="mus" color="red" size="22" width="100" align="left" x="900" y="&40*0 + 30" text="&f.muscle"]
一つ目のタグでレイヤーが解放され、一度消去される。
もう一度表示させると変数が変更した値で表示される。
最終的にこのような感じで、初期値「5」を残さないまま「7」を表示させれました。
本気でむずかった。これに気づくのに数日かけるって、どれだけバカなんだって話ですね。
まだエンディングにかけてのフラグ管理ができていませんが、少なくとも数値はしっかりと加算されているので、どうにかなるかなと気楽に身構えています。どうせ躓いている未来も見えてますけどね。私のサイドエフェクトがそう言ってる。
それから「名前変更機能」。以前Twitterでボヤいてたくらいに途方に暮れていました。
あーー、ティラノビルダーで名前変更機能つけるにはどうしたらいいんだ…。プレイヤーに名前入力してもらう機能はつけれたけど、メッセージフレームいじってるからかスキップのボタンとかが消えるんやが…
— はね子 (@haneko873) 2020年5月25日
こちらは本気で自分では作れないと判断し、スクリプトを公開してくれていた人を頼りました。
「memo」(http://7yen.hateblo.jp/)にて管理者であるナナエン/日野谷様の記事を利用させてもらい、実装に至りました!
しかもはてなブログを利用していらしたので、上手く利用できず実装できなかったら恥ずかしいからとスターとか送れてなかったのですが、しっかりと読者登録・スターを付けさせてもらいました。
本当にスクリプトができる方って尊敬する!!
背景だけは変更させてもらいましたが、ボタン等の画像もそのまま利用させていただく形で落ち着きました。
始めはデフォルト名の「公人」。変更することで名前が変えられます。
苗字は正直最初の自己紹介以外に出てこないので、わざわざつける必要はないと思ってカットしました。なので「名主」固定になっています。
この公開して下さっているスクリプトの良いところは放り込むだけで、ほとんどいじる必要なく動いてくれるところですね。物語の開始前に名前変更をさせるだけでちゃんと機能してくれるので有難いです。
それから一緒に公開してくれている【マクロ】設定がとても便利です。無駄に長いタグをつける必要が無くなって、とてもスッキリできたうえに【マクロ】の仕組みも何となく理解することができました。
本当は自分で作れるほうが良いのだとは思いますが、しばらくはどの作品でも名前変更がある場面ではお借りしようと考えております。
あとは、クリッカブルマップですね。(前の記事でクリティカブルマップって言ってたやつ。戒めとして編集し直してない)
こんな感じで背景画面内でクリックしてもらうことでアイテムを獲得できます。
アイテムを実際にイメージ画像として描写させるかは決めてませんが、少しだけゲーム性能が高まりました。おかげで私の作業量も増えましたが。
ビルダーのクリッカブルマップだと枠の表示などができないので、こちらも公式チュートリアルから学びながらスクリプトで入力しております。
本当にスクリプトが扱えるとできることが広がるのが面白いですね。
以上、システム面のほとんどがおおよそ完成したというお話でした。
ゲームの進捗で言えば色々追加が増えたせいで、まだ40%程度しか進んでいないのですが着実に完成には近づいております。よい傾向ですね。
最後に鬼ごっこのルール説明だけ載せておきます。
なんかおかしいのが多々あるところが分かりますよね? ね?
以前「コミカルに死ぬ」といった意味がお判りいただけたかなと思います。
いやー、私が作っているのはギャルゲーのはずなのになぁー(棒)