Evora's tile editor


#21

Sure thing. Anyone can use 'em. Let me know if you need anymore things also

Added a “new level” icon in.


#22

That might never happen but how would you guys feel it there was an option to edit the levels through a command line, inside the editor?
Similar to what autoCAD does…

Given it’s really good and full featured, would you use it?


#23

i thought this was gonna be web based


#24

Well I don’t think he’s thinking of interfacing with the OS command line, but more of a pseudo-terminal inside the browser. Basically just a text input that interprets commands with javascript I’m assuming.


#25

Exactly, tnx.


#26

[USER=“470”]Chicken[/USER]
Can I modify the icons’ backgrounds? I’d feel silly for asking you to put them a color that’s not even final while I can do it myself.


#27

I’ll be happy to do it for you. Probably much easier as I have them layered (in pyxel edit) But in any case, they’re for use by anyone and you can modify them 'til your heart’s content.

Quickly put them into Gimp for you and made a layered image. I’ll attach it.


#28

Thanks d00d


#29

In case anyone is curious, I keep a journal on my OP. I’d enjoy if anyone had something so chip in.


#30

OP?


#31

Orignal Post?
OVER POWERED!


#32

Jeez, looks like you’re writing a novel. I see you’ve also decided to use WebGL. Good stuff.

I admit it’s a bit overkill for a level editor, but my main reason for using it is I’m just very used to the API from other projects and OpenGL, and the performance boost from GPU accelerated rendering doesn’t hurt either.

I see you’re concerned about compatibility with older browsers, but here’s how I look at it. If people are too lazy to get a version of Windows released within the last 8+ years with a decent version of internet explorer, or download firefox or chrome, do you really think they will be the kind of person who is willing to learn level editing? That’s just how I look at it. As a web developer, those people are the bane of my existence.


#33

So far this is best thread of the year


#34

First tldr thread of the year. Love it.


#35

I think tricxta is so bitter because 2ndwolf is making an editor people are actually gonna use


#36

You are so right, these people do not deserve quality Internet pages.

Also, tnx hosler.


#37

Damn hosler, savage.


#38

[USER=“4452”]Rou[/USER]
Any tips on making stuff appear on different layers? Do I have to start treating the whole thing like 3D or is there a way other than manipulating the order in which the graphics draw?


#39

For me the simplest way is to redraw graphics based on events (mouse click to place a tile, ect) since for a level editor you don’t need a real-time render cycle.

I would just store in a variable, an object with an array of objects that are in the order of the layers that you’re drawing them in IE layer 1, layer 2, layer 3, and within those “layer” objects have an object which contains another array of objects that reference the textured quads that you’re going to draw. For every tile I have a textured quad that’s textured by the cropped image data of a single tile from a tileset image. Each tile object is in an array of tile objects, that are contained in the layer object which also contains other keys/data, and with each tile object I also create additional keys in the object to store other data in like “clicked: true”, ect. Then once the user is ready to save the level, convert all of that back into your more simplified format. That’s basically the concept of what I’m doing, anyways.

An extremely simplified version would look like:

var tilemap = {
 layers:{
  layer1: [{
    tiles:[
     {ref: refToQuad1, clicked: false},
     {ref: refToQuad2, clicked: true},
   ]
  },
  layer 2: [{
    tiles:[
     {ref: refToQuad1, clicked: false},
     {ref: refToQuad2, clicked: true},
   ]
  }]
 }
}

And just redraw the textured quads (tiles) in the same layer order every time something is changed (like placing a tile) by iterating through the array of objects every time with a for loop, map or whatever else. That way any time something gets changed, it’ll always redraw in the same order.

I guess you could hypothetically change it’s z-position in a “3D way” like you’re saying if you enable the depth buffer in WebGL, but I’ve just never felt the need to add that complexity when making a mostly static level editor and either way that requires a render cycle. So if you were to do it that way I’d just recommend a WebGL library (like Three.js for example, or others) rather than reinventing the wheel.


#40

<3 since yen is gone, you want to have a flame war with me instead?