Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Designate Line, Perimeter, Area, Ellipse  (Read 1542 times)

Ampersand

  • Bay Watcher
    • View Profile
Designate Line, Perimeter, Area, Ellipse
« on: January 03, 2009, 02:28:14 am »

One of the most arduous tasks that limits the creation of interesting fortresses is simply how long it takes to map out all the designations, and since I haven't seen this suggestion submitted before, I might as well toss it out there.

Line designation would draw a line as straight as possible between any given two points, not just straight up and down.

Perimeter would designate the outside most tiles of a given quadrilateral or ellipse.

Area is what we have now, with the addition of designating out ellipses.

The ellipse, of course, would be any given circle or oval shape.

This would really, I think, speed things up for a lot of people.
Logged
!!&!!

Random832

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #1 on: January 03, 2009, 04:27:21 am »

For line and ellipse, should also distinguish between "solid lines" (suitable for walls) and "basic lines" (suitable for tunnels)
Logged

Artyr

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #2 on: January 03, 2009, 05:20:52 am »

Sounds like a good idea. Now if only it could support a mouse, then you'd have dwarfpaint.
Logged

Silverionmox

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #3 on: January 03, 2009, 05:43:24 am »

Seconded. It'll be easier to have a fortress that doesn't necessarily sticks to the grid.
Logged
Dwarf Fortress cured my savescumming.

Draco18s

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #4 on: January 03, 2009, 11:53:39 am »

Currently I'm using DFWall's template feature to build a giant circular structure, it's not easy, but typing out the template is easier than designating the results!
Logged

Untelligent

  • Bay Watcher
  • I eat flesh!
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #5 on: January 03, 2009, 03:11:42 pm »

Circles are awesome. Towers are awesome.

Circular towers are awesome squared.


Anything that lets you square awesome is a decent suggestion, in my opinion.
« Last Edit: January 03, 2009, 03:13:23 pm by Untelligent »
Logged
The World Without Knifebear — A much safer world indeed.
regardless, the slime shooter will be completed, come hell or high water, which are both entirely plausible setbacks at this point.

Ampersand

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #6 on: January 06, 2009, 01:02:33 am »

After musing on this idea a little longer, I realized that it would quite possibly be easier to have a system for circles in which, rather than using a ms-paint style click and drag method, one would merely define the radius. Allow me to demonstrate with a mock up.

Code: [Select]
.................
.......XOX.......
......XXoXX......
.....XXXoXXX.....
.....XXXOXXX.....
.....XXXXXXX.....
......XXXXX......
.......XXX.......
.................

Where X is the designated area, the middle 0 is the first point where you hit enter, and the outer 0 is the second.

For a Perimeter, It would look something like this

Code: [Select]
.................
.......XOX.......
......XXoXX......
.....XX.o.XX.....
.....X..O..X.....
.....XX...XX.....
......XX.XX......
.......XXX.......
.................

These circles aren't terribly sexy, but It would take too much time on my part to scale them up larger. [/lazy]

For Ellipses, one would simply have to define a secondary radius that would be set to be the same as the first by default. This could be in any arbitrary direction, but for the sake of my poor ascii art skills, I'll merely do it from side to side.

Code: [Select]
..........................
.........XXXXOXXXX........
......XXXXXXXoXXXXXXX.....
.....XXXXXXXXoXXXXXXXX....
.....XXXXXXXXOooooooo0....
.....XXXXXXXXXXXXXXXXX....
......XXXXXXXXXXXXXXX.....
.........XXXXXXXXX........
..........................
Modified for roundness.
« Last Edit: January 06, 2009, 03:45:34 am by Ampersand »
Logged
!!&!!

Draco18s

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #7 on: January 06, 2009, 11:38:55 am »

Center-Radius is likely the best method as most players will know where they want the center and the edge, but likely not the corners (MS Pain style).
Logged

Granite26

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #8 on: January 06, 2009, 01:24:56 pm »

For ellipses, pulling the radius out 2 ways at once (Radius up and Radius left) should be sufficient, unless anyone wants to argue for non-aligned ellipses?  (Technically ellipses are 2 centers and a radius, this works if both are on the same X or Y axis)

Ampersand

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #9 on: January 06, 2009, 02:08:39 pm »

How about this. When you select Designate circle, you go to the center point, and hit enter. Two cursors are then created at the point where the initial central point is. You can then move either one independently of each other, one using ukmh controls the other using the directional buttons. You'd then be able to  simply use either one at personal preference to define a radius, and use the other to stretch it in an arbitrary direction.

This enables the best of both worlds, If you don't care for an ellipse, just done move one of the cursors, and since it's at the center point, the other is ignored.

Also, I am aware of what an ellipse technically is, I just feel it's simpler from an end user standpoint to think of it as a stretched circle.

I don't mean to bring you down or anything. I just feel that, the less restricted the tools, the more interesting they are.
« Last Edit: January 06, 2009, 02:10:30 pm by Ampersand »
Logged
!!&!!

Granite26

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #10 on: January 06, 2009, 02:32:44 pm »

How about this. When you select Designate circle, you go to the center point, and hit enter. Two cursors are then created at the point where the initial central point is. You can then move either one independently of each other, one using ukmh controls the other using the directional buttons. You'd then be able to  simply use either one at personal preference to define a radius, and use the other to stretch it in an arbitrary direction.

This enables the best of both worlds, If you don't care for an ellipse, just done move one of the cursors, and since it's at the center point, the other is ignored.

Also, I am aware of what an ellipse technically is, I just feel it's simpler from an end user standpoint to think of it as a stretched circle.

I don't mean to bring you down or anything. I just feel that, the less restricted the tools, the more interesting they are.

It's only better (allows more functionality) if there's a reason to draw an off-kilter ellipse. (With a primary axis not on the X or Y planes)

Also, How does the second radius work?  At a guess the first radius is the radius of the ellipse at the normal to the second one?

If I pull up 10 squares for the first part, I get a first radius of 10.  If I leave the second alone, I get a circle of radius 10.  What happens if I put the second radius up 10 as well?  Also a circle?  What if I pull it up only 5?  Down 5?  Down 10?  Right 5?  Up 5 and Right 5?  How do you make it clear to the user what will happen?

Have we drawn off kilter ellipses on a grid to make sure it'll work(align correctly)?

Draco18s

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #11 on: January 06, 2009, 02:50:56 pm »

If I pull up 10 squares for the first part, I get a first radius of 10.  If I leave the second alone, I get a circle of radius 10.  What happens if I...

1) put the second radius up 10 as well?  Also a circle?

2) What if I pull it up only 5?

3) Down 5?

4) Down 10?

5) Right 5?

6) Up 5 and Right 5?

1) yes
2) technically if the direction of the radi matter as well as the length, then circle radius 10
3, 4) see #2
5) elipse oblong top to bottom, width half its height (10x20, as the distances are measured from the center).
6) Hard to say.  The radi should be forced to 90 degrees of each other, so I'd be inclined to say that moving either one in a secondary direction moves both to be at 90 degrees (or nearest grid approximate).  Up5Right5 would then make #5, but rotated 45 degrees CCW.
Logged

Random832

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #12 on: January 06, 2009, 02:58:24 pm »

Have we drawn off kilter ellipses on a grid to make sure it'll work(align correctly)?

Drawing a differently aligned ellipse on a grid is moderately more complex than drawing a circle, but it's possible. I'm not sure how easily it can be made to look good (circles and aligned ellipses can look pretty good on some tilesets).
Logged

Granite26

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #13 on: January 06, 2009, 03:11:31 pm »

I guess my point is in #6... if only two directions (values) matter, why force the player to enter more?

Ampersand

  • Bay Watcher
    • View Profile
Re: Designate Line, Perimeter, Area, Ellipse
« Reply #14 on: January 06, 2009, 03:16:18 pm »

Also, How does the second radius work?  At a guess the first radius is the radius of the ellipse at the normal to the second one?
Assume that the starting point described is always the center point. If you move the first cursor up ten, you'd have a circle with a radius of ten squares. However, if you were, for example to take the second cursor, and move it diagonally up and right 20 squares, the point at which the first cursor is placed would not be perpendicular to the normal. Rather, it would simply guarantee that the edge of the ellipse intersects that point.

It might be easier to think of it like this. The points at which the cursors are placed would define an arc of the ellipse,  where the second cursor always defines a vertex. The rest of the ellipse can be extrapolated from that.


I'd post an off kilter mock up, but it looks really skewed without a square character set in the code blocks.
Logged
!!&!!
Pages: [1] 2