To edit or to not edit

Started by
2 comments, last by _Silence_ 6 years, 3 months ago

I have a rather "philosophical" question about the editor of a game engine. Should the editor embed the engine/game, or should the engine/game embed the editor? An example of the latter could be an optional script, managing the editor, that is executed first during the game loop inside the game engine itself. I can also imagine that one should be able to increase or lower the speed of the game in an editor, but this seems all functionality that can be triggered from inside the engine itself. Pausing a "game", however, becomes a bit ambiguous: you can pause the game but not the editor (i.e. editor functionality), and you can pause both (i.e. window loses focus).

🧙

Advertisement

Both has advantages but the way it is running today is mostly the first one. An editor (that may be setup on top of the engine) is running the engine in background. Unity does this for the need of emulate the C# layer while Unreal uses C++/Cli (in UE3, dont know about UE4) to interact with the background engine.

The pros are that you get more or less independent from the engine so that causing bugs/crashes wont effect the editor and propably your current work so much.

On the other side there have always been "editor" tools arround for some games, more in the earlier days with games like Warcraft, Starcraft, Age of Mythology and so on and less these days with Starcraft 2 and Neverwinter.

The pros are that you do not have to maintain your editor outside of the engine and could ship/allow the editor to be used by the user to make own content. The cons are however, that you always need a bug/crash free version of your engine that leads to a higher quality issue, otherwise this will effect your workflow what may be the reason that any studio decides against an engine build-in editor for there development while some offer it for user content.

 

For my framework I also have a seperated tool solution but less for the one or the other side rather than as a general workflow solution that is just a plain platform to be taken by plugins for several projects so that you could work with the framework but also do physical card game design on the same tool with different plugins

Also worth to mention to my opinion:

Having the editor embed the engine allows to:

  • Have some WYSIWYG HMI (at least at some points)
  • Make the engine focuses on its purpose: render a scene as respectful as possible and as fast as possible
  • Change the editor more easily (ie you can start writing your editor in C++/Qt and then move to C# without having to change a single line of code in your engine)
  • Provides the engine without the editor. For example, games generally don't need the editor to be provided with.
  • Have an editor to work with several engines
  • Edit without using full CPU/GPU resources (not that true for UE4 however...)

This topic is closed to new replies.

Advertisement