投稿記事

Wodistantの記事 (9)

K-Shin07 2024/06/23 16:02

【Wodistant】ウディタ開発補助ツールをVer1.3.4へ更新(Discordサーバーも公開)

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


タイルセット画面の通行設定切り替えショートカット

タイルセット設定画面にてクリックによる通行設定タイプ(〇×★▲等)をF1/F2/F3で切り替えられるように対応しました。

コモンイベントランチャー経由でイベント挿入

コモンイベントランチャーに登録された各コモンの右クリックメニューからイベント挿入コマンドを挿入できるようになりました。

ランチャーに登録したときのイベント挿入コマンドがそのまま使われます。
つまり、引数設定がそのまま引き継がれるため、よく使うイベント挿入コマンドを登録することで素早く配置できるようになります。

公式Discordサーバーを公開

WodistantのDiscordサーバーを作成して公開しました。
下記を気軽に行えることを目的としたサーバーとなります。

  • Wodistant
    • 更新/告知
    • 要望/バグ報告/質問/相談
    • 拡張機能の共有(プラグイン/カスタムウィンドウ)
      • ※各ユーザーが作成したものを共有できる状態にすることがメイン
  • ウディタ利用者間の交流の場提供
    • (コミュニティが各所に分散しているイメージなので中心的な場として使えるようになればと考えています)

ウディタ関係の人が集まるはずなので、
ウディタでゲーム開発をする者同士の交流目的でも使える状態にしています。

Wodistantを利用していない方もウディタユーザー間の交流目的で参加していただいてかまいません。
昔はウディタ使っていたけど、今は別のツールを使っているような方でも問題ないです。
ウディタを知っている人が集まる状態を達成できればと考えています。

下記招待リンクからご参加いただけますのでご自由にどうぞ。
https://discord.gg/ByP8fuHjf2

Wodistant経由でもDiscordサーバーに参加できるように対応

ヘルプメニューから招待リンクを開けるようにしました。
興味がありましたら下記からいつでも参加可能です。

おわりに

今回のDiscordサーバー公開で、そちらから要望やバグ報告ができるようになりましたが
従来通りツール内のフィードバック機能から報告していただいてかまいません。

更新告知/予告などは引き続きTwitter(X)やCi-en等でも行われるので
参加する予定がない方もご安心ください。

既にご参加いただいた方もありがとうございます。
次のWodistant更新時期は現時点では未定ですが、
これからも更新し続けていくので、引き続きよろしくお願いいたします。

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を利用して、よきウディタでのゲーム開発ライフを!

K-Shin07 2023/12/15 20:11

【開発進捗】開発中のゲーム(Rewind)やWodistantについて

はじめに

最近の近況についてまとめたいと思います。
主に以下の内容についてです。

  • Wodistant Ver1.4.0βの予定について
  • ウディタで開発中のゲームについて

Wodistant Ver1.4.0βについて

もともと2023年9月~10月頃あたりの公開を予定していました。
ですが、今はゲーム開発の作業を優先していてほとんど手を付けていません。

しばらく作業する予定はないので
ウディタデバッガーα版を試したい人は公開中のα版をご利用ください。

β公開時期は今のところ未定です。
直近では作業予定はないので最速でも来年4月以降とかになると思います。


ウディタで開発中のゲームについて

どういうゲームを作っているかについては
今までほとんど情報を出していませんがウディコンに向けて開発中です。
(全ての素材を自作している状態なので正直来年に間に合う気はしていませんが間に合わせるつもりで作業中です)

約2年前の2022年1月26日頃から開発しているもので
開発休止してた期間を除けばだいたい開発期間は9ヵ月ぐらいだと思います。

ゲームジャンルとしてはプログラミングパズルRPGですね。
ゲームシステムの詳細はまだ伏せますが、
一般的なプログラミングパズルとは異なるゲーム体験ができるものを目指しています。

ゲームタイトルは企画段階から決まっていて『Rewind』というタイトルです。
最終的にはサブタイトルを付けるかもしれません。
(付ける場合の名前も一応決まってはいます)

※ジャンルやUI(仮)を含めた画像は今回が初出です。

作ったマップなどは一部Twitter(X)で公開していたこともあるので
公開していたマップ画像は改めてここにまとめておきます。



ちなみにマップはウディタのマップエディタを使用していません。
CLIP STUDIO PAINTをマップエディタとして利用しています。

ステージの移動可能な領域やイベント設定、敵配置、ギミック配置などの
各種ステージごとの設定も全てクリスタ上で行っています。


(最終的にPSDファイルで出力したあと自作のコンバートツールでウディタ用データに分解する流れですね)

最終的にマップは31~32マップほどになる予定で、
今のところ17マップ分は背景が完成しています。

現在は後半のステージ/イベント実装などを進めているところです。
基本的なゲームシステムはほとんどできているので
前半のステージはそれぞれ単体では遊べる状態になってます。

とはいえ、全体的なレベルデザインなどは
ほとんどのステージが実装できてから行う予定なので
目指したい完全なゲーム体験まではまだまだ先な状態ですね。

見た目もマップやエフェクト以外はほとんど仮です。
そろそろ見た目にも手を付けたいところ……。

最近Twitter(X)にあげていたエフェクトの動画も置いておきます。

エフェクトはエフェクト作成用の外部ツールなどは使用しておらず、
ウディタ内にEffekseerのような感じのパーティクルシステムを実装して再生しています。

巨大なパターン画像が不要になるので
低容量で高品質なエフェクトが量産できるのでおすすめです。
いつかこの辺のシステムの記事とかも書けたらいいなと思っています。


さいごに

以上が近況報告になります。
今後は開発中のゲーム(Rewind)についての近況とかも
書いていきたいところですね。

K-Shin07 2023/07/29 20:33

【Wodistant】ウディタデバッガーはどうやって実現しているのか?[解説]

今回の内容は Wodistant Ver1.4.0 α版に実装された
ウディタデバッガーの仕組みについて解説する内容となっています。

どうやってウディタデバッガーのブレークポイントなどが実現できているのか
興味があればご覧いただければと思います。

技術ある人が見たらおそらく再現できるぐらいの
ボリュームで書いてるので内容がとても多いです。
目次を用意しているので、全部見なくてもいいやって方は気になる
項目だけ見てやってください。

また、Wodistantの技術解説系は前回と同様にフォロワー向けに
公開させていただきますのでご了承ください。

フォロワー以上限定無料

ウディタデバッガーの仕組みについて解説しています。

無料

K-Shin07 2023/07/26 18:12

【Wodistant】待望のウディタデバッガー機能のα版公開!

Wodistant-Ver1.4.0.0のα版を公開しました!
※まだα版なので更新手順は通常とは異なります。(後述)

デバッガー機能が実装され、
遂にウディタでブレークポイントが使えるようになりました!
※ブレークポイントが何なのかについては後述します
※本機能は現在ウディタPRO版でのみ動作します

これを使用することで
意味不明なバグが発生したときのデバッグ効率が格段に上がります!

更新手順

↓2024年4月11日時点でVer1.4.0α版の公開を停止して
 正式版Ver1.3.3.0にて開発中機能として利用できるようになりました。
 オプション設定から開発中機能を有効化すると従来通り利用できます。

下記画像に更新方法をまとめています。
※α版/β版はツール内更新のみで提供します。


※パスワードコピペ用『w140a050_5Ad2

Wodistant本体をまだ持っていない方は下記ページからダウンロードできます。
https://alpha-stella.com/tool/wodistant/

ブレークポイントってなに?

プログラミングによる開発において多用するデバッグ機能の1つです。
任意の処理タイミングでプログラムを一時停止することができます。

ウディタで開発している場合、大多数の人は
『文章表示』コマンドを設置したり
『1ウェイトの無限ループ』を配置したりすることで一時的に停止して、
変数値の確認などをすることが多いと思います。

ただ『文章表示』で停止したあと、続けて別の箇所でも停止したい場合や
途中から停止してほしく無くなった際は
コモンイベントを編集して再度ゲームを起動したりF12等でリセットするしかありません。

ブレークポイントを利用することでゲーム実行中に
いつでもどこでも任意の処理タイミングでゲームを一時停止/解除することができます。
更に『停止した箇所のコモン』及び『そのコモンの呼び出し元コモン全て』のコモンセルフ変数値を確認することができます。

ウディタデバッガーの実演

サンプルゲームでウディタデバッガーを実際に使っているところを
動画にまとめてみました。
使い方の流れについては下記動画を参考にしてみてください。
https://youtu.be/QPQygWzeHwo

フィードバックについて

まだα版なので、何かしら問題が発生する可能性があります。
万が一問題があればWodistant上でフィードバックを送れるようになっているので
そちらからご報告いただけると助かります。
(ウディタデバッガーウィンドウ上のフィードバックボタンから報告できます)

もちろん要望もあればお気軽に送って頂けると助かります。

今後の予定

以下に今後の更新予定についても記載しておきます。
・β版の公開:2023年9月~10月頃
・正式版の公開:2023年11月頃
※暫定なので時期が変更される可能性はあります

現在ウディタデバッガーはウディタPRO版でのみ動作する状態です。
正式版でもPRO版での動作を予定していますが
機能制限状態で通常版ウディタでも利用できるようにするかもしれません。

どちらにしろβ版の段階では
一時的に通常版ウディタでも利用できる状態にする予定です。

またβ版で実装する可能性が高いものも下記に記載しておきます。
・データブレークポイントの実装
  ・特定の変数の値が変わった瞬間に自動的に停止するブレークポイント
・条件ブレークポイントの実装
  ・設定したブレークポイントを通過した時に
   任意の変数の値が特定の条件を満たすときのみブレークを実行する機能
・『1600000』もしくは『\cself[10]』などの文字列指定で現在の値を確認する機能
  ・現状いくつか課題があるので解決できたら実装される可能性あり

最後に

ウディタデバッガーを利用することで
とても効率よくゲームのデバッグができるので、
原因が分からないバグが発生した際は、是非試してみてくださいね。

ウディタデバッガーがどのように動作して
どのような仕組みで機能を実現しているかについては
別途フォロワー向けにまとめようと思います。
こちらはもう少々お待ちください。

« 1 2

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索