Hex Grid Draw Goes Wonky

Howdy Gents,

Is there ANY way you can absolutely FORCE the hex draw tool to stick to the points you right click? Take a look at the attached picture. I draw in a square, it always begins with one, then I right click the four corners. Then I try to pick up the top or bottom line to lift to the top or bottom point of the hex and suddenly everything goes south. This isn’t the first time I’ve been annoyed with this. In fact it’s been an aggravation for years. WHY does this program fail to stick where you right click?

Where is this in the Editor? How do I get there to see what you’re seeing?

Looks like the Define Shape function within a Zone (Map Window…Map Boards…(your board)…Multi-Zoned Grid…(your zone) … properties… Define Shape button.

e.g. [attachment=0]edit zone shape example.jpg[/attachment]

I agree, it is a hit and miss tool. In my limited experience, I have learned to take care that I am doing the correct clicks in the right places and I will work my way along the line putting in additional points and dragging them to the next part of the boundary that I am defining.

As Cundiff describes, it seems very easy to find that you have moved a point out of line unintentionally and his suggestion might help. A simple UnDo key might help. I think that a zone-boundary defining method that required simply to click from point to point, and finally closed from the last point back to the first would be perfect (maybe).

All that said, compared to “transforms” and a lot else I try to do in Gimp, this is a breeze.

If this is the Zone editor, we fixed a bug in that in 3.3.2 in July which made placing vertices difficult. (The bug was apparently very long standing, but no one had told us about it until early summer.)

If what you’re reporting is not in the Zone editor, or is with 3.3.2 or later, please describe exactly the steps you’re taking so I can try to reproduce the problem.

Mark described the situation perfectly. This is indeed within the Zone editor. He also describes a MUCH BETTER method than one that drags a shape. It would be much better to drag a single line from point to point around the perimeter of the shape and at the end describes an enclosed area. As you know, I’ve been using 3.2.17. I’ve updated a couple of my computers to 3.4.8, but I am just leery of anything that has so many repairs in such a short time. I just don’t want to use it until the fixes dwindle to something less than one a month.

Here’'s an example using 3.4.8, I installed it to see if it made a difference … It did NOT !

You can see from Illustration 1 that I have indicated ALL the corners where I have tacked the corners down by right clicking it. Now with Illustration 2, you can see that I picked up the line at Point A, and suddenly the Point B Tack has entirely unhinged itself. It simply came apart. And I was NO where near that corner when I picked that line up. This problem continues without regard to the module version.

This happens because when you left-click, the nearest point is moved to where you clicked.

Thus spake Cundiff:

I’ve updated a
couple of my computers to 3.4.8, but I am just leery of anything that
has so many repairs in such a short time. I just don’t want to use it
until the fixes dwindle to something less than one a month.

We’ll release 3.4.11 in the next day or so. It’s intended to the the final
3.4 release, so you should be clear shortly before the New Year.


When I right click, every such point is supposed to be pasted and NEVER move. If this isn’t true, it makes it terribly aggravating. When I stick something down I don’t want it to move EVER again. That’s the whole point of right clicking on a point. You can see the mess it makes when this isn’t so.

So, can you fix this so this kind of thing stops?

Thus spake Cundiff:

When I right click, every such point is supposed to be pasted and NEVER
move. If this isn’t true, it makes it terribly aggravating. When I
stick something down I don’t want it to move EVER again. You can see
the mess it makes when this isn’t so.

Existing points remain stationary for me when I right click.

If you can give me the exact steps to replicate the problem, I’ll have
another look.


The exact steps are listed above in by marktb1961 post.

Click on a corner on any place on a map. Drag that corner to another corner, a box or rectangle is always described. Right click on that corner. You now have a box with one corner stuck down. Now right click on the remaining 3 corners. Now ALL corners should be stuck down. Now pick up any length of the box or rectangle and try to drag it to the top or bottom of a hexagon. You can see how this was done.

Now in the new depictions you can see I drew a rectangle and tacked down all four corners and a center hex vertices, identified by the five red dots. Now I want to go to the top vertices and tack it down.

And now in the 3rd illustration you can see what happened. The entire thing just went nuts.

What I want is that when I tack down a corner, it stays that way. I don’t want anything to move until I move it. This thing just suddenly jumps to what you see in illustration 4. When I tack something down by right clicking on it, it stays that way and nothing moves until I move it! And when I pick up a line between two points, I don’t want either of the two points to move not one pixel, not one! I want to be able to pick up that line and move it. You can see in Image 1 how I picked up a line between two points on that far right hex and dragged it north to make the top point of the hex. I didn’t want the two points at either end of the line to move, and in that image (image 1) it didn’t move. But, you can see in image 2 (above since I cannot add a 4th image in one post) and 4 how things go just nuts. I don’t know a better word for the insanity I’ve seen ensue when I’ve fought this in EVERY module I’ve ever built. It truly becomes aggravating.

I’m not aware this has ever been true. There are three main things you can do in this editor after drawing an initial box: add vertices, delete vertices, or move vertices. It’s not possible to make a vertex “stick” and remain immobile thereafter. No vertex has any “smart” properties like that, only X/Y coordinates.

When you right-click, you are adding a brand new vertex at your cursor’s location (it was this part that was pants-on-head broken for eons until the fix in 3.3.2–it would frequently add 2 vertices instead of just one, and it would add them out of sequence and badly screw up your polygon). There is no such thing as right-clicking and setting an existing vertex to “can’t move”. It only adds a vertex.

When you left-click, you are selecting the closest vertex and it teleports to your cursor’s location. If you are relatively far from the closest vertex or unintentionally closer to a different one than the one you intend to move, the instant distortion of your zone’s shape will be very apparent. Once a vertex is selected (highlighted in red), holding left mouse down and dragging moves the vertex.

Given your understanding and description, I suggest you adopt programming working as I or Mark above have described. What exists now is simply a pain in the rump. Scrap it and adopt a different method.

If you would like to develop a proposal for an alternate method to handle the editing workflow, we would love to hear about it.

The hardest part in any development like this is designing the required behaviour especially when we developers may not use that functionality very much. That’s the hard part, coming up with the ideas, but doesn’t require any technical skills. If you can describe a better method in detail, we will get it into an enhancement request and someone can look at picking it up and making it a reality.

Saying ‘X is crap’ is not very helpful. Saying is ‘X is crap, but instead you could do Y and Z and when Q happens do R except in the case of S when you do T’ is EXTREMELY helpful and far more likely to get a positive result for you.

The existing process is certainly non-intuitive as you only have two operations available to you:

  1. A Left click always finds the closest Vertex (no matter how far away) and moves it to the click point. Dragging moves that selected point with the cursor.
  2. A Right click always finds the closes point on the closest line (no matter how far away), creates a new Vertex at that point and then moves that vertex to the current click point.

Understanding that and changing your workflow to match allows you to work within the current constraints.

However, I agree, it could be much better. Number 1 on my list would be a Ctrl-Z/undo button to undo the last ‘action’. Apart from that, it might only take a few tweaks to improve. For example the Clicks should probably not do anything at all unless they are reasonably close to a line segment or vertex. That would resolve the huge jumps of segments across the map.

BTW, if you have snap to center turned on for you hex grids, there is no real need to draw the zone to match the hex edges. A rectangle covering the main part of the body of the hexes is enough.


Ok, the best way to solve this problem is as follows.

Right click to create a point from which to draw a LINE. Then Left Click to drag a line from that point to a new point B where you will again Right Click to create a new stopping point for the line. Then left click to drag a new line from Point B to Point C. This is the method described in the prior post by Mark above. This allows you to do an Etch a Sketch type of drawing enclosing an area with “vertices” from which a single line originates and ends. The figure is entirely enclosed when you draw a line from Vertices Z to Vertices A enclosing the area. Take a look at the attached example. The vertices are set individually when you stop a line and right click.

So, you begin at Point A by left clicking. Then you drag line 1 to the point you wish it to end. You then right click, which creates Vertices B, from which the next line will begin and all you have to do is hold down the left mouse button and drag it to the next point where you need to change direction. Right click at that point, create a new vertices, and then drag the line from that point to the next one. Eventually you get to Point L where you will drag Line 12 to the beginning Point A, which encloses the space.

This is a simple line tool method used by Photoshop. It works very well.

I understand now—it wasn’t clear to me what was description of current behavior and what was description of desired behavior.

Were this editor to be reworked, I would do it the way Inkscape handles paths: Initial left click starts a path, successive left clicks add nodes until the initial node is clicked once more to close the path. Nodes can be selected by clicking and deleted when selected by hitting Delete. Nodes can be dragged. New nodes are created by double-clicking on an existing segment.

This sounds very much like what I’ve described. But what currently exists just isn’t optimal.

I have added an enhancement request http://www.vassalengine.org/tracker/show_bug.cgi?id=13777 including the summary of this discussion.


Sorry I didn’t get back to you quickly today. Today is Gunslinger Turn Resolution day. When you’ve got 20 players it takes a bit … well, 19 players (one really shouldn’t run out into a street in the open in Gunslinger, especially when you KNOW someone is out there. It’s a sure way to get killed … so 19 players now).

Thank You for making an effort to do something about this thing. It’s annoyed me for a few years now.

Try the VASSAL-3.5.0-SNAPSHOT-07e96c8cd test build. Do you find that the zone editor works better there?