AIGameDev - AICompetetion
AIGameDevがAIコンペを主催しているよう。
専用のAI-SDKが提供されてる。以下C++での導入方法のメモ。
◇ 以下から三つをダウンロード
http://aisandbox.com/download/windows/
1.The AI Sandbox Windows Seld Extractor
2. Capture The Flag Game(Server) ver 1.3
3. CTF Language Pack(Client) C++
◇ 起動
CaptureTheFlag-SDKのsimulate.batを実行すると起動する。
参加チームを切り替える場合は、
simulation.batファイルにcompetitors変数を追加し
eg. set competitors=examples.Random examples.Balanced
CALLの最後の引数にこの変数を渡す
eg. CALL game\run.bat "%~dp0simulate.py" %* %competitors%
サンプルチームはexamples.pyに入っている。
クラス名が○○Commanderみたいになっているので、この○○の部分だけ書く。
例.example.Random
◇ C++コマンダーで起動
・対戦相手を "game.NetworkCommander "にする
・simulation.batを実行。シミュレータがネットクライアントの接続待ち状態になる。
・C++のCaptureTheFlagプロジェクトのデバッグ引数に、起動したいコマンダーの
クラス名を記載
・ビルド / 実行
UMLツールはMagicDrawが使い易いと思う
個人ユースのMagicDraw愛用者から見て、
SparxのEAが使い辛いと思う点をまとめてみました。
もともとぼくはMagicDraw信者なので、以下は中立的な意見ではありません。
また、個人の主観的/感覚的な話も多く含まれており、
詳細なUMLを書くようなユーザでもぼくはないです。
それを踏まえた上で、お読み頂ければ幸いです。
※. 比較はMagicDraw Personal 16.6 / EA評価版 Program Ver 9,3,935
で行っています。なのでEA製品版だと直っている、などはあるかもしれません。
------------------------------------------------------------------------------------------------------------
1. EAは長い名称を使用した場合の要素サイズが不安定なことがある
【EA】
EAは長い要素名が入力されたとき、
おそらく半角スペースを認識して多段にしている*1ため、
半角スペースが入っていないと、要素名が一行で表示されてしまい、
ユースケースなどが非常に横長になってしまうことがある。
なので長い文字列を使う場合はスペースを適切に入れておく必要がある。
また、横長になった場合にユースケースが縦にも膨らむという問題もあり、
画面をでかい○が占有してしまうことがある。ユースケースが多い場合に苦しい。
オプションである程度回避可能なものの、
縦を一定以下に縮めようとした際に、再度膨らんでしまうという、不審な挙動がある。

おそらくこのへんの話です。
Sparxフォーラム - ユースケースのサイズ周り
【MD】
MagicDrawでは適切に多段にしてくれ、縦に膨らむ挙動もない。
縦横サイズは名称が表示される限り自由に変更できる。

2.リンク追加の便利機能 EAのクイックリンク vs MagicDrawの右スモールウインドウ
【EA】
EAではリンク追加の便利機能として、要素の右上の小矢印を選択後、
対象要素にドロップして、出てきたウインドウから選択するリンクの種類を
選ぶとリンクできる。

【MD】
MagicDrawでは、要素を選択すると、右スモールウインドウに使えるリンクが
表示されるので、あとは使いたいものを選び、対象をクリック。

【EA】シングルクリック1回、D&D1回、クリック1回
vs
【MD】シングルクリック3回
の違いでしかないけど、EAのクイックリンクは選択の順序が、
主体⇒対象⇒リンクの種類
となるのに対して、MagicDrawでは
主体⇒リンクの種類⇒対象
となるのでSVO,SVCという意味の順に操作できる。
個人的には後者が操作しやすい。
( Has関係だと S - HAS - O という順に選べばいい)
3. クラス図のノートの追加
EAでは、Note要素を選択、追加。対象にリンク。
MagicDrawでは、スモールウインドウからノートアイコン選択した時点で
対象につながった状態のノートを出せる。一手早い。
4. キーボードショートカットの使い易さ
関数の追加、変数の追加などの基礎的なショートカットはEA,MagicDraw双方にあり。
その上でMagicDrawは、ほとんどの要素の選択がキーボードショートカットに対応していて、ツールチップにも表示されるので、覚えやすくて助かる。
------------------------------------------------------------------------------------------------------------
正直、個人のライトユーザではあるので、どこまで参考になる意見かは不明。
ヘビーにUML書きまくる人や、詳細なUMLを必要とする人、
コード生成を多用する人は、また違った視点になると思われるので。
------------------------------------------------------------------------------------------------------------
*1:たぶん英語版のユーザビリティのため。英語だと半角スペース入れるのがふつうで、且つ単語の途中で切らない為の配慮かと推測