得体の知れないものには命名できない

まだ決定ではないけどSubversionを使おうかなぁと考えていた段階で、SSH周りの設定も興味があったので、SourceForge.JPのサーバとの間で通信できるか設定してみようとしました。

が、SourceForge.JP内で参加しているプロジェクトが1つも無いと、設定自体ができませんでした。

そこで、せっかくだからプロジェクト作ってみるかー、と思ったのですが、プロジェクト名が問題に。

以前の記事でMGBとかMRPとか書いたものの、もうちょっとましな名前にしようと画策。しかしなかなかいい名前が出てきません。

なぜなのかを考えてみると、そもそもプロジェクトの構成がはっきりしていませんでした。

思考をまとめるために、とりあえずMGB、MRPという仮の名前で、考えていることをつらつら書いてみます。

MGB

オープンアプリ(auケータイ)/iアプリ(docomoケータイ)/アプレット(Webブラウザ)といったプラットフォーム間の差異を吸収するための基盤です。

実際にはプラットフォーム毎にMGB_o / MGB_i / MGB_aのように実装が分かれますが、これらに含まれるJavaソースファイル名、クラス名、メソッド名などは同じにしておきます。こうすることで、上位レイヤー(MRPなど)のソースを完全に共通化*1できるようにします(あくまで予定)。

なおMGBの上に載せるものとして、MRP以外にもう一つ、できたらいいなと思っているものがあります。(いつになるか分かりませんが……) それは、ゲームではないです。

MRP

RPGを動作させるためのシステムです。これはあくまでシステムであり、ゲーム自体の名前は別になります。

懸念点

  • MGBが、ゲームに限らない汎用基盤を目指すなら、それなりの名前に変えたい。(MGBの'G'はGameの意)
  • MRPをプラットフォーム非依存にできるとすれば、ソース管理上は1本にしたいが、はたしてそれで使いやすいか。
  • MRPもプラットフォーム毎にMRP_o / MRP_i / MRP_aなどとして、そこにMGB_*も含めたほうがよいのでは。
  • それならMRPとMGBを分けずに1つのプロジェクトにまとめてもいいのでは。その場合、別アプリを作る際にはMGBに相当する部分を適宜切り出して使う。
  • MRPの上に載せるゲーム(のマップ/スクリプト/絵/音など)は、やはり別プロジェクトとして管理すべきか。

などなど……。特にMGBとMRPの境界線が曖昧なせいで、名前も付けられないという現状。

さらに、リポジトリ構成とか成果物のパッケージングを考えると悩みは尽きず。

*1:データは共通化できません。特に絵。音は、SMFだけを使うことにすれば共通化できるかも