あらすじ
ヒロインを作った。(多分)
胸張れるほどの進捗はない。
はい。現実がとても忙しく、あまり開発が進んでません。
はい、嘘です。アンテ風の音ゲーとか、東方とかにハマってました。
(あとAPEXに4時間ちょいも浮気しただろ俺)
マイクラの方は、細かいところを色々やってて、項目があまり増えなかったのもある。
セリフシステム
ストーリーメイン(?)のマイクラRPGにおいて、セリフは必須です。
完成時のセリフはとても膨大になります。
(メインストーリーのシナリオ半分書いただけでセリフすでに数百行ある。)
こんなものが書かれたtellrawコマンドをワールド立ち上げるたびに読み込んでいては、読み込みが遅くなって仕方がない!
これからさらにカスタムモブが増えるのに、僕のノートpcはもうすでにデータパック(コマンドの書かれたファイル)を読み込む度にラグくなっている!
これでは開発が進まない。
なので、storage のリストにテキストを保存しておいて呼び出すことにしました。
事前にテキストをstorageに入れるコマンドを実行しておいて、配布する時にはそのコマンドを消すことで読み込み時間を少しでも減らそうというわけです。
仕組み
事前
時間測定用のスコアボード作成
セリフのカウント用のスコアボードを作成
1.セリフを呼び出す。
現行セリフstorage にselif というリストを作成。
そこに、事前に作成してあるテキストが保存されたstorage のリストを現行セリフstorageのselif にデータコマンドで代入。
2.セリフ表示
時間測定用のスコアボードに毎tick1を足す。
もし、そのスコアボードが60以上になったらしたのコマンドを、実行する。
tellraw コマンドで現行storage を呼び出す。
(コマンドマクロで、リストの部分にセリフカウントスコアを代入。自動で読み込むのが次のセリフになると思えばオッケー。)
時間測定スコアを0にset。
もしセリフ表示の時に、リストが空だったら、セリフ呼び出し終了。
我ながら説明が下手くそです。
要約すると、事前にテキストのファイル用意してそこから必要なセリフだけを表示する。
セリフがなかったら終了。
ムービーシステム
セリフと同じくらい重要なムービーシーンを作るための仕組みを作りました。
こっちはすごい簡単。
セリフシステムの内容を少しだけ変えて、保存内容をプレイヤーの座標、視点にするだけで完成。
あとはカメラ用のmobに必要な座標を代入、プレイヤーをそいつに取り憑かせて、カメラ用のmobの見た目をリソースパックで消せば完成。
本当は一時停止とか、録画終了とか色々あるけどコマンドの中身弄って直接保存したりしてるので書くことは何もない。
これでムービーの作成が簡単になりました。
が、それは視点だけの話。
ヒロインや主人公のアニメーション作成とかの作業は相変わらず大量です。
果たして根性がない僕にやり切れるのか…!
自作進捗とスキルツリー
自作進捗を追加しました。
コマンド勢の皆さんは、イベント発生用に使っているあれです。
しかし今回は、演出というとても珍しい使い方をします。(本来の使い方が珍しいという謎。)
この進捗はストーリーの進行度に合わせて解放されていきます。
その設定中、私は進捗のテキストにクリックイベント(クリックしたらコマンドとか発動できるあれ。)を追加できると知りました。
本当は設定項目にあっただけでできなさそうなのですが…
(進捗追加用のツールの設定項目にあるからやっぱりできるのではと模索中)
進捗欄をスキルツリーにしようとしています。
調べてもそんなことやってるの出てこないから、おそらくできないけど。
しかし、いつの日か書いた、ステータスの設定が難しいだのなんだのはスキルツリーできっと解決されます。
もし進捗欄をスキルツリーにするのがうまくいけばLキーでスキルツリーを開けるRPGの完成。
失敗したらよくわからん本をクリックするか、よくわからん部屋に飛ばされることになります。
とりあえず頑張る。
コメント