The Meaning of Life, the Universe, and Everything.
Location:
Toronto
Join Date:
6/11/2012
Posts:
178
Minecraft:
Eunomiac
Xbox:
Eunomiac
Member Details
As something to help measuring, planning and building large structures, some sort of "surveying" tool that visually indicates lengths and shapes would be awesome!
A sort-of example can be found in BuildCraft's Land Mark item. It resembles a blue redstone torch, and can be placed like one. When a redstone signal is applied to it, six harmless blue laser beams fire out in all directions to a distance of exactly 64 blocks. The beams pass through any obstacles so, in addition to helping line things up in general, can also help align things that are separated by a wall (or in different tunnels underground). This isn't the Land Mark's primary purpose, though, so this is the extent of its surveying/planning functionality.
I'd love to have a similar item that focuses and expands on this aspect of Land Marks: instead of merely projecting lines to 64 blocks, this item could be configurable to project/display several things:
beams of various lengths, for more precise measurements of distance. Perhaps even configurable to repeat patterns of colors over a distance (e.g. blue beam for three blocks, then turns red for one block, then back to blue for another three, and so forth), or project two beams that are separated by a given angle for designing triangles and polygons
show all of the blocks contained in a simple shape (e.g. plop this down, configure it, apply redstone, and it indicates all blocks that are within a given radius --- for building circles/arches/spheres; or within a given perimeter/area --- for square/rectangular shapes.
the radius configuration would also be AWESOME for figuring out exactly what blocks are within range of, say, a monster spawner -- or anything based on "pure" distance, which can get a little confusing to figure out in three dimensions
If the item were cheap enough (the Land Mark is a Redstone Torch + Lapis Lazuli), multiple ones could be combined to plan out more complex shapes (e.g. two overlapping circles for a lens shape, triangles combined with rectangles for more complex polygons, etc.).
All in all, I hope this could be a rather simple mod --- the surveying item wouldn't have to do much, since the player could be relied upon to combine multiple ones to plan out anything more complicated than simple shapes, angles and distances.
Rollback Post to RevisionRollBack
Amateur dinosaur hunter and extreme weather enthusiast, whose interests include spoken mime, armchair parkour, tactical gaslighting (for fun or for pay), conspicuous ninjutsu and Schröedinger's pentameter—of which this sentence may or may not be an example.
And a grid would also be usefull. It would be faster than making one by hand with the Builcraft landmark (which cause lag spikes when you have around 40 of them in the same zone). A different recipe than the one for the Buildcraft Landmark would be appreciated.
Anything I can do to sweeten the temptation? I can do any textures (for something this visually straight-forward, at least), or perhaps provide a more fleshed-out plan to cut down on the brain-thinkin'?
Rollback Post to RevisionRollBack
Amateur dinosaur hunter and extreme weather enthusiast, whose interests include spoken mime, armchair parkour, tactical gaslighting (for fun or for pay), conspicuous ninjutsu and Schröedinger's pentameter—of which this sentence may or may not be an example.
The Meaning of Life, the Universe, and Everything.
Location:
Toronto
Join Date:
6/11/2012
Posts:
178
Minecraft:
Eunomiac
Xbox:
Eunomiac
Member Details
Your wish is my command!
We'll call these things "Surveyors" for now. Texture-wise, I'm thinking they'll resemble Torches, and should likely be placeable on walls like Torches. But they'll be visually distinguished from Redstone Torches, as well as BuildCraft's Landmarks and Path Marks. The default color of the beam will be YELLOW, though that will change when defining patterns (more on that below).
Recipe: 1-2 Compass(es) + 1 Redstone Torch. (Don't want them to be TOO cheap, or servers will be spammed with laser beams, but as a building guide they shouldn't be all that expensive either.)
Configuration/Functionality: Right-Clicking on a placed Surveyor will bring up the Surveyor GUI, allowing the selection of one of four modes. Hopefully these modes can be modular, so a prerelease/alpha/test could contain just the easiest one:
[LINE] - for projecting lines in various cardinal directions, of various lengths, and allowing for repeating colored patterns
[ANGLE] - for projecting two lines, separated by a set angle
[GRID] - projects a grid of interlocking beams, covering a configurable area and with a configurable number of grid lines
[SHAPE] - highlights all blocks contained within a certain radius or area, depending on the chosen shape (or perhaps just the boundary)
Once configured, applying a redstone signal will activate the projection.
Now, onto the specifics of configuring the four modes:
[LINE] Mode
This is the default mode. If a player drops a Surveyor and applies a redstone signal without configuring anything, it will project a single beam (1) 16 blocks in length, (2) pointing away from the player when the Surveyor was paced, (3) colored yellow, without a pattern.
Configuration GUI:
Length - Counter: range = 1-64; default = 16 Direction(s) - 6 Buttons: [North], [South], [West], [East], [Up], [Down]; multiple selections are OK (for multiple projected lines); default = single direction facing away from player when Surveyor placed Pattern - Row of 8 Squares: clicking a square cycles it through BLANK - RED - GREEN; default = all BLANK (representing no change to the default YELLOW color)
the pattern is defined up to the last NON-BLANK square (i.e. ignoring trailing blank squares at the end, but treating them as yellow elsewhere).
Examples:
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] = no pattern: line(s) are solid yellow (default setting) [G] [G][G] [R] [R] [ ] [ ] [ ] = 5-block pattern: line(s) are green for three blocks, red for two, repeat (ignoring the three trailing blank squares) [ ] [ ] [ ] [ ] [ ] [ ] [R] [ ] = 7-block pattern: line(s) are yellow for six blocks, red for one, repeat (ignoring the last blank square) [ ] [ ] [G] [R] [ ] [ ] [ ] [R] = full 8-block pattern: 2 yellow, 1 green, 1 red, 3 yellow, 1 red, repeat
[ANGLE] Mode
Similar to [LINE], but with fewer configuration options (angles are complex enough without adding multiple lines or patterns to them). [ANGLE] always projects two lines (and only two)*:
a "main" line, whose direction can be set as in [LINE] mode
an "angled" line, which diverges from the main line at the configured angle
The angle setting could simply cycle through common and/or easy angles (30, 45, 60, 90, etc.), or allow more precision, depending on how easy it is to do this. I'll assume common angles for now.
To avoid directional bias, I think this mode should work like the face of a clock. The Surveyor is in the middle; the main line ALWAYS defines 12:00; and positive angles ALWAYS go clockwise. Basically, if a player is facing in the direction of the main line, the angle they enter will always look the same regardless of the cardinal direction they're facing.
Configuration GUI:
Length - Counter: range = 1-64; default = 16 (applies to both lines) Direction (of the main line) - 6 Buttons: [North], [South], [West], [East], [Up], [Down]; only one selection; default = single direction facing away from player when Surveyor placed Angle - Counter: range = -180 to 180 (in 15 degree steps? 30 degree steps, with an extra for 45 degrees?)
Examples:
Direction NORTH, Angle -45: One line projecting due north (12:00), another angling to the northwest (10:30).
Direction SOUTH, Angle -45: As above, but reversed: One line projecting due south (12:00), another angling to the southeast (10:30). (If we use the FIRST example's clock, the main line projects towards 6:00, and the angled line points to 4:30.)
* As I was editing this, I came up with another possible way to handle angles that might be more intuitive. Instead of projecting only two lines, [ANGLE] mode projects three: a main line, and then two angled lines which diverge on either side of the main line at the set angle (so the main line is exactly between them). So instead of having different settings for a +30 degree line and a -30 degree line, configuring "30 degrees" will project both. This removes the need to worry about clockwise/counterclockwise, or positive/negative.
[GRID] Mode
(I like this idea, but I'm not sure if the benefit (in terms of complexity and server load) is worth it: The pattern options in [LINE] mode, combined with a few extra Surveyors, might make this redundant. That being said, a grid projected by a single Surveyor might be easier on the CPU than mucking one together out of several Surveyors in [LINE] mode.)
Projects a square grid of configurable size, with the Surveyor at one corner. The numbers I'm suggesting are a bit limited, but players can always use multiple Surveyors (and should have to, for big projects), and I didn't want grids propagating for hundreds of blocks. Right now, the maximum is an 8x8 grid with eight blocks to a square, for a 64x64 block area. The default is a 4x4 grid at 4-block increments, which neatly covers one chunk.
I considered defining the grid by area (in blocks) first, and then the number of divisions, but thought that might cause problems with non-integer results (e.g. "a grid covering a 50x50 block area, with 7 divisions to a side" doesn't divide cleanly).
Configuration GUI:
Square Size - Counter: range = 1-8, default = 4
Squares per Side - Counter: range = 1-8, default = 4 Direction - Square of 4 Buttons: [Northwest], [Northeast], [Southwest], [Southeast]; defines the direction the grid propagates, with the Surveyor at one corner; default = facing away from player, biased towards South/East
this GRID mode is fairly limited, in that it's two-dimensional and only on the X/Z axes. 2D grids on the Y-axis (for walls and whatnot) would either involve a lot more Direction buttons, or would have to depend on the orientation of the Surveyer object itself. Fully 3D grids would actually be easier in terms of configuration options, but could get pretty crazy.
[SHAPE] Mode
I ... gotta think on this one a bit more, I keep coming up with ideas that strike me as unnecessarily complicated. The idea is simple enough: Highlight those squares that are contained within a defined shape of defined proportions, with the Surveyor at the center (for circles/arches) or a corner (for squares/rectangles). Problems arise when I try to figure out how to handle Air blocks or shapes along the Y-axis (e.g. arches).
Actually, come to think of it, this mode might only be needed for circles/arches/spheres --- both [LINE] and [GRID] mode can handle squares easily enough, with [ANGLE] mode stepping in to aid in more entertaining polygons.
Example of it All Fitting Together: So You Want to Build the Pentagon.
Decide on a square-shaped area that will contain the Pentagon.
Wikipedia the basics of pentagon geometry to figure out how far along the sides of this square each of your five corners will be (the top vertex will be at the midpoint, while the other four will be close to one-third/two-thirds along, I'd imagine).
Once you know the locations, configure Surveyors in [LINE] mode to indicate these five points.
Finally, use Surveyors on [ANGLE] mode at the locations of your corners to draw out the perimeter, using whatever angles define a proper pentagon shape.
Rollback Post to RevisionRollBack
Amateur dinosaur hunter and extreme weather enthusiast, whose interests include spoken mime, armchair parkour, tactical gaslighting (for fun or for pay), conspicuous ninjutsu and Schröedinger's pentameter—of which this sentence may or may not be an example.
Though I'm still not entirely sure what you mean by the shape mode.
It basically paints out a certain shape on the surrounding terrain, to use as a guide in building something of that shape. I think it'll be most useful with curved shapes, like circles.
Let's say you wanted to know the exact border for a Spawner to activate (I believe it's 16 blocks away in any direction). You could put a Surveyor on the spawner, set the Shape to "Circle" and the radius to "16", and then each block within 16m of the spawner would be indicated in some manner. You could also use this to build a circular wall (like the one around Isengard, which I'm trying to build on my server using a hand-plot on graph paper), or a dome, etc.
I'm not sure what the best method to do this would be, though. A border around the defined shape? A little green dot/flare on the perimeter squares? Or something more complicated, like the "show forced chunks" overlay (not sure if that's a mod feature, though; you may not know what I'm talking about)?
Again, basic idea is to help with the construction of circular shapes, by drawing a circle on the ground in some way.
Rollback Post to RevisionRollBack
Amateur dinosaur hunter and extreme weather enthusiast, whose interests include spoken mime, armchair parkour, tactical gaslighting (for fun or for pay), conspicuous ninjutsu and Schröedinger's pentameter—of which this sentence may or may not be an example.
When I said Grid, I meant something like what the screenshots are going to show, in the spoiler.
The dimensions I mainly use is 3 blocks by 3 blocks to make the inside square and I use the grid to pinpoint the exact location of where the walls are. So, starting from the Surveyor (this name is good, but I believe there could be better, going to let you decide the new name of the item), you have 3 empty block, then a new line. I believe this variable could also be edited to fit the tastes of the user.
There might even be a way to simplify the grid function. Maybe by placing only 3 surveyors (1 at the start of the grid, 1 at the end of the grid and 1 to set the space distance between the lines) and just a redstone torch near the first one could make a grid. That would be for a square grid zone. For a rectangular one, a fourth Surveyour could be used to set the other variable and would be at the end of the other side of the grid.
For the grid GUI, maybe a small offset function that would allow the grid to go past it's boundaries by a certain number of blocks on each side.
Now, for the indication of a circular shape or patern, maybe spawning a dot over each block at the set distance for the circular shape to apear would be the best. Or simpler, there's a circular line that apear around the Surveyor. Add to that a vertical/horizontal/both function to the GUI and you could make spheres. The vertical lines would intersect each other to make a dome shaped crossline over head.
The Meaning of Life, the Universe, and Everything.
Location:
Toronto
Join Date:
6/11/2012
Posts:
178
Minecraft:
Eunomiac
Xbox:
Eunomiac
Member Details
(We're getting into the nitty-gritty here, so please let me know if anything is unclear and I'll whip up a visual to illustrate what I'm trying to describe.)
First things first: Are the first two modes, [LINE] and [ANGLE], sufficiently hashed out? Honestly, a device that handled just those two functions would be incredibly useful, whether or not we figure out a way to easily implement [GRID] and [SHAPE]. They're going to require a little more thought, so I want to make sure we've given dmillerw what he needs for the two "simpler" modes.
In the meantime, if Soriel is willing, we'll continue bouncing ideas back and forth about the other two. The rest of this post is going to be a little confusing, maybe even contradictory, as I work with Soriel to figure out a clear/simple/concise way of implementing [GRID] and [SHAPE]---apologies in advance!
When I said Grid, I meant something like what the screenshots are going to show, in the spoiler
// snip //
The dimensions I mainly use is 3 blocks by 3 blocks to make the inside square and I use the grid to pinpoint the exact location of where the walls are.
Visuals are helpful! That showed me another question to be answered for the [GRID] idea: Whether the grid lines are drawn along the edges of the blocks (as I originally thought), or whether they occupy a block unto themselves. Put another way, a "Square Size = 3, Squares per Side = 2" grid could define either a 6x6 area (with the grid lines traveling along the edges of the blocks, to divide the area into four 3x3 squares) OR a 7x7 area (four 3x3 squares, with the grid lines occupying a whole block to themselves in between). Again, hoping that was clear; I can put together a visual tomorrow if not. Don't be shy to say, I'm not known for my clarity
Both could be useful in different circumstances. But, since the 7x7/"gridlines-occupy-a-block-to-themselves" idea---how Soriel depicts it---could be jury-rigged by a bunch of Surveyors in [LINE] mode, perhaps [GRID] mode could distinguish itself by drawing its grid lines along the edges? Alternatively, the [GRID] mode itself could contain a toggle between the two, though I already feel like we're heaping complexity upon poor dmillerw
There might even be a way to simplify the grid function. Maybe by placing only 3 surveyors (1 at the start of the grid, 1 at the end of the grid and 1 to set the space distance between the lines) and just a redstone torch near the first one could make a grid. That would be for a square grid zone. For a rectangular one, a fourth Surveyour could be used to set the other variable and would be at the end of the other side of the grid.
This is an absolutely brilliant way to configure the grid, definitely. Very intuitive (to me, at least), and far more user-friendly than my cumbersome GUI plan. My only concern is how easy it would be to program: Making grid size depend on a third Surveyor's relationship to two others might be quite complicated, code-wise (ugh, I hate having ideas while lacking the know-how to implement them or judge their cost/benefit! I really must learn Java...).
For the grid GUI, maybe a small offset function that would allow the grid to go past it's boundaries by a certain number of blocks on each side.
In addition to working with your method as you described, this also neatly solves the problem I had with defining area first, if the number of grid lines didn't divide in evenly: Just round up! That "50x50 area, divided into a 7x7 grid" I used as an example of that problem could simply project as a 56x56 area, divided into an 8x8 grid (or even a 49x49 area, divided into 7x7).
Now, for the indication of a circular shape or pattern, maybe spawning a dot over each block at the set distance for the circular shape to appear would be the best.
Agreed: I think this would be the simplest way to do it, both from a programming perspective (not that I'm an expert) and on the user's end. "IF block is between 16.0 and 16.9 meters away from the Surveyor THEN spawn a dot on the top face of the block ELSE don't." This works perfectly for drawing 2D shapes on the X-Z plane. 2D shapes on the X-Y or Y-Z planes (i.e. vertical arches going North-South or East-West) would merely require changing the face on which the dot spawns.
Add to that a vertical/horizontal/both function to the GUI and you could make spheres. The vertical lines would intersect each other to make a dome shaped crossline over head.
The problem with spheres is defining all of the blocks involved in the dome. Drawing a dot on all of the air blocks comprising a sphere/dome shape might get a little insane. This might be better left to the user, as long as the Surveyor provides simple circles---i.e., if you want to make a dome, start by drawing a 1-block-high circle with a radius of 16 blocks, then move up a level and draw another one with radius of 15, then go up one and draw another at radius 14, etc.
Rollback Post to RevisionRollBack
Amateur dinosaur hunter and extreme weather enthusiast, whose interests include spoken mime, armchair parkour, tactical gaslighting (for fun or for pay), conspicuous ninjutsu and Schröedinger's pentameter—of which this sentence may or may not be an example.
@Eunomiac
Glad I was able to provide more than enough help. For the gird, I know how this can be a pain to do. I'm a game dungeon recreator/Dungeon maker on a really small part-time shedule (2 days a week, more precise to say the weekends) due to my soon to start work.
Here's one map example of what I did (I love making the blueprints before making it in Minecraft). Also providing the legend for you to understand it better.
The black lines are walls and the white squares stands for 3x3 blocks zones, the grey lines are there to define the space in a better way, allowing me to get the good proportions out.
Here's one example of my work on a dungeon floor.
That's what was done after using a grid patern to get the walls right. This floor is from a dungeon I'm recreating and having a simple 3-4 Surveyors would have made it easier and would have reduced most of the lag (since the landmarks of Buildcraft cause lag when you use 28 of them all activated by redstone, lot's of useless lines that are vertical and extra length of lines that eat the needed ram, glad I use optifine here).
So, making buildings with that grid would allow someone to make big building with no wierd room and would allow you to get the size and space you want. That's why I suggested this function. Making life easier to desing homes and towers to the everyday Minecraftian. That last sentence sounds really good, you can use it to advertise.
A sort-of example can be found in BuildCraft's Land Mark item. It resembles a blue redstone torch, and can be placed like one. When a redstone signal is applied to it, six harmless blue laser beams fire out in all directions to a distance of exactly 64 blocks. The beams pass through any obstacles so, in addition to helping line things up in general, can also help align things that are separated by a wall (or in different tunnels underground). This isn't the Land Mark's primary purpose, though, so this is the extent of its surveying/planning functionality.
I'd love to have a similar item that focuses and expands on this aspect of Land Marks: instead of merely projecting lines to 64 blocks, this item could be configurable to project/display several things:
All in all, I hope this could be a rather simple mod --- the surveying item wouldn't have to do much, since the player could be relied upon to combine multiple ones to plan out anything more complicated than simple shapes, angles and distances.
Anything I can do to sweeten the temptation? I can do any textures (for something this visually straight-forward, at least), or perhaps provide a more fleshed-out plan to cut down on the brain-thinkin'?
We'll call these things "Surveyors" for now. Texture-wise, I'm thinking they'll resemble Torches, and should likely be placeable on walls like Torches. But they'll be visually distinguished from Redstone Torches, as well as BuildCraft's Landmarks and Path Marks. The default color of the beam will be YELLOW, though that will change when defining patterns (more on that below).
Recipe: 1-2 Compass(es) + 1 Redstone Torch. (Don't want them to be TOO cheap, or servers will be spammed with laser beams, but as a building guide they shouldn't be all that expensive either.)
Configuration/Functionality: Right-Clicking on a placed Surveyor will bring up the Surveyor GUI, allowing the selection of one of four modes. Hopefully these modes can be modular, so a prerelease/alpha/test could contain just the easiest one:
Now, onto the specifics of configuring the four modes:
[LINE] Mode
This is the default mode. If a player drops a Surveyor and applies a redstone signal without configuring anything, it will project a single beam (1) 16 blocks in length, (2) pointing away from the player when the Surveyor was paced, (3) colored yellow, without a pattern.
Configuration GUI:
Direction(s) - 6 Buttons: [North], [South], [West], [East], [Up], [Down]; multiple selections are OK (for multiple projected lines); default = single direction facing away from player when Surveyor placed
Pattern - Row of 8 Squares: clicking a square cycles it through BLANK - RED - GREEN; default = all BLANK (representing no change to the default YELLOW color)
[G] [G] [G] [R] [R] [ ] [ ] [ ] = 5-block pattern: line(s) are green for three blocks, red for two, repeat (ignoring the three trailing blank squares)
[ ] [ ] [ ] [ ] [ ] [ ] [R] [ ] = 7-block pattern: line(s) are yellow for six blocks, red for one, repeat (ignoring the last blank square)
[ ] [ ] [G] [R] [ ] [ ] [ ] [R] = full 8-block pattern: 2 yellow, 1 green, 1 red, 3 yellow, 1 red, repeat
[ANGLE] Mode
Similar to [LINE], but with fewer configuration options (angles are complex enough without adding multiple lines or patterns to them). [ANGLE] always projects two lines (and only two)*:
To avoid directional bias, I think this mode should work like the face of a clock. The Surveyor is in the middle; the main line ALWAYS defines 12:00; and positive angles ALWAYS go clockwise. Basically, if a player is facing in the direction of the main line, the angle they enter will always look the same regardless of the cardinal direction they're facing.
Configuration GUI:
Direction (of the main line) - 6 Buttons: [North], [South], [West], [East], [Up], [Down]; only one selection; default = single direction facing away from player when Surveyor placed
Angle - Counter: range = -180 to 180 (in 15 degree steps? 30 degree steps, with an extra for 45 degrees?)
[GRID] Mode
Projects a square grid of configurable size, with the Surveyor at one corner. The numbers I'm suggesting are a bit limited, but players can always use multiple Surveyors (and should have to, for big projects), and I didn't want grids propagating for hundreds of blocks. Right now, the maximum is an 8x8 grid with eight blocks to a square, for a 64x64 block area. The default is a 4x4 grid at 4-block increments, which neatly covers one chunk.
I considered defining the grid by area (in blocks) first, and then the number of divisions, but thought that might cause problems with non-integer results (e.g. "a grid covering a 50x50 block area, with 7 divisions to a side" doesn't divide cleanly).
Configuration GUI:
Direction - Square of 4 Buttons: [Northwest], [Northeast], [Southwest], [Southeast]; defines the direction the grid propagates, with the Surveyor at one corner; default = facing away from player, biased towards South/East
I ... gotta think on this one a bit more, I keep coming up with ideas that strike me as unnecessarily complicated. The idea is simple enough: Highlight those squares that are contained within a defined shape of defined proportions, with the Surveyor at the center (for circles/arches) or a corner (for squares/rectangles). Problems arise when I try to figure out how to handle Air blocks or shapes along the Y-axis (e.g. arches).
Actually, come to think of it, this mode might only be needed for circles/arches/spheres --- both [LINE] and [GRID] mode can handle squares easily enough, with [ANGLE] mode stepping in to aid in more entertaining polygons.
Example of it All Fitting Together: So You Want to Build the Pentagon.
It basically paints out a certain shape on the surrounding terrain, to use as a guide in building something of that shape. I think it'll be most useful with curved shapes, like circles.
Let's say you wanted to know the exact border for a Spawner to activate (I believe it's 16 blocks away in any direction). You could put a Surveyor on the spawner, set the Shape to "Circle" and the radius to "16", and then each block within 16m of the spawner would be indicated in some manner. You could also use this to build a circular wall (like the one around Isengard, which I'm trying to build on my server using a hand-plot on graph paper), or a dome, etc.
I'm not sure what the best method to do this would be, though. A border around the defined shape? A little green dot/flare on the perimeter squares? Or something more complicated, like the "show forced chunks" overlay (not sure if that's a mod feature, though; you may not know what I'm talking about)?
Again, basic idea is to help with the construction of circular shapes, by drawing a circle on the ground in some way.
The dimensions I mainly use is 3 blocks by 3 blocks to make the inside square and I use the grid to pinpoint the exact location of where the walls are. So, starting from the Surveyor (this name is good, but I believe there could be better, going to let you decide the new name of the item), you have 3 empty block, then a new line. I believe this variable could also be edited to fit the tastes of the user.
There might even be a way to simplify the grid function. Maybe by placing only 3 surveyors (1 at the start of the grid, 1 at the end of the grid and 1 to set the space distance between the lines) and just a redstone torch near the first one could make a grid. That would be for a square grid zone. For a rectangular one, a fourth Surveyour could be used to set the other variable and would be at the end of the other side of the grid.
For the grid GUI, maybe a small offset function that would allow the grid to go past it's boundaries by a certain number of blocks on each side.
Now, for the indication of a circular shape or patern, maybe spawning a dot over each block at the set distance for the circular shape to apear would be the best. Or simpler, there's a circular line that apear around the Surveyor. Add to that a vertical/horizontal/both function to the GUI and you could make spheres. The vertical lines would intersect each other to make a dome shaped crossline over head.
First things first: Are the first two modes, [LINE] and [ANGLE], sufficiently hashed out? Honestly, a device that handled just those two functions would be incredibly useful, whether or not we figure out a way to easily implement [GRID] and [SHAPE]. They're going to require a little more thought, so I want to make sure we've given dmillerw what he needs for the two "simpler" modes.
In the meantime, if Soriel is willing, we'll continue bouncing ideas back and forth about the other two. The rest of this post is going to be a little confusing, maybe even contradictory, as I work with Soriel to figure out a clear/simple/concise way of implementing [GRID] and [SHAPE]---apologies in advance!
Visuals are helpful! That showed me another question to be answered for the [GRID] idea: Whether the grid lines are drawn along the edges of the blocks (as I originally thought), or whether they occupy a block unto themselves. Put another way, a "Square Size = 3, Squares per Side = 2" grid could define either a 6x6 area (with the grid lines traveling along the edges of the blocks, to divide the area into four 3x3 squares) OR a 7x7 area (four 3x3 squares, with the grid lines occupying a whole block to themselves in between). Again, hoping that was clear; I can put together a visual tomorrow if not. Don't be shy to say, I'm not known for my clarity
Both could be useful in different circumstances. But, since the 7x7/"gridlines-occupy-a-block-to-themselves" idea---how Soriel depicts it---could be jury-rigged by a bunch of Surveyors in [LINE] mode, perhaps [GRID] mode could distinguish itself by drawing its grid lines along the edges? Alternatively, the [GRID] mode itself could contain a toggle between the two, though I already feel like we're heaping complexity upon poor dmillerw
This is an absolutely brilliant way to configure the grid, definitely. Very intuitive (to me, at least), and far more user-friendly than my cumbersome GUI plan. My only concern is how easy it would be to program: Making grid size depend on a third Surveyor's relationship to two others might be quite complicated, code-wise (ugh, I hate having ideas while lacking the know-how to implement them or judge their cost/benefit! I really must learn Java...).
In addition to working with your method as you described, this also neatly solves the problem I had with defining area first, if the number of grid lines didn't divide in evenly: Just round up! That "50x50 area, divided into a 7x7 grid" I used as an example of that problem could simply project as a 56x56 area, divided into an 8x8 grid (or even a 49x49 area, divided into 7x7).
Agreed: I think this would be the simplest way to do it, both from a programming perspective (not that I'm an expert) and on the user's end. "IF block is between 16.0 and 16.9 meters away from the Surveyor THEN spawn a dot on the top face of the block ELSE don't." This works perfectly for drawing 2D shapes on the X-Z plane. 2D shapes on the X-Y or Y-Z planes (i.e. vertical arches going North-South or East-West) would merely require changing the face on which the dot spawns.
The problem with spheres is defining all of the blocks involved in the dome. Drawing a dot on all of the air blocks comprising a sphere/dome shape might get a little insane. This might be better left to the user, as long as the Surveyor provides simple circles---i.e., if you want to make a dome, start by drawing a 1-block-high circle with a radius of 16 blocks, then move up a level and draw another one with radius of 15, then go up one and draw another at radius 14, etc.
I'll start work on this tomorrow.
Glad I was able to provide more than enough help. For the gird, I know how this can be a pain to do. I'm a game dungeon recreator/Dungeon maker on a really small part-time shedule (2 days a week, more precise to say the weekends) due to my soon to start work.
Here's one map example of what I did (I love making the blueprints before making it in Minecraft). Also providing the legend for you to understand it better.
The black lines are walls and the white squares stands for 3x3 blocks zones, the grey lines are there to define the space in a better way, allowing me to get the good proportions out.
Here's one example of my work on a dungeon floor.
So, making buildings with that grid would allow someone to make big building with no wierd room and would allow you to get the size and space you want. That's why I suggested this function. Making life easier to desing homes and towers to the everyday Minecraftian. That last sentence sounds really good, you can use it to advertise.
~~~~~~~~
Fall into the hands of sorrow
Drawn by the darkest bay
Walk into the pit of silence
I am the one calling your name
~~~~~~~~