紫電ではローカルでもプレイできることを想定している。
PCで普通のブラウザでローカルでプレイしてもらうためには絵、音声、テキストとかリソースを
丸出しにする必要がある。
おそらく丸出しになるのをいやがる制作者さんもけっこういると思う。
商業、同人で有料配布する時に紫電を選択肢からはずす大きな要因だと思う。
スマホの場合アプリといっしょにパッケージされるので丸出しにはならないから
現状でも問題にはならないはず。問題はPC向けだ。
今この件への対応策としては考えられるのは専用ブラウザを作ること。
webkitがオープンソースであるしもはやブラウザを自分で用意するのはかなり容易だ。
それに手を加えてアーカイブされた絵、音声、テキストを読み込めるようにすれば
よい。
で、そのexe形式の専用ブラウザとアーカイブを一緒にzip化して配布する。
ユーザーはzipの中のexeをダブルクリックすればプレイできるというわけだ。
どうせ専用ブラウザには大した機能いらないんだから2,3Mくらいの大きさにしかならないだろう。
クライアント側プログラミングなら得意とするところ、こういうところでアドバンテージを付けたい。
パッケージング(?)すると読み込みが遅くなるなんてことは無い感じですか?
返信削除NScripterだとBGMをパッケージングすると少し読み込みが遅れるなんていう話を聞いたことがあって(MP3だけだったか)、自分は露出させているんです。
あとすごく細かいことなんですが、
BGMのフェードアウト機能的なものは実装する予定ですか?
もしくは機能というよりデフォでフェードアウトにするか。
ブツ切りだとどうも違和感を覚えてしまって。
NScripterだと
bgmfadeout 2000
stop
みたいな感じに記述して、2秒掛けてフェードアウトさせています。
読み込みおそくなるかどうかは、専用ブラウザの実装次第ですね。
返信削除パッケージまるごと全部メモりにロードしてしまうような実装にしてしまえばむしろパッケージ化した方が読み込み速いですよ。
絵、音声、テキスト合計して200M程度なら
最近のパソコンでプレイする分には問題ないかなと。。。
そうしないにしてもアーカイブしたときにファイルのインデックスリストを作ればそんなに遅くはならないのですが、たぶんNScripterはあまりそこを重要視せずにやらなかったのでしょう。
なんにしろまだまだ先の機能ですので設計はおいおい。なんにしろ読み込みで問題にはならないかと。
BGMのフェードアウトはhtml5でそのような機能サポートされてないから無理って決めつけてたのですが
今解決策がひらめきました。音量調節は制御できるので後はタイマを使って自力でそれっぽくできると思います。
ちなみにインデックスリストというのについて少々。
返信削除コンピュータの動作で一番遅いのはHDDとかストレージから読み込んだり書き込んだりする時です。
おそらくNscripterはアーカイブされたファイルを見つけるためにアーカイブされたファイルの中を目的のファイルが見つかるまでファイルの先頭から読み込んでいます。
なので始めから読み込むべきファイルの場所がわかっていれば先頭から探す必要がありません。
そこでインデックスリストに全ファイルのアーカイブ内での位置を記録しておきまずはインデックスリストをチェックすればすぐに目的のファイルを読み込めるというわけですな。
おお、詳しいところをありがとうございます。
返信削除なんとなく思ったのですが、説明すごく上手いですよね。
いえいえ。だいぶ端折った説明ですみませんww
返信削除