« かにしの | メイン

2008年01月28日

●こんにゃく さんさん

プレイした方はお気づきと思いますが、起動時のタイトル画面、割と適当に作っていました。
しかしオリジナルでは、季節から特別な日や時間等、細部に至るまで変化に意図が込められているんですね。

エゴさんがその辺りを詳解にまとめてくださっています。
ううむ、これを見ると改めて上から下まで隙のない作品だと思わされますねー。
ちなみに現在りんな・さえちゃん終了。航が出張りすぎないさえちゃん√がかなり良かったです。
しかしスタッフロールがないと余韻が損なわれるなぁ…orz
あとbgmのフェードも情緒の上で割と切望かも。

休題。
そしてエゴさんのまとめをもとに、Herbasさんがタイトル画面変化をスクリプトに落としてくださいました。
かなり再現性が高いので、この機会に是非とも 0.txt を改修させて頂くことをお勧めします。
これ以上私に出来ることはないため、ただただありがたく享受してしまいます。

お二方、いい仕事をお疲れ様でした。

いきなり追記
Herbasさんから許可を頂きましたので、うちでの 0.txt に組み込ませていただきました。→0121c
手順はそのままで堪能しちゃいましょう。ありがとうございます。

2008年01月25日

●こんにゃく しんしん

プレイしていて気付いたのですが、通常版でも visual.pac 自体はおそらく初回版と変わりなく
修正として公式WEBと同じアップデートファイル update.pac が予めインストールされているみたいですね。
だって ヒラメだもの

合成に使わせて頂いた『Create GIGA Index』はupdate.pac には対応していないようなので
やっぱりImageMagickで合成して差し替えようと思います。upvisual.pl(として保存
Update.pac から VISUAL_(ry).bmp を /Update フォルダに解凍し、その上の階層で実行。
別フォルダに合成されたイベント画像ファイルが出来るのでお好みで差し替えてください。

立ち絵は…解析すれば出来るのですが、あまり影響ないと思うしまあいいや。
その他のファイルもお好みで差し替え願います。
なお ImageMagick、パッチ関連での質問は受け付けておりません。あしかります
※よそ様での質問も自重してくれると嬉しいな、と。調べる・試す・諦める、この3つが肝要です。

2008年01月19日

●こんにゃく おーおー

・PerlMagick必須でもいいですよね?
・サイズ可変式のログは大変なので、4つ固定です。
・名前クリックでボイスリピート。
・既読ジャンプ実装。『次の選択肢まで』ではなく、その話のラストへ飛びます。確認しないので注意
・スクリプト的には約束の日~茜ルートまでいけると思います。検証未完
・タイトルで雨が降りません。虫も鳴きません。日にちも見てません。
・未実装エフェクトはいつかおいおい。エンディング周りが怖いかも。
・イベントシートとかおまけとかもおいおい、出来れば…。
・スタッフロールもどうしよう。
・たまに場面が変わっても立ち絵が残ったままになるかも知れません。
・ONS20070823版での動作を確認してます。というか今年の修正にはまだ手が届いてないだけ。
・テスト版での gloval.sav は削除してください。
・ドキュメント書くのはまた明日に…。
・ロードは見ない振り。

2008年01月14日

●こんにゃく よれよれ

なんとか移動先選択・フラグ分岐処理を実装出来ました。テスト2
これで一応は最後まで進めるはず? 一応=セーブ不能
しかしスクリプトがそろそろ訳分からなくなってきています。
あとはシステム部分だ…。

ちなみにスクリーンショットのキャラチップもそうなんですが、特にシステム用画像などは
Nスクに対応させるために元画像を加工しなければならないことが結構あるので困っています。
PerlMagick ( ImageMagick をPerlで扱うモジュール)用のスクリプトは同梱してますけど、
色々煩雑かもしれません。 # image.pl , /system(画像フォルダ)の上で実行

たとえば上のものでは上下2パターンのチップを7キャラ分横に並べているので、横に7分割した後、
縦も2分割したものを横に繋げています。(これはなくても動作します)

1a2a3a4a5a6a7a
1b2b3b4b5b6b7b みたいなイメージの画像を

1a1b,2a2b,3a3b... と7つの画像へ切り出し・連結

PerlMagickでの処理はこんな感じで?

my $image = Image::Magick->new;
( -e "./system/EventSelectChar.png") or die;
$image->Read("./system/EventSelectChar.png");
my $tate = $image->Get('base-rows');
my $yoko = $image->Get('base-columns');

for ( $i = 0 ; $i <= 6 ; $i++ ) { my $half = $image->Clone(); $half -> Crop( x=>$yoko * $i / 7 , width => $yoko / 7 , y=>$tate * 0 / 2 ,height => $tate / 2 );
my $half2 = $image->Clone(); $half2 -> Crop( x=>$yoko * $i / 7 , width => $yoko / 7 , y=>$tate * 1 / 2 ,height => $tate / 2 );
push(@$half,@$half2); my $p = $half -> Append(stack=>false); $p -> Write("./system/EventSelectChar_$i.png"); }
undef $image;

もっとも各キャラが等間隔じゃないので、よく見ると横にゴミがついてたり。
イベントシート(未実装)の各画像(約80枚が横4列×縦21列で連結)も

$hoge -> Crop( x => $yoko / 4 * ( $i % 4 ) , width => $yoko / 4 , y=>$tate / 21 * int ( $i / 4 ) ,height => $tate / 21 );

と1行(の繰り返し)で切り出せたので凄く便利。

※改めて書くのも非常に言い訳くさいそのものですが、各データはメーカー様の著作物です。
個人的利用の範囲で利用させていただいています。ましょう。

2008年01月09日

●こんにゃく ときたま

大体手順は固まってきたので、以下readme用にちょっとメモ
読み飛ばしてくださいませ。

こんにゃく

#データ展開
masaemonさんの戯画Plug-inを使わせて頂きました。
うちのものでは率が何気にというか普通に高いです。いつもありがとうございます。
私の環境だと音声だけは上手く展開出来なかったので、よそ様のツールにて。
この件でツール作者様への質問はお控え下さい。メーカー様へはもっとダメです。

アーカイブ名でフォルダを作って展開します。
画像は同じくmasaemonさん製 Create GIGA Index でインデックスを作ってから合成出力。
(なんて便利なのでしょう)
アルファブレンドはせずに。デフォルトではPNGに変換して使用しています。
また画像以外のファイル(合成用.fil.ani)は出力不要です。(system.pac 内 ani ファイルは後で使用)

※メッセージウィンドウはそのままだと透過されませんし、下側の画像が繋がって表示されてしまいます。
 気になる方は適宜改造してください。
 参考.私がやった手順
   png2mbmp でNスク形式に変換し、下画像のα部分(右下)をその上へコピーペースト。
   高さを半分にして上部分のみに。α部分の黒を適当な灰色で塗りつぶして終了。
   …直接透過度を編集した方がどう考えても良いです。

/onscripter実行フォルダ
- /face
- /stand
- /system
- /visual
- /bgm
- /se
- /voice
+0.txt
+1.txt
+ONScripter実行用ファイル

#シナリオ変換
script.pac → script フォルダ テスト版は bin フォルダにしてください。まちがいた
config.pac → config フォルダ
system.pac 内 ani ファイル → ani フォルダ
へ展開。同梱の[ aozora.pl ao_data.pm nsc.pl size.txt base0.txt ]と同じフォルダへ配置します。

/hoge(任意)
+aozora.pl , ao_data.pm , nsc.pl , size.txt , base0.txt
- /bin
   +-Effect.bin ... 沙衣里01.bin ...
- /config
   +-BGM.dat ...
- /ani
  +-AutoModeBarButton.ani ...

aozora.pl を実行すると同じ階層に mes , bin_out , data フォルダが作成されます。
次いでそのまま nsc.pl を実行。0.txt 1.txt が作成されます。
あとは環境を揃えて ONScripter にて実行してください。


テスト用に現在出来ているところまでのファイルと今後の予定

もの
todo
・移動先選択実装・フラグ分岐実装 優先度◎
  これは当然最優先で。解析はほぼ済んだのでこれからちまちまNスクへ落とすお仕事へ。
  つまり現状ではプロローグと第1部1話までしか進めません。シナリオ自体は全部変換されていたり。

・タイトル画面 優先度◎
  うんまあ。

・システム 優先度○
  といっても色々ありますが、現状は皆無。右クリックすらありません。当然セーブロードも不可能。
  基本機能を実装した後に、段階的にシステムカスタマイズを進めていく予定です。
  セーブロードのカスタムにもそろそろ挑戦するべきでしょうか…?

・基本エフェクト 優先度○
  何が基本で何が基本じゃないかよく分かりませんけれど。
  未解析のものをプレイと照らし合わせながら。

・拡大エフェクト 優先度?
  draw命令で出来ることはある程度実装済み。ただ台詞を挟むと、特に茜登場シーンはぐちゃぐちゃ…。
  あと頑張れば出来ても、綺麗じゃなかったりスクリプトが肥大化してしまうものは様子見。
  出来ない物は想像で補いましょう。

・アニメーションエフェクト 優先度 ×~○
  現状全て未実装。種類が多いため、今後出来そうなものに絞って個別に実装していこうかと。
  effect.bin と ani ファイルで処理しているようです。ただ解析するより自作した方が早いし楽堕落

・イベントシート 優先度△
  最終的には入れたいなぁ…。

・シナリオサイズ削減 優先度△
  肥大化しています。現状既に7M近く
  移動・拡大を defsub自作命令に落とせば相当減りますが…一度に100近い変数とか管理無理ぽです。
  そうするとあとはもうあまり削るところがなかったり。むしろ増えます。
  でも0821aの本家更新と、新型PSP対応版でかなりメモリ的には余裕が出来ているのでなんとかなる?
  うーん、現金ですみません。ラベル毎読み込みはやはり現実的じゃなかったですよね。


とまあ、ということで、とにかくとりあえず現状進行度49%程度な感じでした。

2008年01月04日

●こんにゃく ぶくぶく

う、ただ単に暴走しているだけだったりします…。すみませんすみません

ともあれなんたら成分も補給したことだし、そろそろ軌道修正しないと。
今日ひがな眺めてみて、こんにゃくのルート・フラグは多分解析出来たような気がします。
ようやく登り始めたところですかね。この果てしなく遠いNスク化への坂を―(蜜柑)

2007年12月19日

●こんにゃく とんとん

前回の続きです。音割れ些少軽減

拡大処理は大体再現できたと思います。
スクリプトでは画面(800x600)における拡大の中心点を指定しているようなので、
表示されている全スプライトに対して

表示先中心x/y座標 = 拡大の中心点 - ( 拡大の中心点 - ( 画像の座標 + 画像サイズ / 2 ) ) * 倍率
で drawsp2 しています。
bgcopy → drawbg で一気にやると処理が連続する際に困ったことに。

これで通常パートの演出関係はある程度終わったのですが、フラグ・ルート関係は依然さっぱり。
まだ進行状態30%という感じです。早い、早すぎるよHerbasさん
optipng等のPNG最適化は試してみたいですが、7時間超か…。

2007年12月16日

●こんにゃく おりおり

冒頭部分。オチはありません。音質悪し
拡大処理どうしよう。

シナリオ進行部分は現在絶賛ノータッチ中

2007年12月13日

●こんにゃく編 その1 進捗たんたん

立ち絵関連の処理はほぼ完了。
簡単にONSへ乗せてみる。

次は背景関連かな。

2007年12月08日

●PerlでONS こんにゃく編 その0 進捗ようよう

と、いうことでアレやアレはのアレ?

シナリオファイルをバイナリエディタで眺めること幾星霜、
ようやっと通常パート(絵・音・文)の目処だけは立ったような感じです。
ただし選択パートとかフラグとかは全然なので、途中で頓挫する可能性が結構あります。

運良く頓挫しないにしても再現すべき処理が多いためいつ終わるのやら。現在移植度10%くらい?
そのためまたメモついでに記事数を稼ぎながらのんびりと進行していこうかと。
時々放置して衝動的に別のものを始める可能性もかなりあります。
実はアレやアレやのアレとか全然関係ないソレも同時進行だったり。
とはいえこっち以上に全然進んでませんが、詰まったらとりあえず次へ

・独り言にしてメモ
多分0x0001260からスクリプト開始。その後は行?番号がついてるのでそこで改行。
バイナリだとどこで分けるかが一番大変なので、こうやって明確に示して貰えると大分楽になる。
その後の処理も1個ずつ潰していけるし。バイトコードの整形全般について一度まとめてみよう。
コードの種別は行のラストっぽい。台詞・効果音・立ち絵・立ち絵消去・背景・立ち絵移動等を確認
シナリオファイル後部メッセージは1から割り当て。台詞・効果音済み
立ち絵、背景、音楽等は config/xxx.dat で定義。コード内の数値で呼び出し。立ち絵・背景済み
ただし重ね合わせは移動処理等がめんどくさいのでmasaemonさんの合成ツールを前提に…。大感謝
あ、音声ファイルがなんだか展開出来ない?西側はやだなぁ
拡大演出はある程度再現出来るかも。
場所選択パートはどうなってるのかな。うん、またにしよう
カスタマイズも頑張らないと。REQUIEMからおとボクへのフィードバックもあるしエンドレス。
何回やっても何回やっても3度目のしょうたが倒せない。勇者のくせになまいきだ。