SmokingWOLF Oct/05/2024 08:10

続、ウディタVer3.5中規模修正中! (空Ev作成/フォント暗号化ほか)

 ということでずっとみっちりウディタの修正作業中です!
 セキュリティ周りみたいな、「表にご報告しにくい割に膨大な作業量の場所」はおおよそ済んだので、あとは楽しい新機能搭載フェイズ、というところです!

 今回はここまでに実装に成功した、ちょっと興味深いであろう新機能についてご紹介していきます!
 ※最初はVer3.40更新と言っていましたがもっと入れるもの入れて3と4の中間の「ウディタ3.5」呼びにすることにしました。

◆Ver3.5の新機能、一部紹介!

空のイベント作成機能(※裏技)

 一部の人から割と待望されていた「空のイベント」を作る機能が搭載されます! うまくコマンドにおさまらなかったので文字列操作の隠し機能による裏技になってしまいましたが上級者の方しか使わないと思うので問題ないはず!
(隠し機能:「文字列操作」の「に↓のファイル内容読込」を選んで「<<」から始まる裏コードを入れると使える機能)

↓空イベント生成コマンドの開発中デモ。大量の夕一が新イベントとして生成されています。まだ開発途中なせいで初期位置が(0,0)になっており目標位置までニワトリがコンベア出荷されてるように見えますが、完成版では目標位置に「瞬間表示」で出現します
https://youtu.be/g96jpqYU0U0

 この『空イベント生成機能』、使い方としては「文字列操作」の「に↓のファイル内容読込」に隠しコードとして

<<MAKE_EVENT_X=4/Y=2/TR=1>>CharaChip/[Chara]Animal_Chicken.png
 ※\cself[5]や\v[1]みたいな変数指定ももちろん可能です。

 みたいに指定すると、座標(4,2)に、「決定キーで起動」(TR=1)する、画像「CharaChip/[Chara]Animal_Chicken.png」の新イベントを設置することができます!
 XY座標や画像だけでなく、イベントの「起動条件」も(TR=1:決定キー、2:プレイヤー接触、3:イベント接触)から指定できます。

 「でも生成されたイベントはコマンドが空だから『起動条件』なんて関係なくない!?」と思われるかもしれませんが、今回の中規模修正でプレイヤーが起動した空イベントのIDを検出できるようにする予定なので、意味はあります!
 空イベントでも「起動さえ検知」できれば、熟練者の方なら何とでもしようがあるはず!
(たとえば「変数操作+」の中に「今フレームの決定キー/接触で起動したマップEvID」を得られるコマンドを新たに付けたりすれば実現できると見込んでいます)

 これらの機能を駆使すれば、究極的にはマップエディタで1キャラも置かなくったってイベントを配置・制御できるようになります!
 ただしイベントの最大配置数は「10000個まで」となっておりますので、そこはご注意を。

 また、「生成されたイベントID」も返り値として得られるので、そこもご安心ください(文字列変数に"12"みたいな文字列が入るので、「変数操作」を使って数値に変換してください)


【ついでに「イベント削除機能」も搭載!(ただし空イベントのみ)】
 ちなみにイベント生成機能に対して、「イベント削除機能(<<DELETE_EVENT_ID>>(イベントID) )」も作りました。ただし、こちらは実質「空イベント」しか消せません。
 コマンド実行途中のイベントが消えるとクラッシュしてしまうことが分かったので、「何もイベントコマンドを持っていない」「ページ1つだけ」かつ「自動起動でも並列起動でもない」のイベントの場合だけ削除可能となっています。



【このイベント生成・削除機能で何ができるか?】
 空イベントが生成できると何ができるか! たとえば以下のような用途が考えられます。

●『牧場物語』系みたいな作物が無限に出てくるゲームや、キャラやアイテムが置き放題なオープンワールドゲームを作る場合でも、あらかじめ空のイベントを大量に作っておく必要がなくなります!
 そのためにマップに5000個(エディタの限界数)の空イベントを作られたという方もいらっしゃいますからね! これからはそういったことをしなくても、必要なときに空イベントを作れば大丈夫になるわけです。

●他にも、「どのマップに行っても100人くらい仲間がついてくる」とか、「そもそも特定マップに固定配置のキャラがいなくて、みんな常にどこかの色んなマップを歩き回っている」ようなRPGを作るときだって便利になります!

●「マップチップの一部をキャラチップで代用したい」場合にも有用です!
 マップチップの「タグ」に応じて「自動でその場所にマップイベントを配置し直したりする」なんてことも少ない作業数で実現できるようになるので、マニアックな配置をしたいときでも安心です!
(さっきのMAKE_EVENTコマンドの画像指定で<TILE>4みたいに入れるとタイル画像が設定できます)


 従来でも、これらはどれも「全マップに大量の空イベントを作っておく」ことで対応可能な案件ではありましたが、今後はそういった作業が必要だった作品ももっと作りやすくなるはずです!
 すでに「夢が広がる~」とおっしゃっている方は、そういうところで挫折した経験や苦労された経験がお有りなのだと思います。今後はラクになりますよ!



ファイル個別暗号化(プロ版機能)で「フォント暗号化」ができた!

 「ファイル個別暗号化機能(復号キーなどを設定して.wolfxファイルに変換できる)」自体は前回もご紹介しましたが、それで得られた副産物として、『フォント暗号化』が可能になりました!

 たとえば「UmePlusGothic.ttf」をファイル個別暗号化すると「UmePlusGothic.ttf.wolfx」ファイルに変換されるわけですが、これをGamePro.exeと同じ場所や、Dataフォルダ内に入れておくと、普通のttfファイルと同じく起動時に読み込みが可能です!
 それでいてttf.wolfxは暗号化されているので、直接Windowsで読み込むことはできなくなります。ファイル名も「Font1.ttf.wolx」みたいに変えれば何のフォントを使っているかも分からなくなるでしょう。

 「二次利用可能な形での再配布」に該当しなければ使えるフォントも結構あるらしいので、ある程度は使えるフォントの幅も広がると思います。もちろん、フォントごとの規約はしっかり守ってくださいね!
 ただしこの「ファイル個別暗号化」機能は『プロ版専用』なので、その点はあらかじめご了承ください。ウディコンなどでは使えないってことですね。



エディターのウィンドウサイズの調整や、フォント切り替え(2種)ができるようになった!

 「エディターオプション」からエディターのウィンドウサイズを調整できるようになりました!
 「マップイベントウィンドウ」や「イベントコマンド挿入ウィンドウ」が思ったより幅を取るからあと1割だけ小さくしたいんだけど……という私みたいな人や、3840ディスプレイ持ってるけどWindowsの拡大率100%だとだとウディタ画面が小さすぎるよぉぉ! という人のために搭載されます!

 といっても技術的な都合で拡大できない場所もあるのでそこはご了承ください。いつも見るであろう「マップ/コモンイベントウィンドウ」や「データベースウィンドウ」、「コマンド入力ウィンドウ」あたりは押さえてありますが、メニューアイコンや上部メニュー欄などの拡大縮小はちょっと難しそうだったのでできていません。


【エディターのフォント変更機能】
 あとフォント変更も2種から選択可能に!
 これまでは「MS UIゴシック」というカクカクフォントでしたが、これからは「Meiryo UI」というなめらかフォントも選べるようになります! また、「太字」への切り替えもできますよ。




「マップエディタ」や「場所移動の移動先選択」で「x2」拡大モードを追加!

 これもディスプレイの画面解像度が上がってきた時代に対応するためのもので、マップチップを1/1よりさらに大きい「x2」ズームで表示できるようになります!
 一見簡単に作れそうに見えましたが、ちょっとやりかけたらすごい作業量が必要だったので今回のチャンスを待っていた部分です。需要はそこまで高くなかったかもしれませんが、この機会に入れられて何よりです。


 という感じで、今も毎日全力でウディタ修正中です!
 いつものことですが早く終わらせないと作業の時給換算がマズいですからね! それが全力で頑張れる動機になっているのは良いことではあるんですが。

 実装に成功すれば紹介に値するであろう新機能の予定は他にもありますので、引き続きお楽しみに!

2 tips have been sent.

Sending tips requires user registration.Find details about tips here.

Monthly Archive

Search by Exclusive Perks

Search Articles