Jump to content
Eternal Lands Official Forums
Sign in to follow this  
KarenRei

Map people: additions to the editor interface

Recommended Posts

Let me prefix this by stating that I haven't yet even used the map editor, so I don't know what it's like. However, as you may know, I am hooking in an eye candy particle system to gradually replace the old special effects system. The idea is to not lose any old functionality, but to simply replace effects with nicer ones. There are also some new effects coming in that use capabilities that the old system didn't have. These involve the use of effects that cover an entire region:

 

* Blowing leaves

* Blowing flower petals

* Uneven, drifting fog concentrated in a certain area

* Clouds in the sky

* Fireflies that drift about at night

 

These are "bounded" effects. They only occur within regions that will need to be specified in the design of the map. You may want leaves in the Forest of the Fall but not in the rest of WS. You may wany fireflies in MM but not over the water. Etc. As I will be getting into hooking these in before too long, I figured it's probably time to start gathering feedback on how those who actually do map editing would like to specify these bounds.

 

Currently, the only bounds system implemented is "smooth polar coordinate bounds". That is, to say, the boundary is specified by a sum of sine components that weave their way around a circular boundary. The simplest example of this is a circular boundary: it is amplitude=circle radius, frequency 0, offset 0, exponent 1. With no frequency, it's always the same radius, so it's just a circle. However, let's say that you have a circle like this, and you add in one with a low frequency and a sizable amplitude. Suddenly, your circle has big lobes coming off it. You can adjust the offset to adjust where those lobes are. Let's say you now add one with a high frequency and a low amplitude. Your lobed circle will now have a wavy boundary. And so on. The exponent lets you customize the boundary even more; a high will make the lobes more like teeth.

 

This clearly isn't the most intuitive method to design a boundary for an effect, of course. Making a circle is as simple as setting a radius, but more complex shapes means adding on various sinous components. So, let me list a few options that come to mind here and how easy they will be for me.

 

* Have the user manually input the sinous components, then display the resultant boundary (quite easy)

* Have the user pick from a list of premade bounds shapes and how much to scale them by, then display the resultant boundary (pretty easy)

* Have the user specify a center and a series of points they'd like to have on the boundary, then automatically try to determine a series of sinous components that could represent that shape (moderate to hard)

* Implement a way to specify polygonal bounds and a way in the eye candy system to deal with polygonal bounds (hard)

 

Polygonal bounds are a bit tricky because you not only have to do a check to see if you're inside a polygon with an arbitrary number of sides, which isn't easy on its own, but also have to determine which direction would be the fastest way to get back inside if if you stray outside. Hmm. I could possibly simplify this by making some assumptions -- a simple polygon, with its coordinates stored in polar coords by the map editor. That would be much easier to work with than just having an arbitrary polygon.

 

Anyways, let me know what you think; I'm open to anything.

Share this post


Link to post
Share on other sites

Ok well I think the best is to just keep it very similar to how the particles are done now in the map editor-only make it user friendly for non-programmers and non-mathematicians :omg:

 

I think what you should do is just to first see how the current particle system works...So open the map editor, click the particle icon(4th from the left), then click new(the arrow with the star behind it), and put a particle in.

You'll see that it's "attached" to a box. You click that box to move it around in the editor, and of course th ebox is invisible in the client.

 

To create a particle, click ctrl+p. This brings up the user-UNfriendly particle editor.

Share this post


Link to post
Share on other sites

I'm wondering what you and others would find user friendly. :omg: That is, to say: what would you find to be a user-friendly way to specify the boundary for an effect? Current effects don't have boundaries, so I can't just keep it like it currently is.

 

I only listed the details of the current boundary system to indicate how hard various possibilities would be for me to implement. I also suggested a few possibilities (although feel free to suggest whatever you think would be best for you)

Edited by KarenRei

Share this post


Link to post
Share on other sites

Well I think we need to talk about this in real time. Because I have some questions on this as well and it'll take forever by forums. If you can, go in the game and pm me.

Share this post


Link to post
Share on other sites

Can't -- I'm at work, and am posting while code compiles/find commands complete/etc.

 

I could starting in perhaps four hours, plus or minus one, and ending perhaps 8 hours from now.

Edited by KarenRei

Share this post


Link to post
Share on other sites

Seeing as I didn't understand half of that... :omg:

 

Is it possible to do a start x, y, z and end x, y, z? Its the most user friendly since the majority of the mappers wouldn't understand half the things you said :P Besides, we need to do that for .def file writing anyway.

 

Maybe when a certain particle is activated, a box pops up and that info is added, and stored in the map file.

Share this post


Link to post
Share on other sites

Ok well I don't understand your side of this really. Is the particle going to be an individual file that you save each time you make a change to it? Is it going to be a part of the map? Are you going to make an editor? -that's why I said it's best if you actually see how the particles are done now. So that at least you'll understand where i'm coming from.

I can certainly meet you in the game in 4 hours.

Share this post


Link to post
Share on other sites

You mean a bounding box? Wouldn't that look rather awkward? A stark horizontal line that things move around in? With corners? Wouldn't that be hard to conform to natural boundaries?

 

I mean, if that's all you want, sure, I can do that. But I think, say, a rectangular cloud would be kind of ugly, even if it was a "fluffy" rectangular cloud. :omg:

Edited by KarenRei

Share this post


Link to post
Share on other sites

Karen please do not do anything until it has been approved with me.

I don't know what you're talking about in your last post.

Please just talk with me in the game when you get time. We need to go over things and understand each other.

Share this post


Link to post
Share on other sites

Roja: I'll meet you then. It would probably be best to discuss this realtime. I realize now that I got into far too much technical detail in the original post :omg:

 

"Is the particle going to be an individual file that you save each time you make a change to it?"

 

I assume that you mean "particle effect", not individual particle. As previously discussed with entropy, in order to make the effects more realistic, they're now all done in code. I could make a "generic" effect that one could use an editor for (like the old system), but that wouldn't give as much fine-grained control over what goes as one would like. Ent didn't seem to think that was worth the time.

 

I'm trying to make this as seamless of a change as possible. I have code (hooked in last night) that intercepts various old particle effects if eye candy is on and replaces them with the new, better looking effects. Someone using the map editor would experience no difference; however, when playing the map, it'll simply look better. You place a "teleporter.part" effect, it replaces it with an EffectTeleporter. Of course, if you create a brand new effect with that old particle system editor and save it, I won't find a match for it (since my code doesn't know about some new effect you just created), so you'll see whatever effect you just created using the old system.

 

Does that make sense?

 

Now, picture your typical, old-style effect. A campfire. A teleporter. A waterfall. They're all the same sort of thing: they're located in one place. New particles spawn in that place, and they fade out close to that place.

 

Now picture, say, blowing leaves. This is something that will effect an entire region. The leaves may end up far from the place that they start at. At the same time, there's places you won't want those leaves to go. An effect like that needs a bounding range. Picture it like putting up a fence around your effect and telling it, "This is where you can play. Don't mess with anything outside of it."

 

I need to be able to tell the effect where that 'fence" -- that bounding range -- is. This means that I'll need to make some changes to the map editor so that you, the creator of the map, can specify what the range is. You get to decide where that effect can do stuff. Now, the big question that I have, as a coder, is how would you *like* to be able to specify that range. :P I could make it just a bounding box, as was suggested, but I don't think that would look very nice. I want you to decide what would work best for you.

Edited by KarenRei

Share this post


Link to post
Share on other sites

i always thought particle editor was user friendly, never had much problems with it.

 

I guess this topic is for suggestions for a new map editor?

 

well something i've always wanted (and i know others wanted as well) was the ability to select an area, copy that area, and then paste it. I dont know if this would be possible, but would be pretty great.

Share this post


Link to post
Share on other sites

MikeH, I think there's already a thread for map editor suggestions :P

But I like that idea! :D Oh, it'd be great if we were able to "Group/Ungroup" 3d objects together, that'd make things much easier.

 

 

Anyway, a few questions to KarenRei.

 

What exactly would the difference be between a bounding box and a bounding circle?

From what I understand, a bounding box would have corners, which would make the particle look unnatural and ugly. Is this our main concern?

 

As much as I have understood, this fence or bounding range will be something circular with optional and adjustable lobes, yes? Which means it won't have any corners which would make it look not right?

 

In my opinion, if you want us - the mapmakers - to understand better, we'll need to see something visual :P

I mean it doesn't have to be the real thing, a concept of some sort will do ;)

And yeah, the mapmakers aren't mathematicians :D

 

Anyway, the "polygonal bounds" option did sound nice, but too bad it was labelled hard :/

 

 

- Sist

Share this post


Link to post
Share on other sites

Perhaps we could add this to the "grid system". Kind of like the Heightmapping thing. You can highlight the area where you would want the particle to "roam" by clicking the individual squares of the grid and creating an area. Wow, this is kind of hard to explain. :P:o

Share this post


Link to post
Share on other sites

Here is an example of what I was talking about. Imagine the yellow areas are where you want the leaves to be able to blow around and they will not go into the green areas.

 

example.jpg

 

Do you see what I meant my using a grid on map editor? I think it would be a very easy way to make this happen.

Share this post


Link to post
Share on other sites

Sorry for the delay in responding to this thread. I already chatted with Roja and we worked out the details, so I kind of neglected to check in over here.

 

What exactly would the difference be between a bounding box and a bounding circle? From what I understand, a bounding box would have corners, which would make the particle look unnatural and ugly. Is this our main concern?

 

Yes. Picture, if you will, a cloud. Imagine how bizarre that cloud would look if it was constrained to have corners. Nobody wants clouds shaped like rectangular prisms, even if they're "lumpy" rectangular prisms :lipssealed:

 

I mean it doesn't have to be the real thing, a concept of some sort will do And yeah, the mapmakers aren't mathematicians Anyway, the "polygonal bounds" option did sound nice, but too bad it was labelled hard :/

 

I presented Roja some options, and we decided on one that would work well for her and not be too much trouble for me. You'll place a center for the effect and "key points" around it (it's looking like it'll be able to handle as many as 12 or so points), sort of like drawing a polgyon. The big difference is that these key points will be connected by smooth curves, not straight lines. Strange as it may sound, smooth curves are much easier for me to deal with than straight lines :ph34r: You'll be able to drag these key points around, add more, delete them, etc.

 

Sound reasonable? Since we've hit a feature freeze in the client, once I take care of a couple bugs and some more documentation, I'll start work on the map editor -- probably a day or two from now. I'm not sure how long it will take; my best guess is that the first version will be in a week or two. Once you try it out, feel free to give me any feedback on it that you like; I'm happy to make changes. After all, you're all the ones who will be using it, not me, so I need to make it as comfortable for you to use as possible. :hiya:

 

While we're at it, any suggestions for new effects you might like? Here's what effects I currently plan to make available, and what will be settable about them. Unlike your current particle effects, you'll be able to customize these -- say, how big you want it to be, or what color you want it to be, without having to edit the particle effect itself.

 

(Just in case you're not familiar with the terms (I imagine that you are), hue is the shade of something (red, yellow, blue, etc), while saturation is how colorful it is (changing the saturation on yellow would range from light grey to cream to dull yellow to bright yellow)).

 

Fire: position, hue, saturation, scale

Cloud/uneven fog: position, hue, saturation, density, boundaries

Fireflies: position, hue, saturation, density (how common they are), boundaries

Fountain: position, hue, saturation, scale, base height (height at which the falling water hits the ground and splatters), backlit (whether the liquid glows or not)

Lamp/candle/torch: position, hue, saturation, scale

Magic protection effect: position, hue, saturation, scale

Shield effect: position, hue, saturation, scale

Magic immunity effect: position, hue, saturation, scale

Poison effect: position, hue, saturation, scale

Smoke: position, hue, saturation, scale

Teleporter: position, hue, saturation

Blowing leaves: density, boundaries

Blowing flower petals: density, boundaries

Waterfall: position, hue, saturation, scale, base height (height at which the water hits the ground and splatters), angle (direction the water is going when it falls off the edge)

Bees: position, hue, saturation, scale (scale of the effect, not the size of the individual bees :wub: )

 

Anything other effects you'd like to have? Feel free to be creative, and even draw a sketch if you have some idea that can't be described in words very well. Also, any other features you'd like to have for those effects? Roja and I discussed the possibility of raging rivers, but decided that the effort for that would probably not be justified at this point.

Edited by KarenRei

Share this post


Link to post
Share on other sites

Promose:

 

A arbitrary-shaped grid wouldn't work well for me at all. That would take a lot of CPU to determine whether a particle like a leaf was inside the bounds or not (it'd have to check a lot of squares), and if it had drifted out, it would be hard to tell what the best way to head back in is.

 

The easiest shape to determine these things for is a circle. If the distance to the center of the circle is greater than the radius of the circle, you're outside. Otherwise, you're inside. :lipssealed: The way to get back in is also simple: head toward the center.

 

(Warning: the following contains mathematics. Mathephobes may want to look away)

 

The problem is that a circle isn't a very descriptive shape. My original method to allow for more complex shapes basically amounted to "a circle with wavy edges". If you know the formula for what the radius will be at any point on the "circle", you can tell whether you're outside it or not and which way you need to go to . However, it was a bit hard to describe them to non-mathematicians.

 

The method Roja and I agreed on should be a nice compromise. Basically, the points you set as though you're making a polygon will basically be stretching a circle in and out (that's why they'll be connected smoothly. The program will then look at your points as "this is the angle to go to reach this point" plus "this is how far I need to go to reach this point" -- i.e., an angle and a radius. If your leaf is in the same direction from the center as a point that you set, then the radius of the circle at that point is the same as the radius from that point. If a leaf is, say, halfway between two points that you set, than the radius of the circle for that angle is halfway between the radius for the two points you set. And so on.

 

(End mathematics warning. It is now safe to look at this post)

 

In short, you'd basically be drawing a smooth polygon. Would this be easy enough for you?

Share this post


Link to post
Share on other sites

The one effect I always wanted was a swirling portal effect (shades of blue and white and purple) about the size of a cave entrance.

 

I don't know if this on the TODO list, but if you can make the particles rotateable, that'd be great.

Share this post


Link to post
Share on other sites

Certainly can do that. :)

 

The particle effects are all symmetric except for those with bounds and the upcoming waterfall effect (waterfall and bees haven't been made yet; the others already have). For the ones with bounds, you can set them anywhich way you want, and the waterfall effect is to have a settable angle.

 

For such a portal effect, I'd certainly make it be able to be angled in any direction. And hey, if anyone feels like sketching up a sample portal, I can make it look like that (except in 3d, and moving :P ). Otherwise, I'll just come up with something myself.

Edited by KarenRei

Share this post


Link to post
Share on other sites

O.K. Your idea actually sounds better anyways and easier to use :P. I can't wait to try out the new editor!

Share this post


Link to post
Share on other sites

Quick question. I'm familiarizing myself with the map editor in its current form before I begin modifying it. I've done a brief version of the tutorial and read the manual. The one feature that I can't seem to get to work is particle system placement; everything else is working just fine. Unfortunately for me, particle systems are the only thing I'm going to be modifying, so that's the part that I need to be most familiar with.

 

I click the particle system icon (the one with no picture), I click the button to load one (the arrow with the white), I select the .part file, and then.. nothing. There's no dialog box showing location of the effect and all that, no 3d box on the screen showing where the effect would be placed, or anything of that nature.

 

Any clue what I'm doing wrong here?

Share this post


Link to post
Share on other sites

There are one or two particles in there that don't show up.

 

Anyways, when you load a particle, its attached to your mouse, and you can move it around when you move your mouse around.

Share this post


Link to post
Share on other sites

If the particle box doesn't show up, shift+right-clicking the particle button (with no picture) may bring it up, that is if it's been disabled before.

Share this post


Link to post
Share on other sites

Wait, you are using Linux, correct?

 

I always hear people complain about map editor not working properly on Linux.

 

There is also a new version of map editor, perhaps you should PM learner and he can help you out.

Share this post


Link to post
Share on other sites

Roja told me to work on map_editor. Is map_editor2 what I should really be working on? I know how to get ahold of it.

 

Hey, if the old particle system mechanism is broken on Linux, all the more reason for me to work on it. I just want to make sure that I know how it is *supposed* to work. :laugh:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×