Feature Request: Spell AOEs

Hello all! First of all i would like to thank John for their amazing work on shmeppy. It has made combat in my games a breeze, and its awesome to watch it evolve as we use it, only getting better with each iteration that releases. Most of my thoughts for features have already been brought up in the forum but something i haven’t seen mentioned in detail yet is Spell Area of Effects. I’m not sure how difficult it would be to implement but here is my idea.

If memory serves, spell AOEs come in four main shapes, Cone, Line, Square, and Circle. There are alot of spells so I’m sure there are some more niche AOEs I’m missing but i don’t think they’re all that important for this use case. I’m thinking there could be a selector for which AOE is needed that will have a set shape and a scale slider for how big it needs to be based off the squares, once shape and size are properly selected you could simply click(maybe have it on hold rather than a toggle) on the point of origin for the spell to show the shape, and if it is a directional spell(i.e. Lightning bolts line or burning hands cone) you could simply have the shape follow the mouse much like the line in the measure tool works but maybe without the snapping.

I know there are more important things to get working before this would/should even be considered, but i thought it could definitely be a useful tool in the world of shmeppy at some point further down the line and once again thank you John for all your hard work, shmeppy is an amazing tool that i love using as a DM and as a player.

6 Likes

This feels like a natural progression of the ruler measure tool to me, different shapes that match the common arrangements of AOEs beyond circles. If the ruler measure tool were shared across sessions, it would already be a serviceable circle AOE marker.

To work around it currently, I sometimes will draw out edges in the matching shape or use a big token.

1 Like

I like this idea, if it’s not too complex an addition. The cleanest way of incorporating it that first comes to mind would be to have it be part of the measure tool… the measure tool would work the same but with the option to highlight a line, cone, circle, or square for all users when you measure. May still be too complex overall, but that’s my first thought anyway.

1 Like

I feel like there’s some kind of beautiful unification of the measure and laser tool that would somehow satisfy this as well as many other needs. I can’t quite imagine it, but it feels like there ought to be something there. Like I can almost see it around the bend, but it’s just out of focus.

1 Like

What about thinking of it like laser pointer tips? When I was a kid, I had a laser pointer that had a few screw-on tips that could change the single-point beam into a few different shapes, like words or silhouettes. it would also faintly show the center point. Maybe the laser could have different “tips” in sizable circles, cones, squares, lines, etc?

(reference: https://laserpointerforums.com/threads/how-lasers-pointer-shape-tips-work.75435/)

I feel like the interface for the selection of the tip would be necessarily clunky. There’d be a lot of options and dials you’d have to tweak just to use it at all. I’d love a simpler interface.

I think I remember this was originally pitched by @Nick_Louie like a year ago or more, but imagine some kind of temporary drawing-layer. Like the laser but a just bit stickier.

You could draw circles or polygons. And probably only one shape at a time… You could outline a cone real quick and it’d show the relevant measurements for it, or a box, or what have you.

What if, once the measure/laser tool is selected, the number keys change the pointer shape instead of the colors? Though I don’t know if you would want to “overload” the number row shortcuts, since no other shortcut in Shmeppy that I can think of does that.

Maybe a simple (or not so simple, I don’t know the intricacies of Shmeppy code) could be to add a feature that can create a hollow token. Then the game host can resize it for the area of effect, and it can piggy-back off of an existing feature and hopefully keep the code and the feature simple.

2 Likes

I think I remember this was originally pitched by @Nick_Louie like a year ago or more, but imagine some kind of temporary drawing-layer. Like the laser but a just bit stickier.

Here’s my imagining of what that tool would look like. 2 tools, just straight lines and circles. Each shows a dimension next to what you’re drawing. The things that you draw stay around while you can draw other things.

I mostly just thought about drawing cones and circles, since those seem like the most common/useful shapes in 5e? I figured a gif would communicate it better than words, so:

cone-repeat

sphere-repeat

Maybe it could have a free-form mode where there’s no snapping, and a snapping mode. I was imagining that a snapping mode would snap to whole-square sizes for the circle tool. And for the line tool in snapping mode, it would snap to specific lengths and also maybe to specific angles? 90˚, 45˚, maybe 30˚/60˚ (maybe even 15˚/75˚??) too so you can make easy cones.

You’d also need a way to get rid of the lines eventually… dunno if you would want some sort of “erase everything” button or a drag-to-erase in a rectangle or something?

2 Likes

Wow! This is amazing @xymostech , thank you for taking the time to draw out visual aids.

Cones in particular have stumped me. The polygon drawing you animated is what I was imagining as well. But a cone in DnD 5E is defined around the height of the cone: “a cone’s width at a given point along its length is equal to that point’s distance from the point of origin”. This seems hard to allow in a tool that isn’t aware of a specific “cone shape”, and yet I really don’t want to have to have a massive “shape” selection gallery as part of the tool.

Whatever’s rendering the polygon could detect when an equilateral isosceles triangle has been drawn and give the height of it, which would at least tell you the height of the cone you’ve drawn, but wouldn’t help in creating a cone of a given height :thinking:. Also this auto-detection interface sounds terribly undiscoverable :joy:.

You’d also need a way to get rid of the lines eventually… dunno if you would want some sort of “erase everything” button or a drag-to-erase in a rectangle or something?

I bet a timer with a visual aid + control would work pretty nicely. Like it’ll automatically clear after 10 seconds, but you can reset that timer or clear it immediately. Maybe even with an option to revive the drawing if the timer has expired.

This timer approach strikes me as a fairly complex behavior, which is unpleasant. But it’s also fairly clear to me how to make it obvious what it’s doing and how to manipulate it. So as long as the tool feels suitably powerful and similarly simple-to-learn-by-trying, I feel like the complexity will still feel good.

1 Like

“a cone’s width at a given point along its length is equal to that point’s distance from the point of origin”. This seems hard to allow in a tool that isn’t aware of a specific “cone shape”, and yet I really don’t want to have to have a massive “shape” selection gallery as part of the tool.

Ohhh, I guess I’ve been misreading the rules then, I thought a cone was an equilateral triangle (hence why I was including 30/60 degree snapping), but I guess it’s not. :frowning: That definitely makes it harder to sketch out quickly. (Maybe not impossible, with 4 lines, but definitely not intuitive at all). Hrmph.

1 Like

I feel like all of this - cone, line, radius… could be combined into a single pretty straight-forward tool that operates like a mashup of the current measure tool and laser tool. The measure tool already shows a line and a radius, so I personally don’t know that you need much more than what you already have in place for that. I bring up the laser because ideally this spell AOE tool would be visible to all users. I imagine it working where you click/drag to measure, and so long as you’re holding it there, it’s visible to everyone. Once you unclick, it disappears. I personally don’t see why you would need more than that, and it seems by far the cleanest and easiest option.

As for the cone, it just expands in relationship with the circle. So while the current measure tool already shows line and circle, you could have a shaded portion indicating cone at the same time, like this (sorry I can’t do gifs so I’m just throwing this together in autocad to illustrate, but you get the idea):
image

The only thing I don’t love about this solution is that technically the the cone is flat at the end, which doesn’t look as visually appealing on the tool as if it followed the radius of the circle, like this:
image

Either way, I feel like it could unite with the functionality of the measure and laser tools fairly easily.

EDIT: I suppose this only helps for cones of the specific D&D spell AOE of a 53˚ angle. It definitely gets more complicated if you want to incorporate cones with other angles.

8 Likes

What you can do is when measuring as in the above post and you see the circle and line is that as you are holding the left button you can scroll the mouse wheel up and down. Scrolling up creates a thin cone and scrolling more widens the cone, scrolling down shrinks the cone. This happens in 5 degree chunks. When the cone appears a nbr would also appear somewhere within the circle to show the current degree of the cone and disappear if you shrink it down to zero.
The only problem is discoverabilty and people without scroll wheels(in 2020 :open_mouth: )