※ フレームワークの履歴だけでなく、内蔵ゲームの修正履歴も含んでいる。
概要 §
今回がWANGF SDKの最初のリリースとなります。
WANGF(Web Autumn Novel Game Framework)は、絵も音も無い文字だけでプレイするゲームのフレームワークです。WASM対応Webブラウザ(ChromeやEdheなど)で動作するWeb版と、Windowsで動作するDesktop版があります。
フレームワーク上で動作するモジュールを作成するための手段がWANGF SDKです。
ただし、配布アーカイブなどはまだ作成できていないので、githubからクローンしていただいてそのファイルを使用する必要があります。
Desktop版の実行ファイルを今すぐ試したい場合は、以下のファイルをインストールしてください。
Web版をいますぐ試す場合は以下のリンクをご利用ください。
WANGF 0.34 §
- SDKのドキュメント書き
- ISSUのreadmeの修正
- HelloWorldモジュールの作成
- エントランスモジュールの作成
- .NET 8とEdge WebView2のインストーラー
- テスト配布パッケージの作成
- 配布ファイル作成バッチの手直し
- ショートカット自動ビルダー
- HtmlGeneratorの不使用フィールドを除去
- SystemInfoにモジュール詳細を追加する
- ISSUのリンク先を更新する
- Aboutの飛び先をWAGFのランディングページに切り換える
- 広告プロバイダーはオプショナルとした
- Moduleの二重newを明示的に禁止した。やろうとすれば例外になる。
- 【このゲームのランキング】のリンク先が固定になっているので可変とした。
- ヒント情報が1つしか扱えないので複数可能にした
- MAUIアプリがプログラムから終了するときWIn32例外になる問題に対処
以下主要なもののみ解説します。
HelloWorldモジュールの作成 §
本来【はじめてのお使い】が最初に見るサンプルソースだったはずですが、肥大化してしまったので、純粋にHello Worldを出力するだけの最低限のモジュールを作成しました。
これを作成する手順はQuick Tutorialとして文書化しました。
エントランスモジュール(StartMeFirst)の作成 §
ゲーム開始前にセットアップにセットアップ手順を実行してほしいので、それを行うためだけのプログラムを作成しました。これは.NET Framework 4対応なので、.NET未導入のマシンでも動くはずです。.NET 8とEdge WebView2はここからセットアップを起動してインストールします。リンクの作成もここで行います。作成するリンクは、同じディレクtpリにあるmodules.txtで決定されます。
以下はmodules.txtの例です。
Asaon.dll
CutyBunnyMini.dll
EightyCommon.dll
EightyHideo.dll
ここに書き込むのはモジュールだけです。全てのDLLではありません。特にwangflib.dllのショートカットは作成しません。それは普通に参照される必須ライブラリです。
SystemInfoにモジュール詳細を追加する §
システムメニューからシステム情報を表示した際に、更に読み込んだ全てのモジュールの詳細情報を出力するようにしました。
Moduleの二重newを明示的に禁止した §
Moduleを継承したオブジェクトを複数作ってしまうと一致判定で失敗するので、もう1つ作ろうとすると例外で止まるようにしました。例外メッセージに何をすべきだったのかの情報も含めました。
MAUIアプリがプログラムから終了するときWIn32例外になる §
終了に使用するAPIを変更しました。・
広告プロバイダーはオプショナルとした §
全てのモジュールで同じ広告が入るのはおかしいので、モジュールが広告情報を提供するように修正しました。これで、自分でカスタム広告情報を提供するモジュールを作成できます。
【このゲームのランキング】のリンク先が固定になっているので可変とした §
ランキングはモジュール依存の情報なので、モジュールが提供するように変更しました。
ヒント情報が1つしか扱えないので複数可能にした §
モジュールが複数あるのにヒント情報が1つしか扱えないのは整合性がないので、複数のヒントを扱えるように直しました。複数のモジュールから複数のヒントを提供できます。