31 August 2009

The Liberation of Donegal

There is a thread up at ClassicBattletech.com about a Battletech gaming event here in Milwaukee in October.

October Milwaukee Gaming 2009
October 3rd and 4th 2009
Clarion Hotel at 5311 S Howell Ave Milwaukee WI 53207
The Liberation of Donegal

Group-WOf particular note: this event is hosted by Group W, a gaming group with a long history, but that has been silent for some years. I tried to contact some of their members some years ago with no luck. Time to try again. I will follow up on this and post what I find out.
GBR Giant Battling Robots Favicon

27 August 2009

Playing Fair with the Chi-Square Test of Homogeneity

Over at The Scrapyard Armory Ellis/Saxywolf has written a great post about testing to see if dice are fair. This is similar my Water Test I wrote back in September (my second post!), but quite frankly, Ellis has taken it step further, done a lot of hard work, and done a far better job with it than I did. Well done Ellis!

Go read Ellis' Fair Dice post and the comments, then stop back, because I've got a bit more to add.

In response to that post I created an Excel spreadsheet to do a Chi-Squared test of Homogeneity. That's statisticalese for a test of equal proportions. In this case, to test the null hypothesis that the probability of rolling each number/side/pips on all sides of a die is equal to 1/6, versus the alternative hypothesis that those probabilities are not equal 1/6. Alternately, or more formally:

H0: pi = 1/6, for all i = 1,2,3,4,5,6
HA: At least one pi ~= 1/6, (read "~=" as "not equal")

Here is a screen-cap of the spreadsheet:

fair dice spreadsheet Chi-square test homogeneity

To use the spreadsheet, roll your die a bunch of times and tally up the number of times each side is rolled. You will need to do a minimum of 30 rolls for the result to valid, and unless the die you are rolling is obviously unbalanced, several hundred rolls before you can reliably detect a small imbalance. Enter your counts in the appropriate cells in the spreadsheet, and then look up the p-value.

A p-value is a standard way of interpreting the results of a statistical test (computers are good at calculating them, but in the old days we had to use published tables of numbers to interpret results). The p-value is the probability of the counts you entered in the spreadsheet or any more extreme results that might have occurred IF the assumption of a die is fair (probability of each side is 1/6) really is true.

If the p-value is small, generally less than 0.05 (called the type I error rate), this indicates a result that is unlikely to occur in a fair die. This error rate is a choice about how the test will be interpreted:

1) If the die is fair the p-value is random and will be less than 0.05 about 5% of the time simply by random chance (error rate again).

2) If the die is unbalanced, and the assumption of a fair die is false, the p-value will be less than 0.05 MORE than 5% of the time. The more unfair the die, the more likely the p-value will be less than 0.05. Exactly how likely might be is a complex calculation, but the more time the die is rolled, the more likely you will correctly detect an unfair die (called statistical "power"), and you will be able to detect smaller degrees of "unfairness".

3) A word of caution: a smaller p-value does not necessarily indicate greater "unfairness", and you should not compare p-values between dice to determine which is more fair. This is because the p-values are partly random, so it is not meaningful to compare them that way. Instead, try looking at the ratio of proportions for the same side on two dice (This forms a type of statistic called an odds-ratio).

Back to Ellis' experiment for a moment; Ellis rolled each die 1000 times each (a lot of work!), and should be able to detect fairly small imbalance in the die. An educated guess: His test can detect imbalance as small as 0.02 to 0.03 between any two sides of a die rolled on a table-top (Update: this should be accurate to +/- 0.023 with 95% confidence). Further, we think rolling the die in water amplifies any imbalance in a die, and so gives greater power to detect unfairness. It's possible that Ellis' water test is detecting imbalance that are so small (0.001-0.005?) that we might not care (ie: very close to perfect is good enough).

It think there might be another post on this topic, it's now on my list of things to do. If you are curious now, try a search on "physics dice imbalance".

[UPDATE 1/5/2010]
As requested in the comments, I have updated the spreadsheet to handle results for other dice up to d20.

GBR Giant Battling Robots Favicon

25 August 2009

19 August 2009

GENCON Tales II

Gencon BattletechSpecial today: a guest-post by Sam Snell - "Wasp" on the Battletech forums (That's Sam on the left at GENCON 2007). This is his account of the Battletech events he played in this year. This was originally written for our mutual friend Leonard, who had to miss GENCON this year on account of National Guard duty in Afghanistan. We miss you Leonard, and thanks for your service!
So with no further ado, here's Sam ...


Here is what I wrote up on the CBT forums from what I played in.
The Canon event was based on the Battle of Dieron where the WoB have to fight off both the Dracs and Ghost Bears. Day 1 the Bears were fighting the WoB in a city on one table and on the other the Dracs had to invade a WoB base and have some DEST troopers stop artillery which was firing at the city board. The good news is that the Dracs got the DEST troopers in and stopped the artillery, unfortunately, they took way too much damage and it was a WoB victory. On the GB table the WoB artillery took out some WoB friends and the GBs ran the board for a GB victory. That unfortunately would be the best the good guys would do.

On the second day the Dracs and the GB had to get into a WoB base and take control of it. Each table was half of the base. It was a blood bath on both tables. From the reinforced position in the base the WoB was able to take on all comers with only leaving to take out stragglers. The problem was that the Dracs were also supposed to attack the GB as well as the WoB. The Dracs were wiped out. Another resounding WoB victory on both tables.

The third day the WoB had to run for their dropships (which were in a crater) to get off planet with the Ghostbears chasing them. The first half of the day was chasing the WoBs to edge of the crater. The second half of the day was chasing the WoB from the edge of the crater to the dropships. On one table the dropships left with only one or two mechs and on the other table they lifted with a few more mechs than that. The idea was to save the dropships (or so I believe since I was a GB). Since the DS got away and the GB took some much damage, it was a WoB win.

The 25th Trial of Bloodright was a little disappointing for me, but it was my choice of mech that led to that. I tried to go lighter and faster and my Shadowcat could not stand up to the power of a NightGyr. Well, that and I couldn't hit with my heavy large. Overall, however, it looked like most people enjoyed themselves and had fun. There was definitely interest generated by
having Camospec painted minis as prizes.

I had an absolute blast with the open. The choices available to the players in the first round (the player made force, of which only 4 people took advantage) were 3025 mechs. In my match I had a Crusader and P-hawk vs a Warhammer and P-hawk on one standard battletech map. It was a tough fight, my opponent concentrated on my crusader and finially put it down in the last round. Since my opponent's p-hawk was closest I concentrated fire on it, but couldn't bring it down. I did manage to have my p-hawk behind the Warhammer for most of the time and ran it up to 17+ heat. On the final turn I was able to blow the SRM ammo.

The second round were pairings chosen for the players. It was a clan light mech challenge and I use a Jenner IIC 3 and 4 versus a Koshi and Piranha on one map. In a very close fight I killed the piranha, got one Jenner legged and lost a torso and had no weapons in the other Jenner. I ended up being able to kick the Koshi dead.

The final round was pure brutality in IS assault mechs on one map. I had the Ultra 20 Victor and AC20 Sunder variant versus the Awesome9Q and Longbow NAIS with precision ammo. By the third turn it was down to range 2 or less the Victor received most of the fire and was knocked down and then had the head stomped in by the Awesome. In the same round the Longbow took 2 SRMs and got KO'd and fell taking a third hit. The next round the sunder legged the awesome and moved around next him so the Awesome couldn't hit him. The Longbow rolled and woke up stood and then managed to get 2 LAC hits on the head criting the cockpit and SRM 4. A brutal fight, but lots of fun. As it was mentioned in the Canon Games, lots of "Top Shelf Killing." I am sorry I don't remember the name of the Open winner.
GBR Giant Battling Robots Favicon

18 August 2009

Stochastic Duels: Part 1

Picking up where I left off (more or less) in the introduction, consider the following simple game -

Some definitions:
This game is played in turns. Players firing at each other once each turn with a fixed probability of hitting the other. The game is over when one (or both) players are hit. If neither player has been hit, the game continues for another turn.

A and B are shorthand for the first and second players,
pA = probability player A will hit,
pB = probability player B will hit,
pA and pB are between 0 and 1.

qA = 1 – pA = probability player A will miss,
qB = 1 – pB = probability player B will miss,
and Q = qA*qB = probability both players miss (which I will need later).

And a bit of statistical probability notation; read “P[event | condition]” as “The probability of the event given the condition”, and "|" is read as "given" (but there might not always be a condition.) So “P[player A wins | game lasts one turn]” should be read as “The probability that player A wins given the game lasts one turn”. I’m going to work out P[player A wins], which is the overall probability of player A winning in any number of turns. Later on I'll put pA and pB inside the brackets so the descriptions are not so wordy.

On the first turn of play there are four possible outcomes, and probabilities of each outcome:
1) Player A hits and player B misses, (probability =) pA*qB
2) Player A misses and player B hits, qA*pB
3) Player A hits and player B hits, pA*pB (a draw)
4) Both players miss, qA*qB = Q.

Using the notation described above, outcome (1) is
P[player A wins | 1 turn] = pA*qB.
If neither player hits, outcome 4) above, the game goes on for another round.
Turn 2 looks similar to round 1, but the probably of no hits (Q) in round one is carried forward:

1) Player A hits and player B misses, (probability =) Q*pA*qB
2) Player A misses and player B hits, Q*qA*pB
3) Player A hits and player B hits, Q*pA*pB
4) Both players miss, Q*qA*qB = Q*Q = Q^2 (Q squared).

I will focus on the probability of player A winning (outcome 1) so this doesn’t get too tedious. If a game with one or two turns the probability of player A winning is the probability of winning in the first round plus the probability of winning in the second turn (if there is a second turn), which is:

P[ player A wins | 2 turns] = pA*qB + Q*pA*qB

Now if we carry this out to three turns, the probability of player A winning is:

P[ player A wins | 3 turns] = pA*qB + Q*pA*qB + (Q^2)*pA*qB

And four turns

P[ player A wins | 4 turns] = pA*qB + Q* pA*qB + (Q^2)* pA*qB + (Q^3)*pA*qB

If you see the pattern here, each turn a new tern is added on with Q to-the-power-of-X where X increase by one each term. And now the BIG leap: N turns ...

P[ player A wins | N turns] = pA*qB + Q*pA*qB + (Q^2)*pA*qB + Q^3)*pA*qB + … + (Q^N)*pA*qB

Where the ellipsis “…” assumes that I have filled in all the terms between 4 turns and N turns. With a bit of algebra this becomes

P[ player A wins | N turns] = pA*qB*(1 + Q + Q^2 + Q^3 + … + Q^N)

And if have studied calculus you may recognize the sum of terms in parentheses as a geometric series. If you don’t, that’s OK too; the point is there is a solution for this sum in a simple formula. As N gets larger the sum gets very close to 1/(1-Q), and as N goes to infinity the sum is exactly equal to 1/(1-Q). Therefore:

P[ player A wins ] = pA*qB/(1-Q)

And in a similar way we can calculate the probability of the other outcomes, which are

P[ player B wins ] = qA*pB/(1-Q) and
P[ “Draw” ] = pA*pB/(1-Q)

Examples:

P[ player A wins | pA=0.4 , pB=0.3 ] = 0.4828
P[ player B wins | pA=0.4 , pB=0.3 ] = 0.3103
P[ “Draw” | pA=0.4 , pB=0.3 ] = 0.2069

and the three probabilities should total to 1.o (maybe some rounding error).

P[ player A wins | pA=0.6 , pB=0.6 ] = 0.2857
P[ player B wins | pA=0.6 , pB=0.6 ] = 0.2857
P[ “Draw” | pA=0.6 , pB=0.6 ] = 0.4286

when pA = pB the probability of a draw gets large as pA and pB get bigger.

P[ player A wins | pA=0.1 , pB=0.05 ] = 0.5028
P[ player B wins | pA=0.1 , pB=0.05 ] = 0.4475
P[ “Draw” | pA=0.1 , pB=0.05 ] = 0.0497

I created a simple Google Spreadsheet which you can be use to try this for yourself.:

One more tidbit: The odds ratio that player A will win is:
P[ player A wins ] / P[ player B wins ].

In the next part I will consider the situation where one player has a range advantage, but the other moves faster.

[Update: I changed notation in an effort to improve readability, Players 1 and 2 are now A and B, p1 and p2 are now pA and pB, etc.]
GBR Giant Battling Robots Favicon

17 August 2009

GENCON Tales

GENCON 2009 Scrapyard Armory BattletechOver at The Scrapyard Armory you will find some nice summaries of Battletech events and more from GENCON 2009 (posts 1 2 3 4 5 6 7). Of course, Brian ALWAYS posts good event summaries, and these are no exception.



GENCON 2009 Scrapyard Armory BattletechI wound also like to officially thank Brian for linking to this blog, as The Scrapyard Armory is now the top referrer here, finally surpassing the Blog-of-Note referrals dating back to December 2008. Hopefully I can return the favor by sending some of you his way.

Stochastic Duels: Introduction

Blog ... Math ... Statistics ... Games ... check ... I haven’t done much of that lately, and it’s time I got back on track. There is a topic I've been sitting on for a while now, that of Stochastic Duels. I started writing the post, but the post keeps getting longer and longer; First to the point where I needed to break it up into two parts, then I realized that still wasn't enough and I ought to do it as a series.
So a series it is, with this post serving as the introduction, table of contents, summary of topics, and anything else that occurs to me along the way. This post will change as I update it this the latest installments, and as I figure out exactly where I am going with this.

Stochastic Duels: Introduction

Duels Stochastic Random[image GameSignal, where they got it from I have no idea]

Definitions and History: A stochastic process is a series of events that are at least partly random. There may also be a predictable part which is useful to understand, but primarily interested in the random part and how it applies to games. I took this from a paper I found titled "The One-on-One Stochastic Duel: Parts I and II", by C.J.Ancker, Jr. (1979) -

The stochastic duel was first formulated and analyzed by G. Trevor Williams and the author [C. J. Ancker, Jr.], in a paper presented on 1U May 1966 at the 4-th Annual ORSA meeting in Washington, D.C. (1)
I don't have access to the 1966 paper, but I've been able to find a number of Ancker's papers from the 70's and 80's. Some of this is my source material, and I'll be working parts out for myself as well.
The term Stochastic Duel was first used by Ancker and Williams to describe a simplified combat model, where two opponents repeatedly (and simultaneously) fire at each other until one (or both) of them is hit. In this very simple sort of game it’s not too hard to work out the math describing it. The game is not intended to be realistic, but rather to demonstrate the principles involved. Once a basic understanding is established, the game can be made much more complex and realistic.

Contents:

Introduction (your fingers are soaking in it now).

Part 1: A simple stochastic duel.
The simplest form of this game considers only the probabilities of hitting the opponent, and can be represented as a geometric series.
Related topics: Dueling for total damage.

Part 2: A stochastic duel with differing ranges.
How to represent the advantage of unequal ranges.
Related topics: Lanchester's Laws

Part 3: A stochastic duel with hit probabilities dependent on range.
Related topics: Death March, movement paths,

Part 4: Range and movement in stochastic duels.


To be determined: To complete my purpose, my will need to extend these simple "shoot until you hit" games to "shoot and accumulate damage" games such as Battletech and Squadron Strike. That should be good for a few more parts in the series (I think), and I've already written about some of this before.

I should have Part 1 up tomorrow.
GBR Giant Battling Robots Favicon

12 August 2009

Bloggers Beware Patternspace.net

I just received the following email message, and a little searching reveals it is likely a SPAMMER. (caution: righteously angry blogger at that link)

Greetings,
My name is Harrison Barrow and I represent an online gaming website.
Currently, I am doing promotional work, and as such, I am very interested
in the prospect of placing a link onto Giant Battling Robots. Let me know
if this sounds appealing to you. I would be more than willing to
compensate you for your time. If you have any questions, please don't
hesitate to ask. I look forward to hearing back from you.

Best,
Harrison
The answer though, is "no". I don't want to advertise for anything other than my own efforts and those of the friends and game companies I have some connection with. Thank you.

[UPDATE - April 21, 2010]
Commenter SpastikMooss Has provided some of the basic information I was looking for; that Patternspace seems to be a legitimate advertiser, and they run adds for online poker. I withdraw my accusations that they are affiliated with canned meat products.
GBR Giant Battling Robots Favicon

11 August 2009

Prototype Miniatures Carrier

PhotonCutter Studios Miniatures RackI had mentioned before that I was working with my friend Tom of PhotonCutter Studios to produce my design for a custom miniatures carrier. The prototype is ready, and Tom will have it at GENCON, along with some of my minis to help show it off.

I like to modify miniatures; at one point I had a goal to modify or reposed ALL of my Battletech minis in some way, but have since backed off of that for practical reasons. The Perseus and Thug minis shown here are all reposes, and (IMO) some of my best work.

PhotonCutter Studios Miniatures RacOne of the early difficulties I had was how to carry my minis around without damaging them. I tried foam of course, but that still tended to leave a lot of rattle room, and tended to break some of my more delicate modifications. Packing the foam more tighly around them was problematic, because that also put more pressure on delicate parts.

PhotonCutter Studios Miniatures RacFoam also tended to rub the paint, and over time lead to a lot of touch up work on minis that had hardly been used. My solution was to construct my own way to store and carry minis - a home build rack with padded dowels and springs that clamps down on the base of the mini, leaving the miniature itself untouched.
The first versions were made entirely out of hobby wood and plywood, with EPDM weather stripping providing the crucial "grip".

PhotonCutter Studios Miniatures RacYou can see a nice picture of the early versions here, taken at ORIGINS 2005. And yes, it holds the minis in securely at any angle, not just upright, and even with vigorous shaking and moderate shocks. **These are not gravity proof** If dropped sufficiently hard, a lot of shock goes to the mini and it can pop them out of the rack. Given an equal amount of abuse, I think miniatures packed in foam are likely to shift around a lot too.

PhotonCutter Studios Miniatures Rac Tom created this acrylic version from my plans and my "revised" wooden prototype. Tom also came up with a neat way to "close the box" with an acrylic cover. It looks really good, and makes a very attractive display as well as functional protection for storing and transporting miniature figures. Each rack is about 12 inches long, ~4 wide and ~3 high; I routinely carry 6 racks around in a carry-on luggage bag, along with other supplies for the weekly Battletech session.

I realize this isn't for everyone; foam cells in a tacklebox work perfectly well for most people. I've already had a number of people show interest at ORIGINS this year though, so I think there in some market for this. We'll see what sort of reaction Tom gets at GENCON.
GBR Giant Battling Robots Favicon

08 August 2009

Under Construction

Pardon the dust, I'm trying out a new template. Comments and criticisms appreciated!

So far, so good. My blogroll even transferred over, which I did not expect. I need to rearrange my gadgets more to my liking.

I can see I'm going to have to do something about my banner, the old one is too small for this layout.

I bumped up the font size. I don't know if anyone else has trouble with small text, but I do, and I have to read it, so bigger it gets. Unfortunately, this may play hell with the layout of my older posts. Please email me about any old post where the formatting has clearly gone south.

Adjusted the color scheme. Maybe not for the better, but it is a bit more themed than it was before. I'll try it ... YIPES! The bottom bar text is now the same color as the blog title (thank you Rounders template. I like safety yellow, but that is a bit much. I guess I'll have to dive into the template HTML and see if I can swap color there.

I'm noticing rather slow loading times tonight. Is this loading slowly for anyone else?

I started fiddling around in Paint.net to create a new banner. Here is what I have so far.


Credit where credit is due: To create this three column layout I followed an
excellent tutorial from:

The Blogger Guide
[Blogger Tips, Tutorials & Consultancy]
Web:
http://bguide.blogspot.com/

The instruction here were to add a third left-side column to my old Rounders layout, but they were clear enough that I managed to switch it to two right-side columns with no difficulty. (But I backed everything up first, just in case).
I have been meaning to add a third column for some time to make better use of screen space. Two right-side columns let me put more information "up top" where people can see it, but people with smaller monitors can still read the main text without side scrolling.

GBR Giant Battling Robots Favicon

05 August 2009

Not Chopped Liver

In my previous post about my mini with a functional spotlight, I perhaps undersold Steve Satak's amazing efforts along similar lines.




Although I'm pretty sure Steve's was teasing me when he wrote ...

What about my Warhammer stuff. What, is that chopped liver?
... I'd like to set the record straight: It ain't no chapped liver, it's great stuff, and any serious modeler should take a look at Steve's methods and learn. Even if you don't plan on installing electronics yourself, knowing what can be done allows you to consider new ideas of what might be done, and that's when innovation happens.

Steve added a number of other interesting comments too, well worth a read in themselves.
GBR Giant Battling Robots Favicon

03 August 2009

Shine a Light

Battletech miniature GuillotineThis post is Steve's fault, his comments got me thinking about one of my own custom mini projects that I haven't mentioned on this blog yet. Actually, it was my first really major rebuild of a miniature ever, and is still the favorite among many of my Battletech friends.


Battletech miniature Guillotine
If you didn't see Steve's comments, he has a history of adding lights and electronics to Warhammer 40K models. It's some impressive work. (Go look at the links now, I'll wait).


Now where was I ... Oh yes, the Guillotine mini I put together for my son ... and lights.



Battletech miniature Guillotine
One thing about the Guillotine mini; it's got that big spotlight on the top. One day at a model train show I discovered "Grain of wheat" light bulbs used scale trains and dioramas. They only need 1.5 volts, and can be run off of a hearing-aid battery.
So I got this idea in my head that I would mount the light in the mini as a Christmas present for my son.

Battletech miniature GuillotineHere's the short version of the project: Cut the legs of the mini away from the base. Cut of right leg. Drill top-down through spotlight and right-hip-up so the drill holes meet somewhere in the middle. Do about the same thing with the right legs (but goof and blow out the side). Bore out the inside of the spotlight. Drill a pin hole in the left foot/left for mounting later. Cut and re-pin right arm at different angle. Cut hole in standard hex base.

Battletech miniature GuillotineRun wires for the "grain-of-wheat" bulb down through the torso, the right leg, and base. Pin everything together. Fill in (or resculpt) the damage done to the mini with green stuff (can you spot my goof?). Make a wire jig for mounting the left leg and glue it in the base. Fill in the base with green stuff, leaving a bump (pushed up from the bottom) so there will be room for the battery. Add a metal clip and widgetry to make the battery connection on the bottom. Add a little green stuff to the bottom of the base to anchor the clip and give room for the widgetry. Mount the mini. glue everything down. cur a small piece of clear plastic and insert it as the "glass" in the spotlight. Paint. Paint. Paint. Flock. Done.

Unfortunately the battery is dead at the moment and you can't actually see the light operating in these photos - not that it shows up real well in bright light anyway - but it's still cool to see peoples faces when I turn it on and set it on the gaming table.

It was about 50 hours of work, but I was learning everything back then. I bet I could do a better job in half the time now.
GBR Giant Battling Robots Favicon