シルバーセカンド開発日誌
■
2024-04-27 (土) 続ウディタ修正&ツクール配信&片道勇者2再開▼ということで今回も引き続きウディタの修正でドタバタしてたり、
生活が大変だったり、気晴らしに
新作RPGツクール(RPG MAKER WITH)の生放送をしたり、
そのすき間に『片道勇者2』の開発をちょっと進めたりする感じの
色々あった二週間でした!
今回起きたイベントを以下に列挙していきます!

◆ウディタ コードの組み方次第で古いPCで動かなくなる問題
ウディタの最新版の問題が一通り解決したかなあと思ったら
また新たな難題が発生してしまいました!
というのも、
『プログラムのコードの組み方によっては新しめのCPU専用の命令が
使われるようになってしまい、古いPCでは動かなくなる』
という問題が起きてしまったのです!
私も長年プログラムしててこういう問題があるのを全然知らず、
ちょっとした衝撃を受けてしまいました。
前回「うひょーがんばっていじってたら速度28倍になったー!」という部分
がまさに新しめのCPU命令で処理するよう最適化されてしまった場所の一つっぽくて、
2011年以前などのCPUが古いPCの場合は、その処理を回避するようにしないと
エラーが起きることが判明!
ということで、それを発見するために何日も使って何かできないかと奮闘しておりました。
↑ CPUの拡張命令の「AVX」の有無で動作が変化していました。
ってよく見たら「メモリ違反のアクセス違反」って言ってるところが!
「メモリのアクセス違反」の誤記です。
結果として、今回は仮想環境でCPUの機能をオンオフしながら検証するなんて
初めての経験ができてとても勉強になりました。
これでいくらか古い環境のテストもできそうです。
ただ、「仮想環境上」ではこのCPU差の問題への対策ができたのですが、
情報をいただいたご報告者さまのPCでは問題が解決しませんでした、残念です。
詳細は掴みきれませんでしたが、他の方でも
同じ時代のCPUで問題が起きるかもしれません。
とはいえ、ひとまず問題が起きる環境はだいぶ昔のPCだけらしいので、
今回は「最新の暗号化を使うと2011年ごろ以前のPCで起動できなくなる可能性があるから気をつけてくれよな!」という警告を
次バージョンからEditor内に入れることで対応しようと考えています。
さらに時間が経てば2011年ごろのPCも徐々になくなっていって、
問題発生頻度はゼロに近付いていくでしょう。
【古いPCでも動かしたい場合は?】
もしゲーム開発者さま側で古いPCでも
動作可能にしたい場合は「Ver3.14~暗号化」という、
1つ前の暗号化を使用することで今回の問題を起きなくすることができます。
(問題が起きる最新版暗号化は「Ver3.31~暗号化」以降のみ)
ウディタはいちおうWindows7(2009年発売)以降で動作するようになっているので、
微妙に今回の「2011年以前のCPUで起動できない」という
条件に引っかかる可能性があります。
どこまで昔のPCをサポートすればいいのかは悩みどころですが、
基本的には「10年以内の環境はなるべく全部動くようがんばる」
「それ以上は時と場合によりけり」という感じでやっていこうと思っています。
RPG MAKER WITH体験版のプレイ配信をしました!
『【ツクール】ウディタ作者がRPG MAKER WITH PLAYER + 体験版を遊ぶよ』
というちょっぴり挑発的なタイトルで生放送させていただきました!
でも中味は全然挑発的じゃなくて
「うひょーこの機能が欲しかったんですよ! 夢が広がるー!」
とか言ってばっかりでした。家庭用ゲームのRPGツクールの記憶が
『RPGツクール3』で止まってた私にはまぶしすぎるツクールでしたね!
出た話題としては、
「ウディタの修正が忙しくて体験版遊べてなかったんですよ!」「家庭用版のいいところはこれですよね、オンラインにアップした他人のデータをDLしやすい!」「一流って感じの曲ですね」「レイヤー4もある…負けた…!(ウディタは3レイヤー)」「デバッグログがある!?」「ルート設定ができる! プレビューもある! すごい!」「ピクチャ番号100まで使える! RPGツクール2000マンにはうれしいですね(50枚までだったので)」「文章の表示で制御文字のリファレンス見られるのいいなー色番号の表示もいいですよねこれ」「\FS[50]こんぬちわ!!」「うおお選択肢が6択も使える!」「アイテム選択の処理!? 通常アイテム1つ選ばせるとかできる!?」「ウフ~ン★」「おっ、乱数が作れる! これだよこれ!」「おおおキャラクターのマップXYと画面XY取れるー!」「(条件分岐で)キー入力が取れる! 音ゲー作れますよ!」「キャラの名前(の頭文字)がRPGMAKERみたいですね、いいですね(ウディタでも似た感じにしてるので共感)」「いやーほんとこれは家庭用RPGツクールで何でも作れそうな感じありますね」「正方形のピクチャ1枚あればなんでもできる!」「指定位置のイベントID取れるのえらい!」「利用規約に賠償請求可能な金額は1000円かソフト購入代金の高い方って記載がある!」「せんめつ!(※たぶん正しくは「じょうめつ」)」
みたいなことを言っておりました。気になる方は動画本編をどうぞ!
『片道勇者2』開発再開!
ずっとウディタの修正にかかりっきりでこちらが進められていませんでした!
『片道勇者2』、今はデータ面もまだまだなのですが、
ひとまず優先順の都合で現在はメインストーリーのところをざっくり作っています!
いつでも「完成」宣言ができる状態にしておくことは精神衛生上大事ですからね!
ですがいつものことながらストーリーのネタバレに配慮すると
ストーリー開発中は何も言えなくなって開発日誌のネタがなくなります! 困った!
ちょっとしたアイテムやスキル紹介などでも期待度を高める役目を
果たしてくれると思うので、今後そのあたりも紹介できる部分がないか
常に考えながら作っていきたいと思います!
「途中の情報を面白くできずして最終成果をワクワクさせられようか!」
とも思いますしね!
その辺の断片情報からワクワクを生むセンスを磨くのにいい訓練にもなるかもしれません。
もちろん本編作成がおろそかにならない程度にですが!
という感じであっちこっち行ったり少し楽しみも確保しつつマイペースに進めております!
ここからしばらくは、ウディタのバグ修正しつつ
第16回ウディコンが始まるまでは
『片道勇者2』開発に集中していきたいです!
ウディコンの準備もがんばります! 今年もお楽しみに!
■
2024-04-13 (土) 【ウディタ】セキュリティ向上作業、いったん完了!!▼この2週間も引き続きウディタの
セキュリティアップデートのために費やしておりました!
1ヶ月近くもの時間をかけてしまったのでウディタ作業費は
超大赤字ですが、セキュリティやデータ処理について
たくさんのお勉強ができたので人生ではプラスの期間でした。
ひとまず最新版ウディタは一通り動作するようになったっぽいので、
ウディタ公式にてVer3.311をアップしております!
とはいえまだちょいちょいバグが残ってる匂いがするので、
慎重な方はもう少し待ってからお試しください。
【WOLF RPGエディター公式ページへ】

◆ウディタのセキュリティ向上、プレイヤーへの影響はある?
ウディタに対していろいろセキュリティ上の
基本的な対策を行ってみたのですが、その中でも
プレイヤーの方にダイレクトに影響が出る可能性があるのは
『DLLインジェクション』への対策です。
『DLLインジェクション』とは簡単にいうと
「本来そのプログラムが使わないDLLを注入して、
強引にプログラムの処理を上書きする」手段で、
応用すれば内部データを抜き取ったりするような悪いことにも使えます。
そしてこれを対策したことによるプレイヤーの方への影響としては、
『別アプリの内部データを使用したり処理を上書きするような個人制作ソフト』
を使っている場合、Game.exeの起動時に以下のようなエラーが起きて
起動できなくなる可能性が出てくるという点です。

↑正規の署名がないDLLが読み込まれたと出てゲームが停止!
企業製ソフトならたいてい正規の署名があるので大丈夫ですが、
個人制作ソフトだと正規署名が付いてないことが多いです。お高いんですよね!
※もし↑が出て遊べなかった場合、Gameを「管理者権限で起動」することで
このエラーを回避できるようですので、よければお試しください。
Game.exeの上で右クリック→「管理者として実行」を選べばOKです。
このエラー文そのものにも追記しておきます!
(2024-07-19追記)
なおこの「DLLインジェクション」技法は悪いことに
使われるだけじゃなくて、
「アクティブになってるウィンドウの上にかわいいマスコットキャラを表示する」
みたいなソフトでも昔使われていたと思います。
たとえば
「実行中のソフトのウィンドウ座標処理をDLLで乗っ取り、そこから
座標情報を抜き取って表示する(+ 元の処理はそのまま再現する)」
ことでウィンドウの上にキャラを乗せる処理を実現していたわけですね!
最近はそんな処理をすると厳しめのウィルスソフトに
バチバチに怒られたりする予感がしますので、
2010年すぎからこういったソフトも段々なくなってしまった印象があります。
「ウィンドウを追随してくれるようなデスクトップマスコット系アプリが
なんで全然増えなくなったの!?」と私が思い始めた時期がその辺りでした。
(たとえば私が使っていた『ClockLauncher』というフリーソフトの2009年版では
アクティブウィンドウのそばにランチャーが自動的に移動する機能があり、
普通にそこでDLLインジェクションが使われていたためかソフト起動中は
最新Game.exeを実行できなくなりました(上の画像)。
それゆえか、『ClockLauncher』の特定のバージョンからは
その機能がなくなっています。
このソフトは2となった今でも更新されててすごい!)
ちなみに、セキュリティソフト自体もGame.exeに
『DLLインジェクション』することがありますが、
それには正規の署名が入っているのでウディタ上でもエラーは起きないはずです。
セキュリティソフトのDLLインジェクションは
『勝手に元の処理を上書きして、怪しい処理が実行されてないかを
監視する処理を加えている』わけですね! たぶん!
おかげで今なら私も、どういった造りでそういったことを
実現してるのか、ちょっとだけ分かるようになってきました。
◆セキュリティの難しさとか雑談とか
ここからはこの3週間にあったとりとめのないお話です。
●安全性のチェックを頻繁に入れるほど重くなるので
パフォーマンスのバランス取りにすごい時間がかかった!
→ まず色んな処理の実行時間を検証するのにけっこう時間がかかりました。
「軽い処理で先にチェックして変化を察知したら重い処理を行う」といった組み方を、
かなり細かく作る必要がありました。
●新しい暗号化処理を作ったらうまく復号化できなくて地獄を見た!!
→ 当たり前ですが暗号化と復号化って1バイトだけ処理をシクっただけでデータがグチャグチャになるんですよ!
ヤケクソでSuno AIさんにこんな歌( ↓ )を
作ってもらったりしてました。作業用BGMとして。
●試行錯誤してたら部分的な処理速度が最初の28倍になって笑ってしまった。
→ ファイルを開く速度に影響するので、どうにか暗号化と復号化の速度を上げようといじってたら
最終的に処理速度が最初の書き方の28倍くらいになって笑ってしまいました。
最初の書き方は誰でも書きうるコードだったのに、そこから
CPUが処理しやすいように崩していったら最終的にこれ!
プログラミングの深さがヤバすぎますよ!
ウディタVer3のときも、超がんばってVisual Studio2003から
Visual Studio2022に環境を変えただけで部分的に速度10倍になったりして
驚きましたが、そういった最適化を受けやすい造りでコーディングする効果の
凄さに衝撃を受けました。これからはCPUに優しい組み方も考えなきゃ……。
●親がとうとう要介護4認定がでそうな状態になっててさらにしんどい!!
→ 前は要介護3認定だったんですが
ケアマネさんに見てもらったら要介護4かもって言われました。要するに大変です。
でも空き時間がないわけじゃないので開催まで残り100日を切った
ウディコンはなんとかがんばります!
介護において「半端に動ける状態の方が恐い」という意味が
理解できる段階になってきています。
おまけ ウディタ内でできるセキュリティ対策記事紹介
K-Shin07さまが、ウディタのゲーム開発者側でできる
セキュリティ対策の記事を書かれていたのでご紹介です!
【ウディタでのゲーム開発者が行えるセキュリティ対策】
https://ci-en.net/creator/16060/article/1111345 (アーカイブ)
「チェックサムによる改ざん検知」「不正なゲーム実行を阻止」など、
ゲーム内からでもできる実用的なテクニックが挙げられています!
特に「チェックサム」は、オンライン要素があるゲームだと
通信内容が改ざんされてありえないスコアが送信されたりしちゃうことも
たまにあるので、そういった場合の防衛策としても有用です。
ということで、今回のセキュリティアップデートはゲームデータの
いくらかの防衛力アップには繋がると思いますので、
気になってた方はよければぜひご利用ください。
とはいっても完全な防御ができないのがこのセキュリティ業界。
限界はありますのでその点はご了承ください。
超有名AAA作品のゲームデータだってたぶん素晴らしい暗号技術が
使われてるでしょうに、だいたい解凍されちゃってますしね。
ウディタ本体もまだもう少し様子見しないといけなさそうなのと、
『ウディタ翻訳サポートツール』の方にも今回の修正を
取り入れる必要があるので、もうしばらくプログラミングをがんばります。
一通り片付いたら、1ヶ月ぶりに自分のゲーム開発が再開できます。
がんばっていきます!
■
2024-03-30 (土) ウディタのセキュリティ更新作業中!▼
◆ウディタのセキュリティ強化作業!
この2週間はウディタのセキュリティ周りの強化作業をやっていました。
でもまだ最新版ウディタには入っていません!
暗号化まわりの検証が大変でもう少しかかりそうです!
ちなみにセキュリティ強化といっても、外から見える使い勝手は
ほぼこれまで通りで、ファイル周りやプロ版のセキュリティが
従来より強化されるのが主だと思います。
実装されても、普通にゲームに触れるユーザーの方には
おそらくほとんど影響はありませんし、ゲーム開発者の方も
いつも通りにしてくださっていれば問題ないと思います。
↓セキュリティ対策初心者が体験したこと4コママンガ

ちなみにここで述べられている問題への対策もちゃんとあってセキュリティは奥が深いです。
【ウディタ どこのセキュリティが上がるの?】
今回はファイル周りの解析難易度が前より上がるというのが大きな点です。
とか言ってると秒で解析されたりすることもあるから困ります。
的確な防御方法が分からないと何やっても一瞬で解析されちゃうんですよ!
そうでなくても、セキュリティにおいて究極的なことを言うと、
ローカルファイルとして存在するEXEは達人が一個一個処理を
ほどいていくと全ての処理が解析されてしまったり、
途中のデータの中味も見られるので、完全な防衛というのはできません。
たとえばEditor側の暗号化処理を1個ずつ解析していったら、
何をどうしてるかが全部見えちゃいますし!
他にも、PC上なら通常では見られないあんな情報や
こんな情報を見ることだって簡単ですし、もっとひどいこともできます。
できる人は何でも破れますが、「手間がかかるからやらない」とか
「やる価値が薄いからやらない」というだけで
見逃されていることが多いのがこの世界なのです。
しかしそれでも、これまでパズルゲーム程度の解析難易度だったのが、
私の脳内当てクイズになる程度には解析が難しくなるはずです。
ひとまずは「初級の攻撃テクニックは一通りふさがれてるかもなー、
調べるのちょっと面倒臭そう」と思うくらいのレベルにするのが今回の目標です。
まだ抜けてたら今後も随時強化されていきます。
【ウディタ利用者側としては何が変わるの? 起動時の変化】
まだ公開はされていませんが、
最新版予定のVer3.310の暗号化処理を使うと、Game.exe起動時に
全ての.wolfファイル(暗号化フォルダ)を読み込んでから起動するようになります!
前々から軽量な.wolfファイルはそうするようにしてましたが、
今度からは最新暗号化を使うと全部読込になります。
これはセキュリティ上の処理の都合です。
ゲーム中はファイルが常にメモリから読み込まれるようになるので
ファイル読込は高速になるのですが、一方で全wolfファイル分だけ
追加のメモリを消費するようになるので、あまりに重い動画の
フォルダなどがある場合は暗号化から外してくださった方が
いい場合もあるかもしれません。あるいは古いバージョンの暗号化にするかです。
数百MBくらいのゲームだったら何も影響ないといいますか
利点の方が大きいと思いますが、数GBにおよぶゲームを作られている方はご注意ください。
【ウディタ利用者側としては何が変わるの?(プロ版) 初期ローディング画像】
プロ版専用機能である初期ローディング画像がBasicdataフォルダ内または
Data直下にない場合、ローディング画像の読み込みタイミングが
これまでよりも少しだけ遅くなると思います。
最新の暗号化では開始時の処理が、
「最初にBasicdataだけ読み込んであとは順次読んでいく、
読んでないファイルは出せない」という形に変わるので、
Basicdataに画像が入ってると一番早く表示できるわけですね。
そのあたりはエディタの画面にも追記しておきますので、
Ver3.310が公開されたら、必要なら
『ゲーム基本設定[Pro版]』よりファイルの場所の移動をお願いします。
と、表面に出てくる変化としてはこんな感じの作業を2週間かけて行っておりました!
そして今も引き続き作業中ですが、少し時間をかけすぎて
作業費の赤字が拡大しているので急ぎながらでやっていきます!
しかし、誰にも知られず平和を守るために戦っている人たちの気分って
こんな感じなのかもしれません。
セキュリティという用途上、やったことの詳しいことがあまり話せない!
セキュリティ対策もこれはこれで、やってみると
すごいクリエイティブな仕事ではあるんですけどね!
成果を表に出しにくいこういった仕事は、創作マンとしては
「グオオつらいぃぃ!」って感じになるので早めに仕上げて次に行きたいです!
がんばっていきますよ!
■
2023-07-23 (日) 第15回ウディコン、一般審査開始です!▼今回は当然ウディコンのお話!
夏休みの方もいらっしゃると思いますので
ぜひウディコン作品をお楽しみください!
【第15回ウディコン 審査開始!】
ということで第15回も予想以上の作品が集まりました!
最終エントリー【60】番までご応募され、いよいよ『一般審査』が開始です!
審査内容は途中保存も可能で、何回でも書き換えられるので、
もしご協力くださる方は、できる範囲でゆっくり入力していってください。
↓
【WOLF RPGエディターコンテスト公式ページ】

一般審査の締め切りは【8/16(水)の23:59】まで!
結果発表はなんとなく8/19(土)の夜あたりになると思います!
もしあなたが応援したくなったゲームがあれば、ぜひ審査をお願いします!
4作品以上を審査すると審査結果の集計にカウントされますが、
1作品だけの審査でもコメントが届きますので、
ただ作者さまに応援メッセージ送りたい人もよければぜひ!
今年のウディコン作品は、非常にわたくしごとながら、
最初の方からデッキ構築やローグライク(ローグライト)要素を持った作品が
複数来て個人的に大興奮でした。
それぞれジャンルは近くとも、ゲームデザインの差から来る感触の違いを
楽しめているのでとてもゲーム開発の勉強になっています。
もちろん他のジャンルも、ゲーム性が強めな作品も、
印象に残りそうな作品も多くて大喜びです!
皆さま本当にありがとうございます!
【シルバーセカンド作品もセール中!】
ウディコン作品が面白すぎるおかげで私のゲームや
コンテンツは見向きもされなくなりがち!
コンテンツ的に思いっきりバッティングしてしまうので
いつもよりすごい勢いで口座残高が減りがちな時期です。
今ならゲームは
「シルエットノート」\1500→ ¥750(-50%)
「シルフェイド学院物語」 \2000→¥1000(-50%)
「片道勇者プラス」 \500→¥250(-50%)
の3本分で合計¥4000→¥2000(-50%)!
また、Amazonで発売中の電子書籍は、
今回は「旅団世界TRPGリプレイ」シリーズ3冊セットが
¥2772→¥1350(-51%)となっております!
→ ◆全3巻リスト https://amzn.to/3kJmNkB
(Amazonページ)
3巻の人気投票は今年9月頃に集計して公開予定です!
好きなキャラがいる方はぜひ応援の一票を!
なお、旅団世界のリプレイは毎年発売してましたが3巻でいったんお休みです。
しばらくはゲーム開発の方に集中させていただきますが、
ふとTRPGを遊びたくなったときにまた細かく動画など上がるかもしれません!
ちなみにウディタ関連のご支援もいつでも受付中です!
すでにBOOSTまでしてくださった皆さま、本当にありがとうございます!
とても助けになっています!
→ 【ウディタご支援/投げ銭用
ミニ参考資料集ページ】
それでは第15回ウディコン、今年もお楽しみください!
自分も楽しませていただきます!
Copyright © SmokingWOLF / Silver Second