3
\$\begingroup\$

I have created a few smaller games on my own in the past. My approach has always been to create a completed editor where it has all the functionality needed to save a level file and load it into the game.

This has always made most sense to me but I keep hearing from people that a game is never fully done in the editor. I have never worked in a game development team and so I don't have first hand experience, but not adding everything needed to make the game to the editor just seams wrong.

Am I missing something? Is there ever a reason not to add a tool to the editor?

\$\endgroup\$
7
  • 2
    \$\begingroup\$ i keep hearing from people that a game is never fully done in the editor Who says that? Not that I disagree, because what does that even mean? \$\endgroup\$
    – jhocking
    Apr 13, 2012 at 12:05
  • 1
    \$\begingroup\$ The thing is i am not sure what they where walking about as its always mention just in passing like: "it would be impossible to release the level editor to the public because all the work that goes into making a level is not done in the editor." \$\endgroup\$
    – Borgel
    Apr 13, 2012 at 12:18
  • 3
    \$\begingroup\$ Well then my guess about what they mean is that the editor isn't used to program, say, the behavior of enemies, it's used to place where the enemies are. However I don't know if that's what they mean, especially since this guess wouldn't preclude you from releasing the level editor. \$\endgroup\$
    – jhocking
    Apr 13, 2012 at 16:17
  • 8
    \$\begingroup\$ In my experience, the reason we don't release the level editor is that it's buggy. Good enough for us to use, but would be a technical support nightmare if we ever gave it out to the public. Also, we're game makers. We'd rather spend our time making the next game, rather than polishing the toolset for someone else to use. :) \$\endgroup\$ Apr 14, 2012 at 1:07
  • 2
    \$\begingroup\$ Largely, no. Every hour spent adding a useful feature to the editor is many hours saved down the line when building, tweaking, and polishing the game \$\endgroup\$ Apr 14, 2012 at 19:33

4 Answers 4

4
\$\begingroup\$

The game editor is for editing the properties of your game-specific entities, together with their specific actions, ai, triggers, etc. But you also need a scripting language binding such as Lua, Python, Unreal script, your own scripting language.. to pass level-design specifics easier. You'll find out that for a strategy game, it's impossible to do complicated things such as assigning different strategies to the same units based on complicated triggers and analyzers and not hardcoding a bunch of that business.

Scripts are good because they are easier for people to work with and aid in customizing the "story" for a certain map/level. Game designers don't need to know heavy programming to see how things evolve if they want to change the logic. This might be just one of the things you can do in a scripting language without hardcoding a plethora of options in the editor alone.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ "impossible"... not sure about that. Check out the Starcraft editor (the first one). You could do some really sophisticated stuff with their trigger system. Enough to build a Blizzard game out of. \$\endgroup\$
    – Almo
    Dec 6, 2015 at 4:53
  • \$\begingroup\$ @Almo yes, I remember that one :). That's a notable exception and a good example of where to start. \$\endgroup\$
    – teodron
    Dec 10, 2015 at 18:38
3
\$\begingroup\$

Time spent making your editor is taken away from the team programming the game.

So you really want to make the simplest editor you can.

Ideally, in order of preference:

  • Use an existing editor application unmodified (maybe not a game-specific one) and write conversion / import tools to build the level based on its output
  • Use an existing game editor (perhaps from a library or toolkit you use), adapt it to your needs
  • Build the simplest editor you can, ideally reusing as much of the game-code as you can

Of course you need good tools so your content team can make the content efficiently. But consider what the best tool is?

Suppose you have a seemingly simple feature such as "undo" - developing this feature is extremely nontrivial, and it would be better to use an existing tool (which already has such a feature) than to try to implement it.

I cannot stress enough, how much better the first two approaches are!

\$\endgroup\$
2
  • \$\begingroup\$ Developing "undo" is almost always trivial. I feel your advice here is the exact opposite of what any experienced, knowledgable game dev would ever say. The smartest game companies put their best, most experienced devs on the game tools, not the game engine. The engines only job is to run the content, and the content doesn't exist without tools. The better, more integrated, and more customized the tools, the faster the iteration time, which is one of the most important things to optimize your process for. \$\endgroup\$ Apr 14, 2012 at 19:30
  • 1
    \$\begingroup\$ As an experienced game-dev, I'd agree with MarkR. The editor is a means to an end, nothing more. If you can get a short iteration time without having to invest in building an editor, then you should absolutely do it. Just because you make the editor doesn't mean it's automatically better at creating content than a pre-existing tool. You could spend years of effort trying to recreate Max in your engine, and still only change a 60 second iteration to a 45 second iteration. And your content creators would still hate you for all the Max features you were missing. Plus undo is not always trivial. \$\endgroup\$
    – MrCranky
    Apr 15, 2012 at 13:56
0
\$\begingroup\$

There is quite a bit of scope to this question.

Games made for profit

Triple A titles are often/usually produced under a time constraint set by financial backers that don't care about the quality of the game, but the profits it generates. Thus the editor is predominately a short cut and will do "80%" of the work, the other "20%" is things specific to the game being made, fine tuning, and rare/one-off objects/events (thus not worth investing time to create a tool and then the object, event, etc.). It can also be damaging if the game feels too similar to the the previous one or another title already out there. Basically is it financially worth the time to develop the tool especially if you are going to tweak what it produces anyway.

Games made for other reasons

Games are works of art, and so is the way in which you make games thus there is no right or wrong way. It all comes down to what you enjoy making. If you enjoy tool development then make all the tools you like. If you enjoy turning out lots of games then making generic tools can expedite this, but can end up making them feel too similar thus the time spent out of the editor to tweak them to their own style. You might also want to test out an concept, but not want to invest a lot of time developing an editor.

In game level editor's Editor's in games can cause issues; being buggy or make too much of a demand on the system (especially for hand held and mobile platforms) and thus are best avoided as not to tarnish the polished product.

This answer is currently incomplete

\$\endgroup\$
0
\$\begingroup\$

My answer is "it depends". My current phone game project at home would totally not benefit from a level editor. This is because my levels are a set of very simple parameters that are used to procedurally generate the grids. That's on one end.

On the other end, there are high-level AAA games which are so large and complex, you really, really need quality editor. One reason Unity and Unreal Engine are useful is because the include an editor.

So where you are on this scale determines how much time should go into your editor. If your game is simple enough so that you'd spend 5 times as long making the editor as the game without the editor, then it's not worth the trouble. But if making the editor was say 50% of your dev time, but your total dev time would triple if you didn't make the editor, then it's definitely worth making.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged .