K-Shin07 2024/04/12 20:42

【Wodistant】ウディタ開発補助ツールをVer1.3.3へ更新(新機能バグチェッカー公開!)

ウディタでのゲーム開発効率を上げるためのツールである
WodistantをVer1.3.3に更新しました!
※最新版の取得はツール内のアップデート機能か公式サイトからダウンロードしてください
実装機能を下記で紹介しておきます。

コモンイベントバグチェッカー機能追加

全てのコモンイベントを分析して
バグになりうる箇所を検出してくれる機能を実装しました。
いわゆる静的解析をしてバグのチェックや品質の低いコードを検出するというものです。

是非みなさんのゲームでも試してみてどれくらい検出されるか見てみてください。
自分は約60件ほど検出されて、いくつかの特に問題にはならないバグと1件のいつか致命的になるバグが見つかりました。
※検出されたからと言って必ずバグっているわけではありません。検出された警告内容と処理の場所を見て問題がないか確認してみましょう。

現在サポートしているチェック内容

現時点で実装していものを以下に列挙しておきます。
※バグチェックというより品質チェックみたいな項目も含みます
※今後のアップデートでチェック対象が増える可能性があります。

  • 無意味な変数操作
    • 例:CSelf0 += 0 + 0
    • ゼロ代入をしたかった初期化ミスや不要になった処理消し忘れなど
  • 無意味な文字列操作
    • 例:CSelf5 += ""
  • コモンイベント名が見つからない
    • コモンイベント名を変更したあとに修正していない
      名前呼び出しのイベント挿入コマンドの検知など
  • コモンイベントの引数が一致しない
    • コモンイベント本体の引数を増やしたり減らしたりした後に
      コモンイベントを呼び出しているイベント挿入コマンドを修正していないものを検知など
  • 名前/番号呼出のコモンイベントが混在
    • コモンイベントの呼び出し方を統一している場合のコマンド挿入ミスチェック
  • ファイルが見つからない
    • ピクチャ表示で指定した画像ファイルが
      ファイル名を変えた等の原因で見つからないなど
  • 上記以外を含む条件分岐内のラベル地点
    • 上記以外を含んでいる条件分岐内のラベル地点へジャンプすると
      上記以外の処理が分岐終了後に続けて実行されてしまうため、
      その問題に該当するコマンドがないかチェック
  • 無効な同じ名前のラベル地点
    • 同じ名前のラベル地点が複数ある場合は2つ目以降が無視されるため
      名前の指定が間違っていないかチェック
  • ラベルジャンプ先が見つからない
    • ラベルジャンプで指定している名前と同じラベル地点が見つからない
      名前の指定が間違っていないかチェック
  • どこからもジャンプされないラベル地点
    • ラベル地点が挿入されているが名前が一致するラベルジャンプが見つからない
      名前の指定が間違っていないかチェック
  • 行数が多すぎる(3000行以上)
    • 行数が多すぎて修正や改善、処理の把握がしづらくなっているコモンのチェック
  • ネストが深すぎる(30以上)
    • 条件分岐が入れ子になりすぎているような箇所のチェック
  • 番号呼び出しのコモンイベントがある(オプション機能)
    • 名前呼び出しに統一している場合はコマンド挿入ミスをチェックできる
  • 直接番号指定のピクチャ表示がある(オプション機能)
    • ピクチャ番号を動的に生成して管理している場合の対応漏れチェックができる

実行方法

ウディタと接続中にメニューバーの
『ウディタ(W) > コモンイベントバグチェッカー』から起動できます。

この機能の目的

既に実装済みの処理などでバグがないと思っていても
たまたま今は正しく動作しているような場合があります。

そういったものは実際にバグが発生する状況にならないと見つからないことが多いため、それらの怪しいかもしれない処理を検出して、事前に対処するのが目的となります。

検出例

例えば、ある処理を回数付きループ等でループしながら処理する箇所があるとします。
ループ前に値を『0』に初期化して、ループ内で+1して順々に処理しているような実装パターンはよくあることでしょう。

このときに最初の『0』に初期化する処理が次のようになっていたら、1回目は正しく動作しますが、その処理をもう一度実行したときにバグります。
(0に初期化するはずが0を足してしまっている)

■変数操作: CSelf10[カウント] += 0 + 0 
■回数付きループ [ 10 ]回
 |■可変DB書込:DB[ 0 : CSelf10[カウント] : 0 ]  (- : - : -) =  0
 |■変数操作: CSelf10[カウント] += 1 + 0 
 |■
◇ループここまで◇◇

本バグチェッカーを使用すると↑の 【CSelf10 += 0 + 0】が
無意味な変数操作として検出
されます。

ゲーム上でよく実行される処理ならすぐにバグが発生しますが
たまにしか実行しない処理の場合は1回目が必ず成功してしまうため
バグを見逃してしまう可能性があります。

利用にあたっての注意点

バグチェッカーでチェックできるようになったからといって
これを過信せず、日々の処理実装時にこういった問題にならないかどうかを
意識しながら実装を行いましょう。

『後で一気にチェックしたら1000件以上ヒットした!』みたいな状態になると
それをいちいちチェックして直すのも大変です。

コメント文挿入機能(F2キー)でデバッグ文対応

従来まではコメント文しか挿入できませんでしたが
今回からデバッグ文も挿入できます。

  • コメント文の挿入
    • Ctrl+Enter または OKボタン
  • デバッグ文の挿入
    • Ctrl+Shift+Enter または デバッグ文ボタン

フィードバッグを送る機能実装

メニューバーの『ヘルプ(H) -> フィードバックを送る(要望/バグ報告等)』で
フィードバックを開発者に送れるようになりました。

バグ報告やこんな機能が欲しい!といったものがあれば
お気軽にお送りいただければと思います。


開発中の機能(α/β)を有効化する機能実装

オプションに開発中の機能を有効化する項目が追加されました。
メニューバーの下記でON/OFFできます。(デフォルトはOFFです)
『ファイル(F) -> オプション(O) -> 開発中機能(α/β機能)の有効化』

現状はVer1.4.0 α版で公開していた
『ウディタデバッガー機能(α版)』が利用できるようになります。
これに伴いVer1.4.0α版は公開を停止しました。
デバッガー機能を試したい方はこちらの機能を有効にしてご利用ください。

ウディタデバッガー機能自体については下記記事を参照してください。
【Wodistant】待望のウディタデバッガー機能のα版公開!


そのほか変更点

ウディタVer3.310のファイル形式に対応化

ウディタVer3.310以降は以前のWodistantで読み込めないため、
これらのウディタバージョンを利用する方は本Ver1.3.3.0以降に更新してください

追記:まだ一部の状況で読み込めないことがあったので修正しました。お手数をおかけしますがVer1.3.3.3以降に更新していただくことで改善されます。

ウディタVer3.310までの約1年分の仕様変更に対応

イベントコマンドの表記仕様変更や新コマンドに正しく対応化

.NET Frameworkを4.5.2→4.7.2へ更新

古いOSや最新のWindowsアップデートを適用していない場合は
起動できなくなる場合があります。

万が一起動できない場合は下記URLから『.NET Framework 4.7.2 ランタイム』をダウンロード/インストールしてください。
https://dotnet.microsoft.com/ja-jp/download/dotnet-framework/net472

リンクが切れている場合は『.NET Framework 4.7.2 インストール』などをウェブブラウザで検索してください。



Ver1.3.3.0のアップデート内容は以上です。
Wodistantを利用して、よきウディタでのゲーム開発ライフを!

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索