Level Editor (マップ・エディター)
ゲーム開発でよく使うツールといえばマップ・エディタ(Level Editor/Map Editor)です。ゲーム開発のときは自前で作るものでしたが、最近、Open Sourceなどで使えるマップエディターが増えてきています。以下はそれを探した時にみつけた情報です。ボクが探しているエディタは2D構わないのですがJSONの出力ができ(もちろん、フォーマットはコードによってカスタマイズ可能なこと)、Box2Dなどの物理エンジン用にベクターが引ける機能があるものです。
Titledがこれらの機能あって候補になっています。ほかにBlenderを使ったLevel Editorは使い慣れるのに時間がかかりますが応用範囲は広いこと(特に3Dへ切替が容易)が利点です。幸いなことにボクはBlenderをよく使うので、この方法を応用するかもしれません。またInkscape応用もシンプルで良い道具だと思います。
Level Editorとは
参考:http://en.wikipedia.org/wiki/Level_editor
フリーを含め、いろいろなものがある。Ubuntuで利用できるもの中心に探した。また開発が頓挫しているものは出来るだけ省いたつもり。
以下は注目しているツールやその応用
http://www.mapeditor.org/ Tiled PPAはhttps://launchpad.net/~mapeditor.org/+archive/tiled
http://blog.greweb.fr/2012/04/blender-as-a-2d-game-map-editor-proof-of-concept/ Blenderを使ってLevel Editor
http://wiki.xmoto.tuxfamily.org/index.php?title=How_to_create_smooth_levels_using_Inkscape Inkscapeを応用する例
その他のツール
http://www.ogmoeditor.com/ Ogmo windows向け C#で書かれている。
http://game-editor.com/Main_Page Geme-editor ゲーム開発ツール
http://code.google.com/p/nle/ Nitro Level Editor
https://github.com/SteveDunn/Gleed2D Gleed2D
http://tilestudio.sourceforge.net/ TileStudio Windows向け
http://dambots.com/dame-editor/ Flixel(as3)向け
http://impactjs.com/ javascript game engine内に付属しているもの
GtkRadiant http://icculus.org/gtkradiant/ 3DだがQuark系ゲームエンジン向け
http://www.youtube.com/watch?v=oc13oaUau7c GtkRadiantのチュートリアル
コミニティ情報
http://gamedev.stackexchange.com/questions/33027/open-source-level-editor-for-html5-platform-game これを読むとTiledがベストと思えてくる
http://opengameart.org/forumtopic/favorite-3d-map-editing-software 3D Map Editorについて
2Dプラットフォーム向けゲーム開発情報
http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/
Gameエンジンに特化したもの
Transformice ネズミのFlashゲーム
http://transformicewiki.com/index.php?title=Map_editor
Blenderを使ってマップを作成するチュートリアル
Quake MAP (.map)用のマップを作成してBlenderを勉強するものか?
http://www.katsbits.com/tutorials/blender/map-basics-tutorial.php
尚、ゲーム開発プラットフォーム Unityにも3Dのものが存在する。
P.S.
Tiledのjson出力の例
e.g. 以下のようにnameやproperites, typeを指定できる。直感的ですぐ使える。尚、xmlよりもjsonのほうが読みやすくシンプルで使いやすいため、よほどな理由がないかぎりjsonを使う。
{
"height":0,
"name":"border",
"polygon":[
{
"x":0,
"y":0
},
{
"x":130,
"y":180
},
{
"x":-75,
"y":199
},
{
"x":-83,
"y":-132
},
{
"x":17,
"y":-170
}],
"properties":
{
"x_power":"1",
"y_power":"0.32"
},
"type":"kind_block",
"width":0,
"x":501,
"y":148
},
コメント
コメントを投稿