猿の夢、システム的に頑張ったところを説明する日記
さて、タイトル通りです。
8月終盤に公開しました新作フリーゲーム「猿の夢」
自作の中ではシンプルな方ですが(柘榴とか人間になれないの方がゲームシステムは複雑だったりする、あの辺はノベルゲーってよりシミュレーションっぽいからね)過去作一システムは頑張ってたりします。ゲーム画面とかいつもと結構違う気がする。
ということでシステム面で頑張ったところをただまとめただけの日記を書きました。
基本説明は少なめなのでティラノスプリクトを使用していないとわけがわからない感じですが、普段から使ってる人からしたら大したこと言ってない日記です。ご了承ください。
シナリオの重大なネタバレはありませんが、プレイ後の閲覧推奨です。
ぜひ本編からやってね♡
UI周り
まずはUI周りから。
これは過去作にも言える話なのですが、たこていはゲームに使用するイラストはかなり小さく作っています。画面サイズそのままですね。960×640です。
で、これサイズ変更出来ないんですよね。使用しているペンの都合上、拡大縮小するとピクセル数が合わなくなっちゃうので。
なので拡大縮小をしないように今回もそのままのサイズで書いています。んで、毎回メッセージ枠の表示非表示をやってると面倒なのでメッセージ枠と合体させてます。
で、この上に別レイヤーでボタンを置いてる形です。なので実際メッセージウィンドウとしては透明なんですよね。
セーブやらロードやらのボタンは通常の固定ボタンとして絶対消えないようにして、右のステータス欄は前景レイヤーを複数作って対応しました。
ところで、夢パートの一部で右の枠が消えるシーンがありますよね。
あれはステータス欄の上に更に別の前景レイヤーを配置して表示しました。
レイヤー数を増やすのは今までやったことが無かったので(重くなりそうだから)なるべく嫌だったのですが……後述するアイテム画面との兼ね合いで3枚まで増やす羽目になりました。
ちなみに、拡大縮小できないので表示範囲の違う画像は使いまわせません。
ついでに何が悲しいって拡大縮小出来ないから、この背景もう別ゲームに使えないんですよね。私は一体いくつの教室を生み出せば許されるんだ?
立ち絵とか
今回、立ち絵の差分は少なめです。比較的。オカ研組は7~8枚、一番多い桜子でも10枚でかなり抑えました。いや早乙女くんは20×2パターンあって歴代で一番多いけど…。その立役者は背景のミニキャラたちになるわけですね。
この画面だと、サイズのデカい立ち絵は3人までしか表示できないんです。ぎちぎちに4人詰め込むと画面がうるさすぎるし、かといって喋る人ごとに表示を変えるのは膨大な作業量になります。(多分相当重くなるだろうし)
悩んで悩んで思いついたのが……コレ!
ミニキャラを背景に配置しちゃうことで立ち絵表示を無しにしようという魂胆です。これはかなり上手く行った気がしますね。イラスト量はかなり増えたけど、結果的に全体の作業量はかなり減らせた気がする。ちなみに最初に描いた教室はこのシステムにする気が無かったので若干ミニキャラと比較するとデカいです。これ内緒ね。
いやあこれはかなり良かったと思う。今後も活用したい。
日付のとこ
実はこれ全部画像として作ってます。なので表示場所を間違えているところがちょこちょこありますね……。お恥ずかしい。
正気度システム
システム的には単純ですが、とにかく反映するシーンが多かったので結構大変だったとこ。
毎回正気度変数を一定数減らすコードを入力しても良かったんですけど、ここでも初めてコールリターンでSANC(確かそんな名前).ksに飛ぶ仕様を作ってみました。普段どれだけティラノスクリプトを活用できていないかが露呈してますね。本当は何だってできるのに…。
SANチェックシナリオはただ持ち物の変数を反映して決まった数値分正気度を下げてるだけの簡単な仕様です。
ついでにその後でステータス欄の正気度表示もやってる。
選択肢で減少した時にすぐに反映されないのはそのためです。
夢に入る時と出るときにしか表示画像を変えるコードを踏んでいないからってわけですね~。
アイテムシステム
本ゲーム制作時に一番苦戦したところであり、この記事のサビであるシステム
結局これの「ボタン表示」と「アイテム装備画面」がとにかく面倒でした。その記憶しかない。いやもうあんまり覚えてないけど。
結局これはいつも悩んでるんですけど(人間になれないのおまけページでも苦戦した)
ボタンの上に画像を出したいんですよ私は!!!!!!!!!
今回で言うと、アイテムボタンの上にスチルを乗せたいわけです。
でも、ボタンの表示は一番上のレイヤーです。まあ当然ですよね、スチル表示中だって選択肢ボタンが選べないわけないんですから。確かに。
前回苦戦したのと同じように、今回も結局上に重ねるのは不可能だと判断して毎回消すことにしました。
で、毎回表示する。まあ面倒ですけどこれしかないですよね!
……え、リターンで戻ったときってどうやって表示すんの!??!?
終わりです。コールリターンを初めて使ってるのに。
もうわかりません。終わりました。
と、絶望しながら調べたところ[awakegame]でゲームに復帰する際にはmake.ksというシナリオファイルを必ず通るらしいじゃないですか。
なるほど!ここに書けばいいんですね!!?!?!
ちなみに普通にここに書くだけだと、スチル表示中にコンフィグに飛ぶと戻ってきた際に非表示になってたはずのアイテム欄が戻ってきてしまう(コンフィグもコールリターンで行ったり来たりしてるらしいので)ので
今はスチル表示していい時だよ~orダメだよ~を判断する変数で管理しました。
falseの時には全部すっ飛ばす、的なね。
ちなみにアイテム装備画面自体のシステムは深海の勿忘草でもやったやつですね。そのエンディングやらシーンを踏んでいるかどうかで表示を変えるやつ……。
作業は面倒だけどやってること自体はシンプルですね。とにかく数が多かったけど!!!
お守り&プリクラ
これもそこまで難しい処理はしてないです。正気度を減らす処理の際に、持ってるアイテムを参照して数値を決めるだけですね。
スマホ&御札
地味に面倒だったやつ。選択肢が表示される前にスマホ&御札を装備している場合色つきの選択肢が表示されるラベルに飛ぶ…みたいな。
なので、選択肢が既に表示されている状態でアイテムを変えても意味がないわけですね。
いやあ、これ本当は停止状態でアイテム変えても反映されるようにしたかったんですけど…どうやっても無理でした。停止状態だともう何も変えられぬ……。
結果的にスマホと御札はわりと役立たずになってしまいました。ゴメンネ水無川……。
参考書
一番頑張ったところです!!!!!!!!!無能って言うな!!!!
いやあこれめっちゃ頑張ったんですよ……。
話の区切りのところで毎回「アイテムが参考書なら指定した箇所まで飛ぶ」ようにして、夢の前に戻るラベル作って、変数がおかしくならないようにして……。いや本当に大変だった。こいつが上手く動作しなくてテストプレイがクソほど伸びたんですよね。クソ…。
しかも結果的に夢に入る前にお守りかプリクラに持ち替えないと死ぬので目押しで止めないといけなくて、それならお守りもったまま全部スキップしたほうが楽というね。悲しすぎる……。
18禁バージョンでは夢に入る前に(参考書持ってたら)止まる様にするとか、日付を跨いで指定の場所まで一気に飛べるようにするとかもう少し有能アイテムくんにしたいですね……。
終わりに
こう思い返してみると、システム面で苦戦してたのは制作前半で結局後半はシナリオとスチルに苦しんでましたね。苦しんだところのことあんまり覚えてなかった。
いつも通りです。システム面は最初に組んじゃうので。後から出来ないのわかったらやだし!
なんかこういつも、新しいことに挑戦しなければという気持ちになるのですが、あんまりやりすぎて本編が疎かというかシナリオを読むにあたってノイズになったら本末転倒なのでそこも気を付けようとは思ってます。
アイテムシステムはわりと良かったかもしれないですね。エンド分岐の難易度はともかく。またやろかな…。