先日のdialog playにさらに手を加えて、以前プレイしたTRPGのリプレイをノベルゲーム風に仕立てあげてみた。

TRPGノベルゲーム風リプレイ

先回と違うのは - オープニング画面がある - ちょっとしたアニメーションがついてる - セーブ&ロード

といったところで大したことはないんだけれど、ひとまずGUIに画面を描画するシステムについてはだいたい理解できたと思う。


pygameをcx_Freezeでexe化するとき、うまくいかないことがあるようだ。いまだによく分かってはいないのだけれど、今回のスクリプトでの手順を書いておく。

  1. スクリプトに import re を足す
  2. こないだ作ったcx_Freeze実行ファイルを実行
  3. 完成物に外部ファイルは含まれておらんので画像ファイルとかフォントファイルを同梱する
  4. oggファイルを使用している場合、Python34\Lib\site-packages\pygameに入ってるlibogg.dll, libvorbis.dll, libvorbisfile.dllのみっつを加えて同梱する

これで他の人に配布できるようにまでは漕ぎ着けられた。もともとcx_Freezeではoggファイルを読み込む実行ファイルが作れないようなのだが、上記のみっつの拡張機能を加えればオーケーだ。


同日追記

試しに import re 無しでやってみたところ普通に起動できちまった。参考にしたフォーラムで「pygameのexecutableうまくいかないよー」「import re つけてみたら」みたいな記事があったのでとりあえずでつけておいたんだが、今回の場合は必要なかったようだ。