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
               },
 

コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

UML tool Dia