HI @jjd,
Echoing people's comments above, it would depend heavily on the type of game you're writing. My experience is with 2D games, this answer is focussed on them.
Initially I used Tiled - Link. This is a brilliant tool which allows you to define tiles (hence the name) on a 2D grid as well as lay addition items not necessarily based off a grid. To use Tiled with game objects, you add these floating tiles (which can have arbitrary properties). Your resource pipe line can then load in the file definition (Tiled's XML file format is trivial to read) and then process it accordingly.
I subsequent wrote my own (see below) for many reasons:
1. I wanted to
2. I wanted to have greater control over the properties of the game objects
Point #2 was the most important thing for me as it made the tool more generally usable by non-specialists. It also allows you to edit more complicated items / specify dependencies and have them picked up in the tooling layer rather than the subsequent processing layer etc.
The way I've written it is as a generic tile editor with the ability to add .net game objects (using reflection / plugins) to the levels. This way, I can use it for any future games within the same genre. This genericity added to the development costs of it, but proved to be useful for me with my 2nd game.
Whether it's worth going to this extreme depends on you, your time budgets and your requirements. With hindsight (given it slowed me down in terms of development of the game by about a year if not longer) then I'd say that it wasn't and I would have been better off staying with Tiled for longer. I don't regret having the tooling now as I find it very useful, but... Note that I simplified migration matters somewhat by having the ability to write an importer for TIled files so that was all simple. If you're working as part of a team, do that approach.
Hope this is vaguely helpful
Steve
![image.thumb.png.704a6b90777ae932c253737bc2159d77.png](https://uploads.gamedev.net/monthly_2018_12/image.thumb.png.704a6b90777ae932c253737bc2159d77.png)