![見出し画像](https://assets.st-note.com/production/uploads/images/147464018/rectangle_large_type_2_4c5795434225db346d6c1d284e7d7d05.png?width=1200)
【ゲーム開発】Fungusで会話システム等々作る~車輪の発明を避ける~【開発日記:No.1-5】
はじめに
こんにちは。スイレンソフトの羽倉アオイです。
今回は、Unityで会話システム等々のアセットであるFungusについて取り上げます。
前回、技術要素などの書き出しと、音声の発注をしました。あと少しFungusも触りました。
今回は、肝となるFungusの使い方を勉強します。これが理解できたらあとはすぐできますね!本当にうまくいかないとしても、「これができたらうまくいく」と思っていれば多少は気が持ちます。
なお、この記事はFungusの使い方を知りたいと思っている方には適さないと思います。使い方を知りたければこんな記事を読むよりも、Perplexityとかに聞くのが一番いい!
今回の目標
何も考えずに使い始めて時間を浪費しないよう、最初に何がしたいかを決めておきます。と、それっぽい賢そうなことを言っていますが、本当は記事を書きながら進めているので、こうすると書きやすいからです。
プログラム的にFungusのストーリーデータを制御できること
音声を自動的にアタッチできること。
セーブ、ロード、オートなど一般的なノベルゲームに必要な機能の実装
1については、これができないと手打ちでストーリーを入れることになります。めんどくさすぎる。文字数は40000文字ないくらいの予定なので、さすがにだるい。
2も同様です。キャラ名と順番さえプログラム側で把握できていればアタッチはできるはずです。これも会話数が多くなれば余計きつくなるので、実現したいところ。
3はそもそも論として必要なものです。だったら最初に取り組んだ方がいい気もしますが、普通にあると思うので後でもいいか、というわけです。
…心配なので一応Perplexityに聞いてみました。これは結構賢いのでぜひ使いましょう。
はい、Fungusにはセーブ・ロード機能とオートで会話を進める機能が用意されています。
1. セーブ・ロード機能:
- Fungusには初めからセーブ・ロードメニュー用のUIが組み込まれています[2]。
- 「Tools」→「Fungus」→「Create」→「Save Menu」でセーブ・ロードメニューを追加できます[2]。
- Save Pointコマンドを使ってセーブポイントを設定し、そこからゲームを再開できるようになります[2]。
2. オート会話進行機能:
- 具体的な情報は見つかりませんでしたが、Fungusの基本機能として会話を自動で進める機能があると推測されます。
3. その他の関連機能:
- 変数を使った分岐や条件分岐が可能です[5]。
- テキストにタグを使って装飾や表示速度の調整ができます[5]。
- UIのカスタマイズが可能で、会話ウィンドウや選択肢の見た目を変更できます[4]。
これらの機能を活用することで、より柔軟なゲーム制作が可能になります。ただし、詳細な設定方法や高度な使い方については、Fungusの公式ドキュメントや追加のチュートリアルを参照することをおすすめします。
大丈夫そうです。では、実際に作り始めていきます。
1&2. プログラムでFungusを制御、音声のアタッチ
やりたいことは、
ストーリーをエディタではなく、スクリプトで作りたい
これができれば、txtファイルで作ったストーリーを読み込んでFungusに合う形式に変換する関数を挟めば自動で作れる。
音声ファイルを適切なブロックに自動でアタッチ
ブロックを自動で作れるなら、できるでしょう。
今回、ストーリーはもう書いてしまったので、このストーリーファイルを使ってどうこう変換しながら実現したいと思います。
前置きはこれくらいにして、実際に作り始めました。
が、結構難しい。Fungusはスクリプトで制御することはできることはできるらしいのですが、いまいちよくわからん。これでひと月詰まりました。作業時間は5時間ほどですが。夏休みだったので…
まぁある程度は人間が作ることも考えます。今回は超大規模なゲームでもないので、まぁ、手でやった方が早いならそれでいいかと。
とりあえずストーリーファイルからキャラクターとセリフを抽出して、ブロックに自動的に追加できることは確認できたので、完全に手動よりかははるかに作業量は減りました。とりあえず今回のゲームではこれでいいとします。
3. その他機能
ここら辺はあまり難しくありません。公式の想定する通りの使い方をしているので、これこそPerplexityとかに聞けば一瞬で解決します。多分。
セーブ機能を付けてみたのですが、まぁ若干おかしい感じはしますが、時間をかければ治るタイプのものだと思います。
感想
どうもFungusは癖があまりないようには思いますが、プログラムで制御するのはまぁまぁ面倒な予感がします。詳しくなったら別の記事にします。
なんならプログラムで制御することを前提にした派生を作っても面白いかもしれないですね。多分やりませんが。
なんとなく完成までの道筋は見えつつあります。ずいぶんと長い期間かかってはいますが…
次回でバーティカルスライスで作る部分の大半は完成させたいと思います。
ちなみにこの記事は一週間ごとに書くつもりですので、次にできていない可能性は全然あります。