The 2024 Morrowind May Modathon の結果で、私の作成した Inspect It! が
Champion of Enhancement を受賞しました(半年前の話ですが)。
これは期間中にエントリーしたmodのうち、Gameplay, Bug Fix, Patch, UIカテゴリにおいて期間中最もendorsementが多かったmodに対して贈られる優秀賞です。
また、Morrowind Modding Showcases (MMS)にも掲載されました。
MMSを運営しているDarkelfguyはMorrowindのmoddingコミュニティに最も貢献している人物の一人で、Modathonをはじめとするコンペの企画・運営とMMSでのmod紹介を行っています。
Morrowind modding コミュニティは、modderだけが集まって形成されているわけではなくて、modderでなくともコミュニティのために活動している人がいるのが良いところじゃないでしょうか。
コンペでの勝利や、MMSで紹介されることはModathonに参加するモチベーションでもあったので、とても光栄で嬉しいことです。
いくつかMorrowindのmodを作ってきましたが、アイデアと出来が良くて、分かりやすいmodは無名のmodderでも埋もれずちゃんと評価されるコミュニティだと思います。
作り始めた時の構想は良かったんだけれど、出来上がってみるとあれ?というmodも多いのですが、Inspect It! はそういうこともなかったので、それが評価されたものだと思っています。
技術的には大変な部分も多くて、リリースされた後にも結構更新をしている。
前回の記事で書いていた、ブラックボックスだったスキニングを解明して、自力でスキニングを行うようにしたのが大きい更新だ。単純にD3D9のハードウェアスキニングだったが、今の時代になってそれをエミュレーションすることになるとは。
これによって、スキニングメッシュを持つオブジェクトに対して正しいバウンディングボックスを計算できるようになった。MWSEのバウンディングボックスAPIはそんなことまでやっておらず、とんでもない位置と大きさのバウンディングボックスになることがあって、操作や表示にも影響があったのが悩みだったが、それが解消された。
nifskopeで見ると分かるんだけれど、特に Imperfect は皮肉にも名前のとおり、とてつもなく変な構造をしている。
ボーン計算やスキニングを解明したおかげで、アーマーや衣服を着た状態のメッシュの表示もできるようになったはずだったんだけれど、自前でスケルトンに衣装をアタッチして表示させていると、そのあとでMorrowindかMWSEのレイヤーでダングリングポインタを参照しているかのような挙動で時折クラッシュしてしまう問題がある。そのため、実装はされているが開発機能を有効にしない限りアクセスできないようになっている。
この問題は、Morrowind自体をデバッグして最悪パッチを当てないといけないので、現在でもお手上げになっている。MWSEのコアメンバーはそういうことがやってきているのでノウハウがあると思うんだけれど、彼らも無償かつ善意で開発しているので、ニッチで面倒な問題を解決できるまで手助けしてくれるわけではない。
また、Morrowindは(および後続のシリーズでも)シーングラフとしてNif (NetImmerse) が使用されている。これもかなりの部分がブラックボックスなんだけれど、何年もかけてmodderが一般的なNifの仕様に加えてMorrowind独自の挙動も概ね解明してくれている。してくれているのはいいんだけれど、一番詳しいドキュメントがなぜかロシア語なので、機械翻訳に頼っても解読するのが大変だった。しかも一部だけ英語なので、言語の自動判別に頼ると英語として判別されて意味のない翻訳をされてしまう。
だが、おかげでレンダリングステートの不整合による問題は解決することができた。