■サイト[SilverSecond]トップ
■開発日誌トップ
【年始からウディタ修正!+Switch移植処理速度比較】

「よーし今年は『片道勇者2』の開発もやっていくぞー!」
 と思っていたら年始のリアルイベントや引き続きウディタのバグ修正が盛りだくさんの状況で、
結局まだまだウディタの修正が作業時間の大半を占めています。



 今回はウディタのこれまでの修正内容のうち、前回紹介時から追加修正された
「改善点」っぽい部分だけリストアップしてやってる感を出していきたいと思います!
 (バグ修正分はナシで)



【ウディタ3 Ver3.101~3.134までの改善点】

【新機能】

●【Game.ini】「SelectedText_to_ClipBoard_F2=」の行を追加。
 デフォルトは0です。1にしてゲームを起動すると、F2キーを押すことで
「選択中の選択肢」→「なければマウスカーソル上の文字列ピクチャの
文字列(不透明度1以上)」をクリップボードにコピーできます。
 → 翻訳プレイにも便利です。海外勢の方も
ウディタ製ゲーム遊んでくれるといいですね。



●【Config.exe】iniファイルの保存処理をUnicodeに対応。
  日本語以外のロケールで起動した場合は自動で英語になる機能を追加。


●【ダウンロード】POST時のContent-Typeを変更できる裏技を追加。
 「POST送信」文のどこでも「<<CONTENT>>~~<<CONTENT_END>>」と
入れると送信時のContent-Typeヘッダを~~部分で上書きできます。

【入力例】**<<CONTENT>>application/json<<CONTENT_END>>~ここにPOST内容~**
 ※デフォルトでは<<CONTENT>>application/x-www-form-urlencoded<<CONTENT_END>>が入っているのと同じ処理が行われています。
 ※<<CONTENT>>~<<CONTENT_END>>部分は削除されて送信されます。

 → Content-Typeってもっぱらテキストしか使わないものかと思ったら
json形式も送れるようにすることでVoiceVoxさんなどのボイス再生などにも
使えるとのことで搭載しました。



●【プロ版機能】「実行中メインEv強制中断」機能を追加しました。
「決定キー起動や接触起動、自動起動のイベント」など同時に1つしか
実行できない「メイン実行イベント(仮称)」に対して、
並列イベント内から強制的に「イベント処理中断」させることができます。

- 「ウェイト」や「~~完了までウェイト」系は、ウェイトは中断されますが、同時に実行中の
処理自体は続行されます(動作指定、スクロール、ダウンロード機能など)
- 選択肢コマンドや文字列操作コマンドのキーボード入力、キー入力待ちも中断されます。
- ウェイトありのトランジション中や場所移動中はそもそも並列イベントが
進まないので「実行中メインEv強制中断」は実行できません。
 → イベント処理をいつでも打ち切れるので、うまく使えばイベントスキップ機能などに便利です。




【ゲーム部の改善点】

●【ダウンロード】「保存しない」にチェックを入れても「~_tmp」ファイルが
作られていたので、ファイル保存が不要なときはそもそも「~_tmp」ファイルを生成しないよう修正


●【ダウンロード】無料版で「http(s)://localhost」に接続する場合は
連続で接続してもウェイトが増えないよう修正
 → これによって自PCにPOST送信するようなソフトと連携しやすくなります。


●【起動時】起動に失敗したときなどに勝手にグラフィック表示モードが
「ソフトウェアモード」になる現象が起きにくくなるよう修正。
(現在は起動失敗時、手動で設定を変えてくださいというメッセージが出ます)
 → ときどき修正点に入っているのですがなぜかよく直ってない部分です。


●【起動時】ソフトウェアモードで起動したときはタイトルバーに
【ソフトウェアモード】と追加表示されるよう修正。
(プロ版の場合、「ゲームの基本設定[Pro専用]」のタイトルバー表示設定に
と入れるとソフトウェアモード時にその箇所に表示されます)


●【Config.exe】「グラフィック表示モード」の説明文を以下のように変更。
今となっては3Dモードで動かないパソコンの方が珍しいと思います。
 <3Dモード>
  グラフィックボードを使用して描画。通常はこちらが高速かつ高い描画品質になります。
 <ソフトウェアモード>
  CPUのみで描画するセーフティモード。動作は安定しますが処理速度は遅く、描画も最低品質です。


●【セーブ・ロード処理】「セーブデータへの書き込み」処理で変数・文字列を書き込んだ際、
従来は1つ書き込むたびにファイル保存し直していたのを、
「そのフレーム中のイベント処理が全部終わった時点」と「緑帯エラーが起きた時点」、
または「ゲーム終了時」にまとめて1回だけファイル保存するように効率化




【エディター部の改善点】

●【ゲームデータ作成】文字種の問題で暗号化に失敗したファイルがあった場合は
メッセージボックスを表示してそのファイルを無視するように修正。
また、「暗号化処理はUnicode化されておらず、日本語と半角英数字の
ファイルしか読み込めません」という注意書きも追加しました。
 → Windowsが「日本語」以外の言語環境だとうまく暗号化できないので
このような記述が追加されました。海外の方にもウディタ使ってくださってるなんて緊張します。



●【データベース設定画面】「挿入」「削除」「貼り付け」ボタンを押した後、
そのボタンになるべくそのままフォーカスが戻るよう修正
 → 「挿入」ボタンや「貼り付け」ボタンをEnterで
連打できるようにしたいという意図です。



●【イベント・データ選択欄】コモンイベントウィンドウ、マップイベントウィンドウ、
データベース画面において、中クリックをドラッグしながら上下スライドで
リストボックスをスクロールさせられるように修正
 (Editor.ini内の「ListBox_MClickDrag=1」を「0」にすると機能停止できます)
 → Ver2時点ではリスト内で中クリックして出せていた
「スクロールの丸ボタン」が出なくなってしまったのでこちらを搭載しました。
(出る場合もあるようです)
もしスクロールの丸ボタンも出て邪魔になる場合は「0」にしてください。
これを搭載した理由の80%くらいは、私のマウスのホイールが
だいぶ前からまともに機能しなくなっているからです。
どうしてマウスのホイールってすぐダメになっちゃうんでしょうね……。




 といった修正が12月後半から1月中旬現在までの内容でした!
 バグ修正だけのつもりがなんだかんだで色々いじってますね。
 裏ではライブラリ作者さまにお問い合わせしたり色々ドタバタやっております。



【ウディタ用の支援ページ作りました】

そしてこちらはあんまり大した話ではないのですが、BOOTHにウディタ用のご支援ページを作りました。

【ウディタご支援用 ミニ参考資料集ページ(BOOTH)へ】

以前の生放送でいただいたご要望にお応えしたつもりのもので、
参考資料っぽくしてあります。
今は少ないですがコモンイベントと解説資料が載っています。
いつもご支援くださる方、本当にありがとうございます!



【ウディタのSwitch移植時の処理速度比較!】

私もお手伝いさせていただいた『ドラゴノーカ』というゲームがSwitchで発売されました!
処理負荷の改善などでお付き合いがあった都合上、ある程度は詳しいので、
PC版とSwitch版で処理速度の比較をすることにしてみました。

それがこちらの動画です!



色々語っていますが、ざっくりした結論としては、

『Switch上ではVer3の5~6倍くらいのイベント処理時間がかかりそうなので、
移植を狙うならイベント処理時間を2ms以内におさめるのが安全じゃないでしょうか』


という感じでした。
言い換えると、Ver3のウディタは相対的に処理が速くなっているので、
これまでの感覚で作ってると移植できない可能性が出てくるかもよ、って話ですね。

この辺りのデータは今はほとんどの人には影響ない話かもしれませんが、
Switchに限らず他のプラットフォームに移植する可能性が出た場合に
影響してくるので、意識していきたいところです。


ウディタが落ち着いたらゲーム開発に戻りたいのですが、
直近で遊びたいゲームも出てきそうなので、
この機会に色々最新のゲームも遊びたいなと考えています。

直近だと『ファイアーエムブレム エンゲージ』が注目作!
落ち着くタイミングが少なくて話題作を遊ぶチャンスを何度も逃しているので、
今回くらいはせっかくですから楽しみたいですね。
関連記事