I have been using XNA recently and discoverd a major difficulty: when designing levels you have to spen ages pre planning exactly where sprites/objects will go.
To solve This problem I had an idea for a game engine/level editor that just imports sprites, creates variables for the sprites and has a wysiwyg 2d level editor, I am hoping the level editor will be similar to the game maker or 001 Engine editor.
It will convert this data into code and all other functionality/object behavior will still be done in "normal" XNA code.

The area I was confused with is weather it would be better to make a visual studio add-on, a complete IDE and compiler or something else.

Please help me.

Recommended Answers

All 3 Replies

I'm no expert on this area, but if you really intend on creating an engine, it should either be a compiled piece of code which functions get called in your level file, or if you don't mind your users compiling it themselves, release it as a library.

making a complete IDE seems a bit overkill, especially with a compiler, since then you'd have the same as visual studio.

just my thoughts tho.

Maybe using the term engine was quite confusing. I would not use the software to create action. It would just create code for the draw method in the XNA framework to layout sprites.

The simple way I did my 3D level editor in XNA is create a separate project. Then, when I was finished placing objects in the editor, I saved the data into xml format. The data just consisted of standard things like: position,scale,rotation.

In my main game project, I then created a class which would load in the data from my editor. So, in my main game, I had a base class called Object and anytime I loaded the info for an object from my file, I add that object to the list of all objects for my game loop to use.

see: http://msdn.microsoft.com/en-us/library/ff604980.aspx
or
http://msdn.microsoft.com/en-us/library/ff604979.aspx

for some information on XML.

Also, to then apply a texture to your tiles, if you had each tile have a name, i.e "dirt". While loading in your tiles, you can check the name, and apply the texture that matches the name.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.