World Builder - A Generic 2D Level Editor

Started by
7 comments, last by grayaii 14 years, 1 month ago
Hi everyone. I have been working on a hardware accelerated 2D level editor supporting multiple layers, gridded tiles, and free-placement static graphics. It currently supports regular polygons and rectangles for static collision boundaries. It is currently a work in progress, but you can easily create full levels at this point, and save and load to XML. The current save formats are designed mainly for the editor, and could easily be used inside a game engine. The saves are not as trimmed as they could be, a feature I plan to add later. It is still an early work in progress, but I decided to polish it up a little bit to get some feedback on it. For those interested, check out its page here or homepage World Builder screenshot There are many features I would like to add, and if you have anything to say, I would love to hear about it! [Edited by - kickstep on February 19, 2010 12:41:18 AM]
Advertisement
Hi, I'm currently making (almost) the same type of project / framework. You can have a look here. Look at project "Ruff'n'Tumble", there's a built in editor. Right now, it's not my main project, but it's already quite advanced.

Just my little 2 cents advice, try to use one big texture instead of several png files as you seems to do.

Just out of curiosity, in which langage is it ? My framework is in C# and OpenGL.
- Iliak -
[ ArcEngine: An open source .Net gaming framework ]
[ Dungeon Eye: An open source remake of Eye of the Beholder II ]
Ah yes, I have seen yours before. Good work. Mine is using C# and OpenGL (Tao's managed OpenGL). Are you using Tao? openTK?

The idea is to have multiple resource types available. For example some tilesets and graphics out there are individual, then of course there are tilesheets exampled most commonly in RPGs. I want to be able to support whatever the user will throw at it, and I will be implementing a level compilation + export that will concatenate related images into power of 2 dimensioned tilesheets (as best as they will fit). This way on the editor side it doesn't really matter, but ideally there will be full performance when inside the game. Of course there is still a lot of work to get to this point, but at least its now capable of creating levels.

Thanks for the feedback.
I dropped TAO a looong time ago and now I use OpenTK which has better support and is strongly updated.

To give you an idea how the framework handles assets, download my current project (Dungeon Eye). When running (any time in the game) press 'inser' key to opens the editor. There you can see how I handle each assets
- Iliak -
[ ArcEngine: An open source .Net gaming framework ]
[ Dungeon Eye: An open source remake of Eye of the Beholder II ]
Looks pretty sweet. Currently I'm using a tool called Tile Studio for creating my levels and world map. You should check it out too to see if you can take some ideas and make it better.

One of my main gripes with Tile Studio is that it's very CPU intensive when rendering all the tiles on the screen. It takes a ~3-5 seconds to draw all the tiles on my window (when Tile Studio is maximized, there are around 40x40 tiles on the screen). That's a big pain in the butt when trying to navigate around my world map, which is 400x400.

On the flip side, one the best "pluses" of Tile Studio is that it can generate code for you! I'm developing in C#, but Tile Studio can custom generate any code for you.

I'll check it out tonight and try to give you some more useful feedback.
grayaii, I too have used TileStudio and it can be a bit slow. Custom code generation is a nifty tool, but it can take a while to write. The available ones are pretty full too. You can also check out Mappy, which overall won't be as good, but still has some pluses. I would love some feedback. I would like to implement code generation in the future, so it can be compiled into games, but for now I'll have to stick with XML has I don't have too much time for it. Perhaps I'll need to dig up Tile Studio again :).

Iliak, perhaps I will move to OpenTK eventually, but Tao's OpenGL has been quite adequate for this project. A lot of work to do ;)
im sorry if ive missed something totally obvious, but it doesnt seem to work for me. I run the program and it 'stops working' instantly.

the event name is: CLR20r3

and im running vista.

would be good to give this a try and give some feedback if i can get it working :)
Quote:Original post by qprmanzz
im sorry if ive missed something totally obvious, but it doesnt seem to work for me. I run the program and it 'stops working' instantly.

the event name is: CLR20r3

and im running vista.

would be good to give this a try and give some feedback if i can get it working :)



Thanks for trying it out qprmanzz. I am not familiar with that error. Do you have .NET 3.5 SP1? I tried to include all of the other dependencies, and I didn't want to shove and installer down everyone's throats, but that is likely the issue.
When you have new version, can you post here? (Or if you have an email list, can you put me on it?) I tried Mappy, but I preferred Tile Studio (and since I'm almost done with my current project, I won't stop using Tile Studio until I'm done).

Some of the issues that I had with Tile Studio were this:
1. I created my entire world map, and then I wanted to make all "mountain" tiles not walkable, but it was too late. I was supposed to define a certain tile as "not walkable" **before** putting it on the map. I had to manually go and re-do all my mountain ranges just to make them not walkable.

2. Similar to #1, except that when I generated the code for my world map, mountain tiles (for instance) were a certain ID, but when I re-generated the code, mountain tiles were another ID. This made it not "developer friendly" to work with tile ID's.

3. This is pretty specific to what I am doing, but in my world map I have special places that if a player character walks them, something happens. I was hoping Tile Studio had a way to "add hot spot ID" on a certain location on the world map. I used Tile Studio's "Map Codes", but it wasn't intended for that purpose...

I can see why you say making a code generator can be tricky. You'll need some sort of parser, and a unique syntax to signify loops and what not. But I'm sure a code generator is your highest priority at this point :)

Good Luck!

This topic is closed to new replies.

Advertisement