Updated at: 2014-01-18
ゲーム開発のツールについて考える
自分で作るときの選択肢
Visual Studio
- Pros
- C# で書けて素敵
- 有名どころだし、サポートは最も手厚そう
- GUI 作るならかなり快適だろう(最近触ってないけど)
- Cons
- Windows 依存 になる
Qt
Visual Studio がいいんだけど、Mac でも動かしたい… って人は Qt
- Pros
- マルチプラットフォーム
- GUI 作るための GUI がちゃんとある
Mono
- ってのもある
Adobe AIR
- Pros
- マルチプラットフォーム
- 同じくマルチプラットフォームな AIR でゲーム作るなら、 AS3 のコードが流用できるなど相性がよい
- Flash と相性がよい (swf を再生するなど)
- Cons
- コンポーネント組むとき、他ほどよい GUI 環境が無い?
- FlashBuilder でどこまでできるか知らん
Unity
- Unity 内にカスタムしたゲーム用ツールを作る
- Unity からそういうものを publish するんじゃなくて、Unity のプラグインを作るってこと
- (何がどこまでできるかはわからん)
- Pros
- GUI が完成している (特に 3D)
- フリー版で十分なため、金がかからない
- Unity 人気にあやかれる
Flash や Illustrator からデータを吐き出す
- Flash なら JSFL, Illustrator なら jsx (Adobe ExtensionScript の方)を書いて オブジェクトのデータを任意のフォーマットで書き出す
- Flash なら swf をバイナリ解析するという荒技もある
- Pros
- ちょっとした座標データを吐きたいくらいなら手軽
- もともとアート用のソフトウェアなので GUI が完成している
- Adobe 製品なら広く使われているため、アーティストが使うときの学習コストが低い
- Cons
- 有料ソフトが必要
参考リンク
- Adobe の Andy さんがまさにそういうことカンファレンスでやってたけど、GitHub でソース公開してた
- JSFL のドキュメントはここの Extending Flash Professional を見ればいいっぽい
- JSFL 関連
ゲーム内にエディタを作る
- Pros
- プレビューを実際にゲーム内で見えるものに近づけやすい
- データ再生部分のコードをそのまま流用できる
- Cons
- 汎用性はバッサリ切り捨て
- ツールの GUI を作るのが面倒
2D レベルエディタ
既製品
- タイル以上のことをやるなら、決定版って知らない
- みんな自分用にカスタムしたものを作ってるんだと思う
- ゲームだと汎用的なものを作るのは難しいしね
- Unity 2D とかどうなんだろう
自分で作るなら
- JSFL を書いて Flash で配置して好きなフォーマットで出力、がうまくいった
- やはり GUI が完成しているのがありがたい
- コンポーネント定義すれば Flash 上でパラメータ定義も完結する
タイルマップ
Tiled
Tiled は 2D タイルマップなら鉄板
- コンパクトだし無難なデータ吐くだけなので使い勝手がよい
- レイヤーのプロパティを設定したりカスタムのポリゴンも置けるので、割とこれでレベルデザインは完結できる
- かゆいところには手が届かないので、カスタムしたいなら自分で Qt のソースを fork していじる必要あり
UI レイアウトのエディタ
既製品
- 汎用的な決定版は、これも意外と無い
- SpriteBuilder に期待
- Cocos2d 向けだがオブジェクトをカスタムすれば他でも使えるかな
自分で用意するなら
Flash から JSFL で吐く
- 静的なレイアウトだけならこれもレベルエディタと同様 JSFL 書いて位置とか画像名とか吐いてやればよい
- 特殊な UI はコンポーネント定義して、パラメータと位置と定義する感じ
- 相対的なレイアウトとかは苦手
- まあ相対レイアウトって調整が難しいし、それなら複数サイズ分用意しちゃった方がよいかもね
Flash から DragonBones で吐く
- 固定サイズで割り切るならアリ
- アニメーションを Flash 上でかなり作り込めるのがいいところ
- UI の制御みたいなのは別途 JSFL で吐くか、DragonBones のラベル名とかで頑張るか、 プログラムで制御しちゃうか
2D アニメーション(ボーン)
既製品
Flash + DragonBones
- DragonBones
- Adobe 公認。AS3 と JS はすでにサポートされている
- Cocos2d とかに持ってくなら再生ライブラリ書く必要がある
- 2D アニメーションの大御所の Flash が使えるのは大きい
- アーティストにとって他の専用ツールより潰しがきく
- Adobe AIR + Starling でゲーム作るならベストチョイス
Spine
- Spine でつくる
- Flash より安い
- Flash の方が慣れてるユーザは多い
- Unity, Cocos2d, Starling など一通りサポートされてる