Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

My entity/component/system engine is coming along quite nicely; I have two very different apps working on the same executable. (One 2-d scroller, one 3D Asteroids-type game).

In the interest of getting something working, I've been creating XML definitions of the games, and editing them using a small custom tool that does little more than ensure that I don't add components that don't exist, and that the files are valid XML.

I'm at something of an apex or flection point in that the tools and process I'm using really aren't suitable for production.

Hand-editing large XML files is an error-prone, painful process. (JSON is well supported and pithy, but still requires visual syntax checking.) I could switch to a database such as SQLite, but I have yet to find a good graphical interface (something along the lines of SQL Server Management Studio would be nice).

Are there any COTS tools that can ease this process? I found a C# SQLite implementation with a basic ORM, but it doesn't support complex types like Vector3 or Rectangle. I can serialize these into strings or edit the ORM code to support those types, but then I wind up with my own branch of an OSS component which invites maintenance headaches further down the road.

Another thought was to just do everything in SQL Server and generate the XML from there, and have a tool that keeps the DB schema in sync with the component types in my engine, which is similar to using an ORM.

What's a good solution for this problem? I've read that bigger studios (as in, more than one guy) build their own tools for this kind of thing. I can do that, but I'd really rather be writing my game than building a tool set that only I will ever see.

To clarify: how do those that use entity/component/system engines create and maintain their data that defines the game?

share|improve this question
1  
Kind of related to this: gamedev.stackexchange.com/questions/33453/… And it includes my answer on how I maintain the data for my game. –  Byte56 Oct 2 '12 at 22:13
    
@Byte56 I might close this as a duplicate. You should write a book about this stuff. –  David Lively Oct 2 '12 at 22:31
    
It's not a duplicate. Might be worth copying the relevant info from that question to here. Ultimately though it seems like either you want an XML editor, which is easy to find, or you want a component-specific tool, which won't exist outside of the engine it was developed for as there are no standards in component-driven game development. –  Kylotan Oct 2 '12 at 22:34
    
@DavidLively Well, my answer over there doesn't address the error-prone-ness of hand editing the files. So I think this question is still valid. However, I think the answer is going to be: write a tool. You should leave it up as a good answer would help me too :). –  Byte56 Oct 2 '12 at 22:45
1  
@Kylotan I might be looking for something that is an XML editor or SQLite interface, but with the ability to display textures, etc. instead of just a path or identifier. That's probably custom tool territory - but since I can see how to do that in an engine-agnostic manner, I'm hoping someone else already has, or that there's an out-of-left-field approach that I haven't thought of. –  David Lively Oct 2 '12 at 22:48
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.