このプログラムは……

キャラメルBOX様のWin用ゲーム『あえかなる世界の終わりに』(以降、あえかな)をSEVEN.NETで動かすためのプログラム、およびコンバータです。

言うまでもなく、あえかな(Win版)が必要です。

ダウンロード

変換方法

SEVEN.NET上で動くプログラム(aekana.exe)はオリジナルのデータ形式そのままでは動作しませんので、変換プログラム(AekaConvert.exe)を用いてデータ形式を変換する必要があります。

まず、AekaConvert.exeを起動して下さい。

変換元フォルダ

変換元データの格納されている場所を指定します。変換元にはゲームがフルインストールされている必要があります。変換元フォルダには"aekana.bin"、"vo.bin"、"all.mpg"が存在する筈です。

変換先フォルダ

変換後のデータを格納するフォルダを指定します。

変換先は音声データ変換なしの場合は約900MB程度の空き領域が必要になります。音声データの変換を行なった場合もあまり縮みませんので、若干割引いた程度の領域は必要です。

変換画像サイズ

変換画像サイズで変換後の画像サイズを指定します。 QVGAデバイスの場合はQVGAを、VGAデバイスの場合はVGAを、linuxやWin32上で動かす場合はSVGAを選択して下さい(*1)。

音声変換

音声変換するのチェックボックスにチェックを入れることで音声の再生レートやビットレートの変換を行なうことは出来ますが、以下の点に注意して下さい。

音質がかなり低下します。

正直、耳に自信の無い私ですら解る程度に……多分、音声のレート変換辺りにバグがあるのでは……と思っているのですが……orz

変換に極めて時間がかかるようになります。

22050Hz,VBR(-0.1)で音声変換を行なうとP4 3GHz/512MBのマシンで『約5時間』変換に掛りました……(汗;

あまり縮みません。

VBR(-0.1)が最低音質で、これでも512MBのフラッシュには格納出来ませんので、あんまり縮める意味がないかと思います。

これらの問題がありますので、正直、音声変換はあまりオススメできません……

実行方法

AekaConvert.exeで変換すると、aekana*.nalファイル多数とaekana.7ncというファイルが出来ます。

これらのファイルとaekana.exeを同じディレクトリ(SEVEN.NETの*.7nc検索ディレクトリ以下である必要があります)に格納して、SEVEN.NETを起動して『あえかなる世界の終わりに』を選択して下さい。

なお、サウンドをoggで鳴らすために、ogg_yce.dllも必要です。 SEVEN.NETと同じディレクトリか、Windowsディレクトリ等のパスの通っている場所にコピーしておいて下さい。

操作方法

基本的にペンのタップでOKの筈です。ポップアップメニューはESCキーもしくは右クリック(およびそれらに割り当てたボタン。PocketPCであれば、デフォルトではGAPIでのBキーになります)で出せます。

動画の再生

デフォルトでは動画の再生は行なわないようになっています。

ファイルの転送

動画再生を行なう場合は、all.mpgファイルをaekana.7ncファイルと同じ場所にコピーします。

7ncファイルの修正

次に、aekana.7ncファイルの[MOVIE]セクションにuse_movie=noという指定がありますので、これをuse_movie=yesに変更します。

[MOVIE]
use_movie=yes

動画再生プラグインの設定

SEVEN.NET実行エンジンで動画の再生を行なうには動画再生プラグインの設定を行なう必要があります。動画再生プラグインは機種により複数存在しますので、適切なプラグインモジュールをインストールしてそれの設定を行なって下さい。

これで、オープニング、エンディングの動画が再生されるようになります。

動画の分割、変換

あえかな中ではオープニング、エンディング、起動スプラッシュが動画となっていますが、これら3つの動画がall.mpgという巨大な一つの動画にまとめられています。

動画再生プラグイン、特にmovie_yce_tcpmp.dllでは、正確にシークが行なえませんので、all.mpgを3の動画ファイルに分割することで、シークの問題を回避することが出来ます(2)。

生成されたall.7ncの[MOVIE]セクションには以下のような指定があります。

; 0.00.00 - 0.55.00
;splash=all.mpg
;splash_start=0.0
;splash_end=55.0
;splash_total=818.0
; 0.55.00 - 2.36.93
opening=all.mpg
opening_start=55.0
opening_end=156.93
opening_total=818.0
; 11.51.00 -
ending=all.mpg
ending_start=711.00
ending_end=818.0
ending_total=818

ここで、openingはオープニングの動画の動画ファイル名を、opening_startはその動画ファイル中でのオープニングの開始位置(単位:秒)を、opening_endはオープニングの終了位置(単位:秒)を、opening_file_totalは動画ファイルのトータル時間(単位:秒)を指定しています。同様にending_~はエンディングの指定となっています。~_startがコメントアウトされているのはファイルの先頭から始まる、~_endがコメントアウトされている場合はファイルの末尾まで再生することを表しています。コメントアウトされているsplash_~は、起動時に出るスプラッシュの動画ですが、aekana.exeでは使用していません。

ここで、何らかのツールでall.mpgをこれらの時間で3つのファイルに分割して、各々のファイルをopening、ending...で指定することで、前述のシークの問題を回避することが出来ます。なお、3のファイルに分割した時に~_file_totalの値を変更する必要があることを忘れないで下さい(*3)。

また、ここで指定するファイルはmpgファイルである必要はありません。動画再生プラグインがサポートしているファイルであれば任意のフォーマットのファイルが指定出来るかと思われます。

制限、バグ

現時点では、私もラストまで動かしていませんので、多数のバグがあるかと思います。判明している分だけでも、以下のバグ、或いは仕様が存在します。

制限事項

  • 禁則ルールがオリジナルと異なります(というより、完全に禁則が実装出来ていません)
  • BGMのループ時に、正しく音が繋がりません。
  • 回想モードを除くおまけは未実装です
  • おまんじゅうモードは未実装です。 
  • 振動のエフェクト動作がオリジナルと異なります(オリジナルでは縦のみ、横のみ、縦横の3種類(以上?)の振動エフェクトが存在しましたが、常に縦横の振動エフェクトになっています)。
  • 履歴表示は作りかけです。音声のリプレイが出来ません。
  • ちょー遅いです(PCならそれほどでもないですが)
  • 前の選択肢に戻るが一世代しか戻れません
  • メニュー操作時等の各種エフェクト音の大半は実装していません

バグ

  • キャラクタの重ね合せ順序が不正なシーンがあります
  • 主にスキップ表示等で、キャラクタの管理領域が溢れて例外が発生する事があります
  • 既読判定が正しく行なえないバグがある気がします
  • 他、たぶん多数残ってます……

更新履歴

  • 0.2α
    • セーブ、ロード時のサムネイルおよびメッセージの表示を行なっていなかったのを修正
    • フェードアウト時にNaipのレイヤを破棄するようにした
    • メッセージレイヤとNaipのレイヤの表示、非表示を連動するように変更
  • 0.1α
    • 初公開

注意事項

本プログラムは、オリジナルのゲームデータ、及び 変換したデータを参照しています。

本プログラムによって生成/変換されたデータの再配布はaekana.7ncファイルを除いて有償無償、公開非公開、親しい友人間の個人的なやりとり等、理由の一切に関わらず禁止します。

本プログラム自身の再配布は個人的なやりとりであれば自由に行なって下さってかまいません。ただし、企業による配布やWebでの公開、雑誌への掲載は禁止します。

本プログラム自体はキャラメルBOX様には全く関係がございません。質問等をキャラメルBOX様に問い合わせるような行為はお止め下さい。

謝辞

本プログラムのogg/vorbisのデコード、エンコードにはaoTuVを使用させて頂いています。ありがとうございます。

そして何よりも、本当に素晴しいゲームを作って頂いたキャラメルBOXさま、ありがとうございました。

脚注

  • [1]QVGA デバイスでVGAのデータやVGAデバイスでQVGAのデータでも動作はします。QVGAデバイスでVGAの場合は実行時縮小になるので場合によっては字が読み易いかもしれません。逆はほとんど嬉しくないです(QVGAもVGAもデータ量的にはあまり変らないので)。SVGAサイズは実のところ、あまりテストしてないです
  • [2]というか、これをやらないと遅くてしょうがないかもしれません……
  • [3]ただし、~_start、~_endの指定が無ければ、値は適当でも大丈夫かと思います。ただし、省略は出来ません。