I am considering building a level editor, and I was wondering if anyone has any suggestions as to what objects or methods might be worth looking into. To be a bit more precise, I am looking to build a level editor that has the following characteristics.
1: Supposing that I built a game that included this hypothetical level editor, an end user should be able to build a level from within the game application, rather than Construct. (This may be obvious, but I just wanted to clarify what I meant by "Custom Level Editor".)
2: From the game application, I would like to be able to save and load level files.
3: A level file should be able to store object instance xyz positions, as well as private variable values.
As far as I can tell, the main options I have for storing level data are the Text object, the Array object, the Hash Table object, the INI object, and possibly some strange usage of the save /load game actions. Of those, I'm leaning towards the Hash Table object at the moment, being that it's far faster to read from and write to than an INI, and will likely be significantly more flexible than an Array or the save/load actions, in terms of what I can store and how I can store it. Obviously there are drawbacks as well, and so before spending a lot of time on it, I figured I'd see if anyone has any advice or suggestions.