武装系ライブラリModが作りたい
sukepin氏の開発したACMはとても素晴らしいものであるし、私はその開発の手伝いが出来る事がとても光栄である。
ただ長年の積み重ねで開発されたACMは必ずしも使い勝手の良いモノでは無かったりする。個人的にはACMの武装モジュールをAPIとして提供して、各modで独自実装が可能な形にしたいと思っていたりする。ACMの機能肥大化とそれに伴う負荷の増大はかなりユーザーから文句を言われる状態であるので、本当にそのMod特有の機能であれば、各Modに機能分散させてもよいのかなと思ったりする。(ここに関しては議論の余地がある。機能分散させるという事は開発側が意図しない使われ方をしてバグが増える可能性はある。この点をsukepin氏が良しとするか疑問が残る。ACMの開発についてはsukepin氏の意向を尊重すべきであるしそうするつもりだ。)
そもそも論としてACMの主要機能たるShootingModuleの大幅改変は大変な労力を伴う。正直作り直したほうが早い可能性がある。なら作り直しても良いのかもしれないと思った次第である。
構想としては基本的に独自実装ではあるが、ACM導入時はACMのネットワークモジュールに乗っける。それによりACMExpandEXに対応させようかなと。これは可能であるが、まあまあ実装は面倒な事になりそう。
基本構造としては仮想化、カプセル化を兎に角求めた形にしようかなと。独自実装の基本のブロッククラスが存在し、そこから武装ブロッククラス、シューティングブロッククラス、ミサイルクラスのように派生させていく。このクラスはパブリックで公開し、変数や関数の公開範囲を適切に設定し、外部Modが利用可能にする。カスタムモジュールはこのクラスにアクセスする形で実装。こうすればカスタムモジュールも提供しつつ、APIも提供できるのかなと思ったり。
ただ問題点としてやはり実装が結構たいへんである。いっちゃえば面倒くさい。理想的な話であって、実際に実装出来るかはかなり疑問。