■ 2022/10/15 (土) ウディタ大規模アプデの機能 5 ピクチャ&Game.exe ■
【ウディタ大規模アップデートで搭載される機能 5】
引き続き大規模アップデートの機能紹介!
今回も紹介動画を作ったのでぜひご覧ください。6分ほどです。
この動画内で紹介されている新機能や強化内容は以下の通り!
【ピクチャ機能をいろいろ強化!】
●【ピクチャ】 ピクチャへの画面取得機能を実装。
「[1]ファイル読み込み」のファイル名、または
「[2]文字列読み込み時」の文字列変数内に
<SCREENSHOT>と入れると、
「その時点で表示されている画面」をピクチャとして利用できるようになります。
なお、このピクチャ内容はセーブできず、ロード時には消えてしまうため、
一時的なエフェクトとして使うことを考えてみてください。
また動画内では言い忘れていましたが、
この<SCREENSHOT>ピクチャ指定で「表示」をするたび、
<SCREENSHOT>ですでに表示中の他の全ピクチャの画像も更新されます。
つまり、ゲーム内では<SCREENSHOT>は共有の画像であり、
最新の1枚しか保存していません。この点はあらかじめご了承ください。
※なおプロ版ウディタでは
「緑帯なしでスクリーンショットを画像ファイルとして取得できる」
機能が搭載される予定です。
●【ピクチャ】 部分切り出し表示機能を実装。
[1]ファイル読み込みまたは[2]文字列読み込み時に
「<CUT=X10-150-Y40-300>Picture/AAA.jpg」と指定すると、
画像「AAA.jpg」から、X座標10~150ピクセル、
Y座標40~300ピクセルの範囲だけ切り出して表示することができます。
●【ピクチャ】表示する基準位置として「中央上」と「中央下」を新たに実装。
ピクチャ周りに新しい基準座標を入れるのは超面倒だったので
億劫に思ってましたが、あれば私も絶対使うので、とうとう入れさせていただきました。
●【変数操作+】「ピクチャ番号X」の「マウスカーソル重なってる?(1=YES)」機能において、
角度の付いたピクチャでも重なり判定をほぼ正確に取れるよう修正。
斜めになったカードをマウスで選択するときも安心です。
といいますか、まさに『片道勇者2』でその用途で必要になったので搭載しました。
●【ピクチャ】通常ピクチャの「角度」を0以外にした場合でも
縦横の拡大率が異なる状態を維持できるように修正。
なお、文字列ピクチャは今回の修正ですでに
縦横の長さが異なる場合の角度変更が可能です。
【Game.exeの基本性能向上】
●【イベント処理速度】 アルゴリズム改善とプログラム環境の更新により、
コモンイベント内のイベントコマンド処理が大幅に高速化されました。
組み方にもよりますが、一般的な処理ならば
コモンイベント内で平均で従来の2~4倍の速度で
イベント処理が行えるようになるようです。
『ドラゴノーカ』というゲームのSwitch移植時に最適化をがんばった分で最大2倍、
VisualStudioを2003から2022に変えた分で素で2倍くらいになっているようです。
特に、コモンイベント内での「ループと基本的な変数操作」が段違いに速くなりました!
↓
【高速化実例】
コモンイベント内で3万回ループに「Cself0 = 0」を10個入れた、
だいたい30数万回のコマンド処理を毎フレーム実行したときのイベント処理時間が、
ウディタ開発者の環境で
Ver2.294 約36ms → Ver3.00 約1.5ms (20倍以上)
にまで削減できました。
C++ソースコード上では関数1個も読んでない
最適化済みループを実行しているとはいえ速すぎる!
(コンパイル環境変えただけで元の10倍!)
とにかく、コモンイベント内での「変数操作」や「ループ」の処理が
もしかしたらほぼ「無」近くの負荷になっているかもなので、
うまく作ればシミュレーター系のゲームも動かしやすくなると思います。
●【描画速度】 描画速度が平均2倍ほどになりました。
他の人の環境だとどうなるか分かりませんが、
これもコンパイル環境の更新によって
従来のおおよそ半分程度の描画時間になっているようです。
●【ゲーム起動】ゲームの起動を高速化しました。
作者の環境にて、Data.wolf暗号化したサンプルゲームの初期起動時間が、
従来 2.6秒 → 最新版 1.5秒 くらいに早くなりました。
実はプロ版ウディタに、起動時の真っ暗画面の時点で画像とローディングゲージを
表示するおまけ機能を入れようかなと思っていたのですがほぼいらないかも……。
いちおう、入れるだけ入れる予定です。
という感じで、実用的な強化や、より便利になる強化が複数おこなわれています!
特に「ピクチャの切り出し機能」は、DBなどにファイル名として直接、
「<CUT/X40-140/Y50-150>Picture/Face1.png」
と入れるようにするだけでピクチャ処理時に
勝手に顔画像が一部切り出しして表示されるので、
従来のコモンイベント処理をほぼいじらずとも採用できるのが強力です。
【残りの作業】
ここからは仕上げ段階に入りますが、
いまだにまともに入れていないUnicode対応だけで
一ヶ月くらいかかりそうな予感がしているので、
あと一報、二報くらいしたらネタ切れになるかもしれません。
(いちおう、マスク機能などのご紹介もまだ残っています)
Unicode対応は地味で見せ所もない作業ですが、
今やっておくと海外展開など含めてあとあとずっとラクができる部分なので、
がんばれるだけがんばっていきます。
特にこれからも円安が続くようだと、海外にゲームを
輸出していくことも重要になっていきますしね!
そんなわけで、ここからも引き続きやれるペースで進めていきます!
引き続き大規模アップデートの機能紹介!
今回も紹介動画を作ったのでぜひご覧ください。6分ほどです。
この動画内で紹介されている新機能や強化内容は以下の通り!
【ピクチャ機能をいろいろ強化!】
●【ピクチャ】 ピクチャへの画面取得機能を実装。
「[1]ファイル読み込み」のファイル名、または
「[2]文字列読み込み時」の文字列変数内に
<SCREENSHOT>と入れると、
「その時点で表示されている画面」をピクチャとして利用できるようになります。
なお、このピクチャ内容はセーブできず、ロード時には消えてしまうため、
一時的なエフェクトとして使うことを考えてみてください。
また動画内では言い忘れていましたが、
この<SCREENSHOT>ピクチャ指定で「表示」をするたび、
<SCREENSHOT>ですでに表示中の他の全ピクチャの画像も更新されます。
つまり、ゲーム内では<SCREENSHOT>は共有の画像であり、
最新の1枚しか保存していません。この点はあらかじめご了承ください。
※なおプロ版ウディタでは
「緑帯なしでスクリーンショットを画像ファイルとして取得できる」
機能が搭載される予定です。
●【ピクチャ】 部分切り出し表示機能を実装。
[1]ファイル読み込みまたは[2]文字列読み込み時に
「<CUT=X10-150-Y40-300>Picture/AAA.jpg」と指定すると、
画像「AAA.jpg」から、X座標10~150ピクセル、
Y座標40~300ピクセルの範囲だけ切り出して表示することができます。
●【ピクチャ】表示する基準位置として「中央上」と「中央下」を新たに実装。
ピクチャ周りに新しい基準座標を入れるのは超面倒だったので
億劫に思ってましたが、あれば私も絶対使うので、とうとう入れさせていただきました。
●【変数操作+】「ピクチャ番号X」の「マウスカーソル重なってる?(1=YES)」機能において、
角度の付いたピクチャでも重なり判定をほぼ正確に取れるよう修正。
斜めになったカードをマウスで選択するときも安心です。
といいますか、まさに『片道勇者2』でその用途で必要になったので搭載しました。
●【ピクチャ】通常ピクチャの「角度」を0以外にした場合でも
縦横の拡大率が異なる状態を維持できるように修正。
なお、文字列ピクチャは今回の修正ですでに
縦横の長さが異なる場合の角度変更が可能です。
【Game.exeの基本性能向上】
●【イベント処理速度】 アルゴリズム改善とプログラム環境の更新により、
コモンイベント内のイベントコマンド処理が大幅に高速化されました。
組み方にもよりますが、一般的な処理ならば
コモンイベント内で平均で従来の2~4倍の速度で
イベント処理が行えるようになるようです。
『ドラゴノーカ』というゲームのSwitch移植時に最適化をがんばった分で最大2倍、
VisualStudioを2003から2022に変えた分で素で2倍くらいになっているようです。
特に、コモンイベント内での「ループと基本的な変数操作」が段違いに速くなりました!
↓
【高速化実例】
コモンイベント内で3万回ループに「Cself0 = 0」を10個入れた、
だいたい30数万回のコマンド処理を毎フレーム実行したときのイベント処理時間が、
ウディタ開発者の環境で
Ver2.294 約36ms → Ver3.00 約1.5ms (20倍以上)
にまで削減できました。
C++ソースコード上では関数1個も読んでない
最適化済みループを実行しているとはいえ速すぎる!
(コンパイル環境変えただけで元の10倍!)
とにかく、コモンイベント内での「変数操作」や「ループ」の処理が
もしかしたらほぼ「無」近くの負荷になっているかもなので、
うまく作ればシミュレーター系のゲームも動かしやすくなると思います。
●【描画速度】 描画速度が平均2倍ほどになりました。
他の人の環境だとどうなるか分かりませんが、
これもコンパイル環境の更新によって
従来のおおよそ半分程度の描画時間になっているようです。
●【ゲーム起動】ゲームの起動を高速化しました。
作者の環境にて、Data.wolf暗号化したサンプルゲームの初期起動時間が、
従来 2.6秒 → 最新版 1.5秒 くらいに早くなりました。
実はプロ版ウディタに、起動時の真っ暗画面の時点で画像とローディングゲージを
表示するおまけ機能を入れようかなと思っていたのですがほぼいらないかも……。
いちおう、入れるだけ入れる予定です。
という感じで、実用的な強化や、より便利になる強化が複数おこなわれています!
特に「ピクチャの切り出し機能」は、DBなどにファイル名として直接、
「<CUT/X40-140/Y50-150>Picture/Face1.png」
と入れるようにするだけでピクチャ処理時に
勝手に顔画像が一部切り出しして表示されるので、
従来のコモンイベント処理をほぼいじらずとも採用できるのが強力です。
【残りの作業】
ここからは仕上げ段階に入りますが、
いまだにまともに入れていないUnicode対応だけで
一ヶ月くらいかかりそうな予感がしているので、
あと一報、二報くらいしたらネタ切れになるかもしれません。
(いちおう、マスク機能などのご紹介もまだ残っています)
Unicode対応は地味で見せ所もない作業ですが、
今やっておくと海外展開など含めてあとあとずっとラクができる部分なので、
がんばれるだけがんばっていきます。
特にこれからも円安が続くようだと、海外にゲームを
輸出していくことも重要になっていきますしね!
そんなわけで、ここからも引き続きやれるペースで進めていきます!
- 関連記事
-
- ウディタ大規模アプデ内容予告6 Unicode化 (2022/10/29)
- ウディタ大規模アプデの機能 5 ピクチャ&Game.exe (2022/10/15)
- ウディタ大規模アプデの機能 4 (2022/10/01)
| 開発日誌トップ |