このプログラムは……
キャラメルBOX様のWin用ゲーム『終末少女幻想アリスマチック』(以降、アリスマ)をSEVEN.NETで動かすためのプログラム、およびコンバータです。
言うまでもなく、アリスマ(Win版)が必要です。
ダウンロード
変換方法
SEVEN.NET上で動くプログラム(alice.exe)はオリジナルのデータ形式そのままでは動作しませんので、変換プログラム(AliceConv.exe)を用いてデータ形式を変換する必要があります。
まず、AliceConv.exeを起動して下さい。
変換元フォルダ
変換元データの格納されている場所を指定します。変換元にはゲームがフルインストールされている必要があります。変換元フォルダには"alice.bin"、"data.bin"、"alice.mpg"が存在する筈です。
変換先フォルダ
変換後のデータを格納するフォルダを指定します。
変換先は音声データ変換なしの場合は約1GB程度の空き領域が必要になります。音声データの変換を行なった場合もあまり縮みませんので、若干割引いた程度の領域は必要です。
変換画像サイズ
変換画像サイズで変換後の画像サイズを指定します。 QVGAデバイスの場合はQVGAを、VGAデバイスの場合はVGAを、linuxやWin32上で動かす場合はSVGAを選択して下さい(*1)。
音声変換
音声変換するのチェックボックスにチェックを入れることで音声の再生レートやビットレートの変換を行なうことは出来ますが、以下の点に注意して下さい。
音質がかなり低下します。
正直、耳に自信の無い私ですら解る程度に……多分、音声のレート変換辺りにバグがあるのでは……と思っているのですが……orz
変換に極めて時間がかかるようになります。
22050Hz,VBR(-0.1)で音声変換を行なうとP4 3GHz/512MBのマシンで『約5時間』変換に掛りました……(汗;
あまり縮みません。
VBR(-0.1)が最低音質で、これでも512MBのフラッシュには格納出来ませんので、あんまり縮める意味がないかと思います。
これらの問題がありますので、正直、音声変換はあまりオススメできません……
実行方法
AliceConvert.exeで変換すると、alice*.nalファイル多数とalice.7ncというファイルが出来ます。
これらのファイルとalice.exeを同じディレクトリ(SEVEN.NETの*.7nc検索ディレクトリ以下である必要があります)に格納して、SEVEN.NETを起動して『終末少女幻想アリスマチック』を選択して下さい。
なお、サウンドをoggで鳴らすために、ogg_yce.dllも必要です。 SEVEN.NETと同じディレクトリか、Windowsディレクトリ等のパスの通っている場所にコピーしておいて下さい。
操作方法
基本的にペンのタップでOKの筈です。ポップアップメニューはESCキーもしくは右クリック(およびそれらに割り当てたボタン。PocketPCであれば、デフォルトではGAPIでのBキーになります)で出せます。
動画の再生
デフォルトでは動画の再生は行なわないようになっています。
ファイルの転送
動画再生を行なう場合は、alice.mpgファイルをalice.7ncファイルと同じ場所にコピーします。
7ncファイルの修正
次に、alice.7ncファイルの[MOVIE]セクションにuse_movie=noという指定がありますので、これをuse_movie=yesに変更します。
[MOVIE]
use_movie=yes
動画再生プラグインの設定
SEVEN.NET実行エンジンで動画の再生を行なうには動画再生プラグインの設定を行なう必要があります。動画再生プラグインは機種により複数存在しますので、適切なプラグインモジュールをインストールしてそれの設定を行なって下さい。
これで、オープニング、第一話予告、エンディングの動画が再生されるようになります。
動画の分割、変換
アリスマ中ではオープニング、予告編、エンディングのスタッフロールが動画となっていますが、これら3つの動画がalice.mpgという巨大な一つの動画にまとめられています。
動画再生プラグイン、特にmovie_yce_tcpmp.dllでは、正確にシークが行なえませんので、alice.mpgを13の動画ファイルに分割することで、シークの問題を回避することが出来ます(2)。
生成されたalice.7ncの[MOVIE]セクションには以下のような指定があります。
; 0.00.00 - 0.55.00
yokoku1=alice.mpg
yokoku1_start=0.0
yokoku1_end=55.0
yokoku1_total=818.0
; 0.55.00 - 2.36.93
opening=alice.mpg
opening_start=55.0
opening_end=156.93
opening_total=818.0
; 2.36.93 - 3.32.93
yokoku2=alice.mpg
yokoku2_start=156.93
yokoku2_end=212.93
yokoku2_total=818.0
《中略》
; 10.52.83 - 11.48.80<
yokoku11=alice.mpg
yokoku11_start=652.83
yokoku11_end=708.80
yokoku11_total=818.0
; 11.51.00 -
ending=alice.mpg
ending_start=711.00
ending_end=818.0
ending_total=818
ここで、openingはオープニングの動画の動画ファイル名を、opening_startはその動画ファイル中でのオープニングの開始位置(単位:秒)を、opening_endはオープニングの終了位置(単位:秒)を、opening_file_totalは動画ファイルのトータル時間(単位:秒)を指定しています。同様にyokoku~は予告の、ending_~はエンディングのそれぞれの指定となっています。~_startがコメントアウトされているのはファイルの先頭から始まる、~_endがコメントアウトされている場合はファイルの末尾まで再生することを表しています。
ここで、何らかのツールでalice.mpgをこれらの時間で3つのファイルに分割して、各々のファイルをopening...、yokoku...、 ending...で指定することで、前述のシークの問題を回避することが出来ます。なお、13のファイルに分割した時に~_file_totalの値を変更する必要があることを忘れないで下さい(*3)。
また、ここで指定するファイルはmpgファイルである必要はありません。動画再生プラグインがサポートしているファイルであれば任意のフォーマットのファイルが指定出来るかと思われます。
制限、バグ
現時点では、私もラストまで動かしていませんので、多数のバグがあるかと思います。判明している分だけでも、以下のバグ、或いは仕様が存在します。
制限事項
- 禁則ルールがオリジナルと異なります(というより、完全に禁則が実装出来ていません)
- BGMのループ時に、正しく音が繋がりません。BGMループ位置指定を実装していません。
- エピローグを除くおまけは未実装です
- 振動のエフェクト動作がオリジナルと異なります(オリジナルでは縦のみ、横のみ、縦横の3種類(以上?)の振動エフェクトが存在しましたが、常に縦横の振動エフェクトになっています)。
- 一部エフェクトに未対応です(画面のノイズ表示等)
- 履歴表示は作りかけです。音声のリプレイが出来ません。
- ちょー遅いです(PCならそれほどでもないですが)
- 前の選択肢に戻るが一世代しか戻れません
- セーブ、ロード画面にタロットカードが表示されません(内部的には管理しています)
- 注釈の表示方法が異なります。また、設定での透過率と連動していません
- メニュー操作時等の各種エフェクト音の大半は実装していません
バグ
- 偶に消えている筈のキャラクタが画面に残ってしまう場合があります(白黒シナリオで確認)
- 主にスキップ表示等で、キャラクタの管理領域が溢れて例外が発生する事があります。
- 既読判定が正しく行なえないバグがある気がします
- 他、たぶん多数残ってます……
更新履歴
- 0.15α
- 旧サイト崩壊時に変更履歴の詳細が失われたため、不明です(_ _)
- 0.14β
- タイトル画面でポップアップや設定画面を出している間は次回予告のアニメーションが始まらないようにした
- 新規ゲーム開始時にプロローグをスキップするか否かを問い合わせる画面の描画不正を修正
- レイヤの透過率変更で完全に透過された時は、次回同一のレイヤを生成する時は透過率100%で生成されるように変更
- 背景変更(Cmd16/18)で現在と同じ画像が設定された時には位置のリセットのみを行なうようにした
- 背景変更(Cmd16/18)で新しい画像が表示位置からはみ出す場合は、レイヤの位置をずらして画面内に収まるようにした
- 背景変更(Cmd16/18)で非透過画像から透過画像に切り換えられる時の描画不正を修正した
- いくつかのコマンド(17/19/25)が処理された時に即座にイベント処理に制御を戻さずシナリオのパースを継続するようにした
- スキップ処理中に画面のズーム効果が行なわれた時の描画不正を修正した
- 現在の表示内容のレイヤが設定された時に画面の再描画領域が登録されていなかったバグを修正
- エフェクトがスキップされる時は、BGM/SEのフェードアウト時間が0になるようにした
- 0.13β
- キャラクタ消去(Cmd:1B)で処理時間に0が指定された時に、即時反映するように変更した
- 0.12β、
- 初公開
注意事項
本プログラムは、オリジナルのゲームデータ、及び 変換したデータを参照しています。
本プログラムによって生成/変換されたデータの再配布はalice.7ncファイルを除いて有償無償、公開非公開、親しい友人間の個人的なやりとり等、理由の一切に関わらず禁止します。
本プログラム自身の再配布は個人的なやりとりであれば自由に行なって下さってかまいません。ただし、企業による配布やWebでの公開、雑誌への掲載は禁止します。
本プログラム自体はキャラメルBOX様には全く関係がございません。質問等をキャラメルBOX様に問い合わせるような行為はお止め下さい。
謝辞
本プログラムのogg/vorbisのデコード、エンコードにはaoTuVを使用させて頂いています。ありがとうございます。
そして何よりも、本当に素晴しいゲームを作って頂いたキャラメルBOXさま、ありがとうございました。
脚注
- [1]QVGA デバイスでVGAのデータやVGAデバイスでQVGAのデータでも動作はします。QVGAデバイスでVGAの場合は実行時縮小になるので場合によっては字が読み易いかもしれません。逆はほとんど嬉しくないです(QVGAもVGAもデータ量的にはあまり変らないので)。SVGAサイズは実のところ、あまりテストしてないです
- [2]というか、これをやらないと遅くてしょうがないかもしれません……
- [3]ただし、~_start、~_endの指定が無ければ、値は適当でも大丈夫かと思います。ただし、省略は出来ません。