Saturday, February 7, 2015

Quantifying Blast Scattering: The Odyssey

Things went to hell this week, as everyone in the family (except me) either has the stomach flu, or bronchitis. Oh, and I have to move my parents from their apartment to assisted living at the same time. Joy.

Less annoyingly, I've also been busy attempting to quantify the average number of models hit by large and small blast templates. After trying some (very time consuming) manual methods, I finally broke down and wrote a script to do the hit testing automatically in a 3D graphics program. Which isn't a whole lot less time consuming to set up and run, but is at least far more accurate.

Attempt #1: The Completely Manual Method

First I tried to lay out various patterns of empty 25mm, 30mm, 40mm, and 60mm bases on the games table, physically measure the scatter, and write down a count of how many models got hit.

As you might imagine, this got old very quick, and the results were all over the board.

The averages were so wacky that hits would start high, lower a bit with a scatter, then go back up again with the next scatter. You can especially see this with the blue line in the top (small blast) chart. I manually fit a curve that smoothed the line out, but I really couldn't trust the results at all. Nor could I get the job done quickly enough this way.

Attempt #2: The Digital Manual Method

My next bright idea was to transfer this operation from the tabletop to a 2D graphics program. Where I could (in theory) be much more accurate in measuring my angles, setting up scatter templates that always appeared in the same place, etc.

I had come up with the bright idea that if the model layouts were symmetrical, then I only needed to measure and count hits at 0º and 30º. I could then multiply both by 4, divide the whole shebang by 8, and I'd have my averages.

So I took a couple of days to set up everything in Photoshop and started counting.... and counting... and (yawn) counting...

And... My results were still all over the place.

So I changed my setup to measure at 0º, 22.5º, and 45º. Hoping that the extra granularity would help smooth out those curves. Since I was having to keep the model formations symmetrical, I was only doing unit counts of 4, 9, 16, 25, 36, 49, and 64 models. Figuring (fuzzily) that I'd divide these down to get the numbers for units of 2-10 models.

Now, if you're measuring 3 angles, with 9 scatter distances each, of 7 unit sizes, that's 945 measurements that you have to make to fill the above chart. Which was for only ONE base size. By the time I was done with this I was fed up with counting little circles. The curves were smoothing out, but it was obvious that I needed a lot more granularity than any manual method could provide.

I also noticed another issue that was causing those dips at the beginning of some curves:

Small Blast on 9 models gives 9 hits.

Small Blast on 16 models gives only 4 hits?
Ok, so I needed to be able to do what a player would actually do in a game, which is to place the center template such that a direct hit can get most models possible. But doing that would require a full circle of at least 16 hit-tests per "ring" of scatter, because the formation would be off-center to the attack. Meaning that every formation would require 144 tests for each of the large and small blast templates. Ug!

And Finally: The Semi-Manual Scripted Method

A direct hit will get 3 models now, not just one.

So I finally did what I'd been avoiding having to do, and spent a day and a half scripting a solution in 3D Studio Max. That way, I could ramp up the granularity to a ridiculously precise 360 tests (1 per degree) for every inch of scatter (or 3,240 per formation). I would also be able to set the position of the center templates for each formation so that the number of models hit on a non-scattering shot was maximized.

The output from just the 13-model unit test.
I still have to place the models by hand for each test, but the script spits out a list of comma-separated values that I can just import into my Excel spreadsheet. Once the script was working it took about an hour and a half to go through all the tests for the 25mm base size. Which given the granularity, is pretty darn fast.

The weighted averages for each blast scatter distance and unit size up to 16 models.
For each unit size, I then calculated an average weighted toward a 1" separation of minis.
The final 25mm data as curves.
The final curves (above) are much smoother than those first tests.

Next up, after I deal with Mom & Dad's move, will be a full series test on 30mm bases, and then a reduced series for the 40mm and 60mm bases. Probably 9 and 4 models maximum respectively.

Thoughts? (Aside from questions about my sanity?)

No comments:

Post a Comment

Popular Posts