もんこれつーるメモ

風邪が大分良くなったので始動。
でも、目標が
・モンコレツールを作る
・ついでにスキルアップ
と二兎追うものなのでいまいち……。
ツールを作る、って方向性の比重を上げてさくさく作り始めたい所。


○開発環境
wikiRedmineリポジトリ を作るのはもうちょい仕様検討が進んでから。つーか作るの?
仕様書は ward か Sphinx あたり?つーか書くの?


○製作形態
有る程度作ったら OSS としてどっかに公開しコミッターを募るのが良さそう。永久に自分一人でメンテは死ねるというか n_mon の悲劇の再来になるので。
ただし、版元さん(ブシロード、SNE)から公開差し止めがきた場合にいつでも中止できるようなプロジェクトとしておく必要はあるのでライセンスやら管理やらは慎重に。


○言語、ツール、ライブラリ
悩み中。個人体に習熟しているのは C or C++ だが、OSS 化するとなると C++ は向いてないだろう。速度を求められるツールでもないし。


↓候補案
HTML5 + enchant.js
流行りものに食いつく案。
node.js + socket.io でネットワーク対戦も楽々実装。素敵。
HTML5 を知り合いが触ってるのも美味しい。
ブラウザで動くのは大きいが、HTML5 と WebSocket の実装状況がブラウザによって微妙なのがネック。
工数的には覚えてしまえばかなり軽そうだが……。


Python + PyGame
Python 勉強中なのでついでに。


Java
知り合いで触れる人間の居る言語なので、作業を押し付けられる。


・Unity + 何か
流行りものに(
個人的に触ってみたいって理由がでかい。
ロゴ消すのにお金が必要だったりするので今回のプロジェクト的には微妙か。


WPF + C++
WPF + C#
WPF 触りたいだけ。


C++ + DirectX
使い慣れてる。
無駄にエフェクト豪華にして遊べる。
無駄に工数が跳ね上がる、と見せかけて慣れてるから案外楽かも。


○想定するターゲット機のスペック
自分と知り合いの PC で動けば良い。
つーか、そんな重い事しないから考えないで良い。
と見せかけて、HTML5 とか WPF だとあまりにてけとーに作ると糞重くなるので注意がいるかも。


○必要そうな機能
おおざっぱに。
・カード操作
・リプレイ
・観戦
・プレイログ&戦跡の収集(サーバにあると尚良いが最初は無視)
・ドラフト
・データベース
・対自分戦(2窓起動せずに自分対自分が出来るのように)
・ネット対戦(サーバ有りで対戦部屋があると良いが最初は無視)


○必要ない機能
・チャット(Skype でボイチャしてくれ方針でいきたい)
・大会機能(製作意図違い)


○ソフトウェア構成
言語決まらないと無理ぽ。
・汎用的なカード操作を行う層
・モンコレ特有の操作、処理を行う層
・描画
・ネットワーク
あたりをきちんと分けませう。




○という訳で
まずは言語決めないと話が全く進まないなぁ……。
工数とか将来性的には HTML5 + enchant.js にしたいのだけど、enchant.js ってコミッターを募るのに向いてない気がするのがにんとも。
そもそも、JS 書いた事の無い人が設計したツールのコミッターを募るのもかなり無謀な気もするし。
とか絶賛うだうだ中。
言語は一旦保留しといて、α版に必要な仕様と機能の割り出し先にするかなぁ……。