nizyuiti 2023/04/08 18:02

【雑記】LV奮闘メモ

いえす一般ピープル・nizyuitiです。
書こう書こうと思ってたLV(ゲーム制作ツール)の話をようやく書きます。
ちなみにLVは当方が勝手にそう呼んでるてきとーな略称です。

過去のLV関連記事はこちら。
【雑記】LVお勉強メモ
【進捗】メモ兼ねちょく

主に未来の自分のための詰んだとこメモ集です。
自分じゃない誰かにもびこんて来たらうれしいかもです。

そいじゃ行ってみよー!
作業中は怒気が隠せないタイプなので、ンギギ率高めです。
日本語で言え。




1.レイヤ番号同じだとチカる

いきなり何言ってんだというか、なんのメモ残してんだってなるんですけど。
画像表示するとき、LVはレイヤが同じでもプレビューで表示できちゃうんですよね……。
ティラノはどうだったか……大前提としてレイヤ名同じにする機会がなかったと思われる。

で。
F5で簡単にその地点からテストプレイできるのがLVなのですけど、画像がチカチカして、なんでだろうと頭をひねっていました。
栞(関数みたいなもん)使った処理だったので、そっちの何かが悪いと分かっていたのですが、何が悪いか分かっておらず、単純にレイヤ番号重複してチカってただけでした。
レイヤ番号は余裕をもってつけような!!!
というかExcelとかで管理したほうが先々のためかもしれぬ。


2.特殊効果はループできない

よく考えれば当たり前かもしれないんですけど。

↓ちなみに特殊効果は下記のようなものです。
https://twitter.com/daegon137/status/800668736898248704
対象をモノクロにしたり、ぼかしいれたり、セピア調にしたりモザイクにしたりできます。
時間指定で変化出来るのも魅力的なコマンドです。


どうやっているかというと、GLSLという言語で書かれているスクリプトを実行するだけのようです。
GLSL……しぇーでいんぐ言語ですって! 
おら初耳だよ!


今回、徐々にモノクロ→モノクロ画像→徐々に元に戻す、というようなことをしたかったので、ループ機能使えば出来るべ~と思ってたのですが、結論から言うとできませんでした。
モノクロ→モノクロ画像はできますが、モノクロ画像→徐々に元に戻すという処理はスクリプトにそもそも書かれていないんですよね。多分。
そういうスクリプト自分で調べて書けばよかったんでしょうけど、あいにくと別言語触ってまで実装したい処理ではなかったのでゴリラでなんとかしました。
詳しくは勝利ノチョコで!


3.アニメーションに特殊効果は無理

記憶がない……。
詰まったことリストに書いてたのですが、まあタイトルが結論でしょう。
アニメーションを動かすのやめて特殊効果えいっ! ってしてた気がします。
ふわふわしてんな。


4.アニメーション画像の分割はゼロ始まり

アニメーション画像を表示するのは二通りあります。
フォルダの中に連番を付与した画像を配置してそれを読む、というのと、連続した画像を横長/縦長につなげてスクリプト内で分割させるというものです。


フォルダ増えそうだなと思ったので今回は「連続した横長画像を分割する方法」を使いました。
で、分割時は何分割目から何分割目をループさせるという設定が必要で、最初の分割の番号はゼロということでした。
分割なら1番目だと思ったけど0番目らしい。
あと、最大幅/高さ以上の区切りを指定するとアニメーション時に空白画像が出現するので、画像の幅はよくよく確認しませう……。


結果的に特殊効果前後でアニメーションが使えず、静止画を表示していたので、フォルダ覗くやり方のほうがよさそうだなあと完成してから思いました。
横長画像のアニメーションを静止画で表示すると横長画像が爆誕するので(当たり前)。


5.親子関係のアニメーションはよろしくない

記憶がないV2。
うーん、親子関係使うとアニメーションうまく動かなかったような記憶があるような……。
親子関係はあれです、グループ化みたいなやつです。
AとBを親子関係にすると、Aを左に動かす処理を書くとBも相対座標ぶん動くようなやつ。

おそらく画像分割系だから気づけたんだと思います、が、記憶が定かではないですネ!
座標がへんてこりんになる程度だったら使ってたと思うので、なかなかアニメーション関連は謎が多いです。


6.キー処理機能にif文は無理

キー入力処理を初めて実装する人あるあるなのかもですが。

やりたかったのは
「現在地0のときに←キーを押すと変数変化、それ以外はキー押しても無反応」
……という単純なカーソル処理です。


keyDown left  if (cur != 1) varChange cur 0 0 | textShadow dit_l 1 4 #ffffff | textShadow dit_r 0 4 #ffffff

さて、この式を書くと、Leftキーにどういう処理が付与されるか分かりますか?
当方は「数値判定して、Trueのときは記述した処理をやってくれる!」と思ってました。
実際はこうです↓

keyDown left  varChange cur 0 0

こうなってるということですね。
if文もぎもぎされてます。
要するに「キーを押すと、単純に記述した処理をやってくれる」状態になってしまったのです。


とはいえ、冷静に考えると、キー処理というのは押したら何かが発動する、というものなので、判定式やらをそのまま記述するのは仕様にあってなさそうだな……と思い、if文の式は栞に記述するかたちで落ち着きました。

keyDown left  script first.txt  l_menu 

シンプル! すっきり!! かいけつ!!!


7.キーを使った待機解除のアイデア

上記に関連するキー話なのですが、これ他の人どうやっているんだろうなあと。


例えばキーダウン時まで処理をストップさせる場合、指定キーを押したらストップしていた処理が再開します。

LVでは「待機 続行禁止」というコマンドを使えば「続行」コマンドが来た時点で次に進みます。
が、別の場所で「続行」を実行しても、当然ながらそこに「待機」がなければ空振りで終わるわけです。


先ほどキーの処理を別の栞に書き、キーを押したときにその栞の処理を実行するという処理に変更した為、「待機」の解除をどうやったらええんやろな~になりました。
結果として、今回はダミー要素を配置し、特定の処理が終わった後でそのダミー要素を削除することをトリガーにして「待機」を解除させました。

もっと効率のよい方法ありそう。
discordで聞けってか……人に聞くのは最終手段にしているので……ウッス。


8.キー初期化だいじ

大事ですねえ。
使ってるキー処理化用の栞作った方が良いですねえ。
自分のために。


9.並列実行の終わらせ方がわからん

そもそも並列処理自体不安定だからもにょもにょという話を聞いた手前、ぐぬぬとなりました。


たいていの処理は「jump」ですっとんで、「script」で何かしらの処理をやって戻ってくれるんすよね。
並列処理は、よくわからないんですけど、終わらなかったです。
なので、実行中のスクリプトがだんだん増えるようになってしまって、モヤモヤしてしまいました。
調べた限りだと明示的に並列処理を終わらせるコマンドがなかったのですが、宙ぶらりんにするのも違うよなあと思いつつ。


結局短いゲームということもあり、「finaljump」という、本体はタイトル画面に戻ることを想定された、スクリプトや栞を破棄するコマンドを使って、謎のキューが残らないようにしました。
これはこのゲームツールではなく並列処理自体を調べた方がよさそうなやつかもです。


10.タブ行き来で、ある程度リロードしてくれるかも

そのまんまです。
LVはタブが複数開けて、複数のスクリプトを編集するときに便利なのですが、基本的にタブ移動して元のタブに戻ると「Ctrl+Z」ができなくなります。
移動した時点で内部的に保存処理がかけられてるんですよね。多分。


これを利用して、たとえばスクリプトを書き換えたけどテストプレイで反映されてなさそうだなというときは、一旦別のタブに映ってから戻って、再びF5でテストプレイをすると反映されたりしました。
これ発見するまでは、保存してるのになんで読み直してくれないの! さっきのテストプレイのときのキャッシュ削除したいんだけど!!!??? とキレてました。
でもゲーム制作してるときいつもキレてる気がする。
たのしいのはアイデア出しの時くらい……。


内部的な保存、という名の通り、戻せはしないけどもスクリプトファイル本体の保存はされていないので、元に戻したい場合は単純に保存をせずにタブから削除してしまえばよかったりします。
ゴリラなのでエクスプローラのファイルを開いてコピペしたりもします。
ゴリラすきなの?


11.プレビュー画面消せないかも

消し方がわからんそす……。
6で画像貼ったのですが、あれ以上スクリプトを書く場所を広くできないので、率直に言うとJYAMA……。
かといって他のソフトでスクリプトファイル読み込んでるとパーミッション的な意味で開けないのでムギギギ。
ワンライナーはつらいよ。


12.全画面以外の方法が分からない

小さな窓のゲームしかやったことないので、タイトルバーない表示にむずむずしています。
実況する人とかはいいかもしれないんですけど……。
これも調べたには調べたんですけど、それらしきものを探せず、今に至ります。
discordで聞け案件ではないでせうか……うぃ。




12まであるとは……。
ツールの問題じゃなさそうなものもあったりするのですが、まあメモはメモなので!

なんだか制作後期みたいなのも書こうかなとおもったりしたりしなかったり。
最近睡眠時間を多めにとっているので夜早く眠くなるのがネックです。


あ……!
この記事見てる方がどういうか方かは知りませんが、新人フリコンとやらにちゃっかり応募したので、見てくれたりすると嬉しいです。
https://twitter.com/nizyuiti/status/1636731530700808192



あと、一応バグ報告も兼ねた感想フォームを設置したので、気が向いたらなにか送ってくれると嬉しいです。
https://docs.google.com/forms/d/e/1FAIpQLScEqXQ881sXXgOR9y3wl4p2L3FpGYDf0q7nJixqxi5KaBurEQ/viewform
改めて言うことでもないのですが、ここのコメント欄は封鎖しているのでシクヨロしゃーさいます。
日本語で言え。

今作はほぼ一本道ADVノベル&ダウンロード版のみなので、落としてくれた方ありがたいねえと毎日言ってます。
うそです毎日は言ってません。
でも落としてくれたらありがとうございます!
遊んでくれたらヒエエ恐れ多いです。



それはそうとして次作の進捗出したかったね……。
なにもしてないね……すーぱーげせいでー……。
生きよう!!!!

ではでは!

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索