# In game level editor using AIR or stand alone app using Java or C#

I'm in the process of choosing technologies to build the level editor of a Flash RPG game.

On one side I can use AIR and build a ingame level editor that's probably going to give the best result. The problem is, I think it will be very hard, I don't have good memories using the UI libraries of AS3. I think that would take at least 3 more times (to build the editor) than the other approach.

Or I can use some mature set of tools to build the editor, like the ones commonly used with C# or Java.

The question is: Is it worth the trouble to build the editor in AIR? Or using a stand alone editor is just fine?

EDIT: Me and my team are the only people using this editor.

• Seeing @PrinceCharles answer, I'm left wondering if the meat of your question is actually "AIR vs Java/C# for a level editor" or "In game vs standalone level editor". I assumed the first, but there's a significant difference between both. – David Gouveia Dec 31 '11 at 21:13
• What's your gripe with AIR? I always considered Flex/AIR as a very powerful UI Framework. IMHO it's really easy to develop custom applications with it... – bummzack Jan 1 '12 at 1:49

As David stated it is a personal preference but there are some practical questions as well.

It is also a question of if an how you can create an in-game editor without changing your game code (which I think is not a good idea unless the player should be enabled to use the editor as well) and/or having to implement everything twice. Separating game and editor and having the actual game logic only in one place is a good thing!

But what I also find very important is to have at least some kind of preview/in-game view to see how changes reflect in the actual game. I am working on an XNA game where the editor hosts an XNA component and all the designer stuff is done in WPF. In your case I would suggest doing something similar using some browser control to load/refresh your actual game from within the editor. Continuously pressing Alt+Tab does not make your design work easier ;-)

• Indeed there are several implications between making the editor part of the game or making it external. This book presents a very nice comparison, from a practical and technical point of view, of both alternatives, but I don't have it here at the moment. But I kinda assumed Vandell was asking more about which technology to use instead of the placement of the engine, which is why I said it was mostly subjective and personal preference. The choice between making it in game or standalone, not so much. :-) – David Gouveia Dec 31 '11 at 21:17
• Another point to consider is the output of the editor (or the input of the game). If you have to re-implement the whole database access layer or some deserialisation methods for your game objects I would think twice about bringing another tech into play. Only if the development time is saved by having powerful controls to speed up editor development. – PrinceCharles Jan 2 '12 at 18:29

If you are building an editor for a Flash game, it might make sense to build the game editor in Flash/AIR. That way you wouldn't need to port/rewrite the core logic/rendering code from Flash to C#/Java.

That said, if it were an in-game editor, wouldn't the editor be of the same platform as the game, eg. Flash?

That's a bit subjective. It's going to depend mostly on how familiar you are with each of the technologies. And I think the deciding factor would also be, do you really need the level editor to be available in game? Is the general user supposed to have access to the editor too? If you're the only one that's going to use it, don't think twice, just go with the technology you're more familiar working with, even if it's a standalone editor. Personally, I'd go the standalone editor route, but that's just my preference.

With that said, there are some advantages to building the editor in game. For one, you can use the codebase that you alredy built for the game to aid you with the editor. And you can more easily switch between normal gameplay and level editing on the fly. Is it worth the extra effort? That's up to you.

• I think it's indeed a subjective question, I want to know you guys experience on this matter, thank you for sharing your opinion. – user9471 Dec 31 '11 at 14:59
• Well, in my case I'd probably create a standalone editor in C# because that's what I'm experienced with. :) – David Gouveia Dec 31 '11 at 15:14