みろりHPのファイル置き場 - DialogFrame0.21(2016.08.08. 微細なミス発見のため0.21へバージョンアップ)
みろりHPのファイル置き場 - DialogFrame-cassettes

以前も、仲間と遊んだTRPGの再現プログラムを書いた(Python pygameスクリプトのexe化)けど、あれ作るの結構楽しかったんだよ。だから今回は、ああいうのをラクに量産するためのフレームワークツールを作ってみた。



こういうのがカンタンに作れる。画像を用意してー、音楽用意してー、設定ファイル書いてー、台本書けばできる。詳しいことはダウンロードパッケージのHowToファイルに書いてある。

おもな機能。
  • 台本をざくざく書いてくだけでページ送りに組み込んでくれる。
  • 台本にイベントタグを書くことで画像や音楽を呼び出せる。
  • 台詞と画像をリンクさせれば、「Aさんが喋ってるときはAさんの画像を表示、黙ってるときは消す、あるいは暗くする」みたいなことが自動で出来る。
  • 台本が長くなっちまったら複数に分けて、オープニング画面から分岐させることが出来る。
  • オープニング画面のカンタン作成。不使用設定も可能。
  • 技能名と技能値を設定しておくと、diceイベントタグでロールアニメ、成功失敗表示とかしてくれる。
  • 途中セーブ、ロード可能。不使用設定も可能。
  • ページ戻り機能あり。
  • 簡単なキーコンフィグあり。
  • 画面サイズは640x480固定。
  • 台本とか素材はフォルダごとのセットになってるので、セットを入れ替えれば再生する対話劇を変更できる。
  • つまりフレームワーク本体がラジカセで、セットがカセットの役割をする。
  • エラーが起きたら画面が消えちゃうが、カセットフォルダ内logフォルダにエラーログが残る。それを作者に送ってくれりゃなんとかするかも。

ダウンロードセットにはすでに「cassette-DialogFrameTutorial(チュートリアル)」のカセットが入ってる。初期状態ではチュートリアルが再生される。DialogFrame-cassettesにはMATETRPGのカセットがみっつ入ってる。カセットの入れ替え方法は以下。
  1. カセットフォルダをdataフォルダに放り込む。
  2. カセットフォルダ内configフォルダから「(...)DialogFrameConfig.py」をコピーする。
  3. DialogFrame.exeのあるフォルダ(dataフォルダ)にペーストする。
  4. (...)の部分をとって「DialogFrameConfig.py」に改名する。
Config.pyファイルに「このConfigに対応するカセットを読み込む」って設定が書いてあるんで、これで入れ替えが済んだことになる。なお、チュートリアルはConfigファイルが存在しないとき再生されるようになっている。




チュートリアルはあんま役に立たないかも…。



例によってダウンロードファイルの中にソースもまるごと置いてるので興味があったら見てみて。



今回コードが1000行超えちゃって口角引きつりっぱなし。1ファイルの中にクラス8個も入ってんだぜ。うっかりpygame.init()をグローバルでやっちゃったもんでこういうことになっちゃってる。メインクラスのコンストラクタでやるべきだったのかな? せっかくクラスを覚えたのに何をやっているのだか…。