Community Tile-Based Level Editor? You don't say!

For questions about using Classic.

Post » Sat Jan 15, 2011 3:13 pm

I've been working on my 'dream game' for the past few months now, and it's been going great - even better than I had expected. Gotta love Construct. However, I realized I'm going to have to make a tile-based level editor if I ever want to see it finished, and for a number of reasons. I'm sure most of you know what they are.

So I started building one using Mort's example that uses arrays and the text manipulator object. I've made some progress and now have a working level editor with a snap-to grid. You can choose your tiles, flip/rotate them, give them private variables, change collision type, save to/load from files, and the like.

Problem is, I don't know how practical it's going to be in the long run. For starters, the tiles you can select are actually sprite objects with multiple animation frames as the tiles. I chose to use sprite objects because I have no idea how I'd go about uploading an image and cutting it out into usable tiles, nor do I know how I'd manipulate and give said tiles the properties I mentioned earlier. Using sprite objects seems to be the only way to go.

That brings up more problems. Because the level editor is a separate application from my game, there's no way to load these 'sprite object tiles' into the game because they only exist in the level editor. I can get around this problem by building the level editor inside my game's .cap, but because you can't transfer objects or layouts from .cap to .cap I'd have to rebuild it for every game I make. Not only that, but like I said earlier - each tile is a sprite object, so if you have too many of them in your level you're gonna get some major slowdown.

Aside from all that, I'm not sure how I'd go about doing a few things like making a fill tool or selecting/modifying multiple tiles at a time.

Finally, from what I've gathered there are a lot of people here who are begging for Construct to get a tile-based level editor, or atleast add the option. What's a 2D game maker without one? With all of that said, I propose we put our minds together and make our own. We can start with the one I made, or build a new one from the ground up (I hear using INIs or the S plugin would be better anyway. I'm not sure using mine would be the best way to go either, with everything I've mentioned about it.)

Not having a tile-based level editor has been the only thing preventing me, and I'm sure a few others, from making all kinds of games. It has in MMF, It is in Construct, and I'm sure as hell not switching to GM or something else with one after spending so much time with the two.

So what do you think?
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Sat Jan 15, 2011 3:34 pm

I love the idea, even tough I haven't been an active user lately, but I'm not sure if you need variables and properties per tile, you could have the tiles as only graphics and a hidden object that actually stores and trigger things, don't you think?

In another thread, someone posted a python script that was able to load a tile based map made in the map editor called Tilled, but don't remember if that generated map had properties or was only graphics.
B
2
G
2
Posts: 32
Reputation: 714

Post » Sat Jan 15, 2011 4:10 pm

Yes, this is a great idea. A tile based level editor would speed up the design process for top down and isometric games.

But as Clud_GL mentioned it, i don't think ist is necessary to assign values and properties to the tiles. Saving and loading as a graphic is enough i think.
B
2
G
2
Posts: 15
Reputation: 680

Post » Sat Jan 15, 2011 4:20 pm

[quote="Grimm":2k5dgtwc]But as Clud_GL mentioned it, i don't think ist is necessary to assign values and properties to the tiles. Saving and loading as a graphic is enough i think.[/quote:2k5dgtwc]

What would you use for this other than a sprite object? Also, if you want to interact with the tiles in any way they're going to need some kind of value. Think about things like terrain types - Your player's footstep sounds will change depending on what type of terrain you're walking on, or certain particles will be made when shooting a certain tile. Maybe some tiles will break when you stand on or shoot them. Some could be tiles that affect the player's movement like ice or treadmills. All of this would have to be added in the level editor too.

Also, the editor would have to load all of your objects. Enemy spawners, doors, player start position, triggers, you name it. I figured using objects for everything would just be easier, but again, not the most practical approach I guess..
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Sat Jan 15, 2011 6:57 pm

You might try begging David to finish the tile object plugin he started. Don't know where that'd get you though.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Sat Jan 15, 2011 7:19 pm

[quote="Ashley":32njbp0i]There's vague plans for a plugin that can do tile-based 'painting' of levels directly in the layout editor, but I don't know if it'll make 1.0.[/quote:32njbp0i]

This was about 2 years ago. -cries-

I wonder if David even comes around here anymore. Guess it couldn't hurt to ask him. Simply being able to 'paint' some form of tile in Construct's level editor by holding left click works for me.. provided they have some properties of their own.
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Sun Jan 16, 2011 12:45 am

He still comes around. He's a pretty busy guy though.

Anyway, from what I recall of the alpha version of the tile plugin he made, it was only about half finished and really buggy. You couldn't even import tile sheets yet, I don't think. It just had some random Jazz Jackrabbit tiles as the default tile sheet. You could draw maps with the mouse like you said, and it had some auto-collision layer stuff already. I believe he meant to be able to assign different properties to tiles and such but like I said it was never finished. If he's not interested in continuing it, maybe he could be convinced to release the source so someone else can. It never hurts to ask, anyway.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Wed Jan 19, 2011 12:42 am

Noticed a lot of posts about editors and arrays lately.
I think you should probably figure out what functionality you have to have first.
Like a strip, or single tiles.
A strip would be fine for an external editor, but not really feasible for importing into construct.
That is to say unless you use frames, but you have to remember that each frame adds to the total ram each particular sprite takes up.
50 tiles at 4 frames each... you get the picture.
Now its been shown that you can use a strip via tiled background, but then again setting up the events for that would be a bit contrived for less experienced users.

So to me it looks like it should be tiles, but how do you want the editor to act.
Do you want to click, or do you want to paint?
Do you want a few basic tiles, or many tiles for corners etc.?

There's actually a lot to consider, especially when you take into account you may want something somebody else doesn't.

So what are the absolute basics everybody can agree upon?
Image Image
B
161
S
48
G
90
Posts: 7,356
Reputation: 66,767

Post » Wed Jan 19, 2011 1:28 am

Well I think all those who want some kind of tile editor want to (in my opinion):

-to be able to "paint" with the mouse click tiles that are placed orthogonally (like some kind of by default snap to grid), these tiles having the ability to be over or below moving elements/characters/player. Or being able to draw the tiles in the different layers and they fit accordingly.

-the tiles to be grouped in one "single large image" or "single set of images" where you can select 1 or a few more to do something like a cluster of tiles paint (for example a tree is made of 3 tiles so you can repeat the middle tile to make taller trees, but selecting the 3 tiles at the same time lets you draw many trees doing 1 click per tree).

I guess this is the most important or basic.

But Tokimsom ask for tiles that has properties/values in it; making sound per tile can be done by using an invisibles areas below the graphics if you ask me no need for precision there, but a graphical transformation per tile touched can get tricky without per tile interaction...mmmh...
B
2
G
2
Posts: 32
Reputation: 714

Post » Wed Jan 19, 2011 3:00 am

[quote="Cloud_GL":dsprs65x]Well I think all those who want some kind of tile editor want to (in my opinion):

-to be able to "paint" with the mouse click tiles that are placed orthogonally (like some kind of by default snap to grid), these tiles having the ability to be over or below moving elements/characters/player. Or being able to draw the tiles in the different layers and they fit accordingly.[/quote:dsprs65x]

Yeah snap to grid would probably be something everybody would want, but the tiles would still be 4 sided, so iso/ ortho would already be available that way.

[quote="Cloud_GL":dsprs65x]-the tiles to be grouped in one "single large image" or "single set of images" where you can select 1 or a few more to do something like a cluster of tiles paint (for example a tree is made of 3 tiles so you can repeat the middle tile to make taller trees, but selecting the 3 tiles at the same time lets you draw many trees doing 1 click per tree).[/quote:dsprs65x]

I guess this is the most important or basic.[/quote]

Sounds nice, but would require a lot more events than its probably worth.

[quote="Cloud_GL":dsprs65x]But Tokimsom ask for tiles that has properties/values in it; making sound per tile can be done by using an invisibles areas below the graphics if you ask me no need for precision there, but a graphical transformation per tile touched can get tricky without per tile interaction...mmmh...[/quote:dsprs65x]

Um, yeah you cant really import private variables, or create new objects.
That's just way too specialized.

Basically you want it to be as simple as possible, so that everybody can use it.
But set up so that you can do more if you want.
Image Image
B
161
S
48
G
90
Posts: 7,356
Reputation: 66,767

Next

Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 3 guests