Monday, 27 July 2015

The Stupidest Guys in the Room

I'm not the only person I know who has some contempt for the 30-ish percent of Canadian voters who will vote for the Conservative party regardless of what they do. In the US and Canada, conservative politicians are people who use their own fantastically bad job of governing as evidence that government cannot be trusted in the hopes of getting themselves re-elected as the anti-government party. If you can't tell the difference between that and actual conservatism - the counterpoint to and balance against progressivism - then you aren't very clever.

To probably apocryphally paraphrase John Stuart Mill, conservatives are not necessarily stupid, but most stupid people are conservative.

But Canada's Conservative government isn't targeting those authoritarian personality types with their policies. Those people will vote for the right-wingyest party regardless of policy, so why waste a thought or a dime on them? No, the policies are aimed at the ten or fifteen percent of people who will consider voting conservative if the inducement is right.

So the scheme was to eliminate the existing Child Tax Credit and increase the Universal Child Care Benefit. They got rid of a tax credit for those with children under 18 and replaced it with a $60 per month payment for those with children under 18. Then, they got confused about how to actually issue checks for $60 a month and figured it out just recently, a few months before the election, meaning they gave six months of benefits out at once. They were so crass about this scheme that they referred to it as "Christmas in July" and touted it as the largest single payout by the government ever.

Of course because they eliminated a tax credit, the vast majority of the benefit will effectively be taxed back at the end of the year. The benefit itself is taxable to begin with. I've seen different people give different numbers, but it sounds like most people should expect to pay about 80% of that check back at tax time. So the "here's $360, please vote for us," is really just a veil over "here's $10-$12 a month, please vote for us." Not to mention that this change may well mean that a lot of poorer families go from expecting a tax return to having to pay taxes this year - something many people will not understand and plan for.

In the most recent poll, support for the Conservatives rocketed up. While they were previously showing second to the NDP, they are not showing a solid first, maybe back in majority government territory.

So no, my contempt should not be aimed at the 30% of Canadians who cling to the leader of their identified tribe regardless of how corrupt that leader is. No, it should be aimed at the 10% of Canadians who are such complete morons that they will choose who to vote for based on a shiny check with their name on it. Right wing authoritarians may be the bulk of the conservative movement, but these people are the make-or-break supporters that throw it over the edge. These are the selfish idiots who don't even understand how to be selfish right.

That's who all the politicians are fighting over. People with not particular conviction, no long term memory, no long term plans. People who can be bought cheap. Oh, and apparently most of them have kids.

I hope they choke.




Friday, 17 July 2015

Neo Exdeath

I skipped a lot of the endgame with my Four Job Fiesta party. I couldn't make use of more than three of the legendary weapons so I didn't bother acquiring them. Instead I just grinded a few levels and headed straight for the Void.

The Void had a couple of really awful fights. In particular Calofisteri - translated elsewhere as "WoodSprite" - was a problem for my damage challenged party of Thief, Red Mage, Beastmaster, Chemist. It's possible I could have killed her with four Release commands before the battle even really started, but I wasn't preloading for every battle, and wanted to win without having to try again if possible. The big challenge she presents is counter-attacking with Drain every time she is attacked, and putting Old on characters. There seems to be a bug that leaves you very weak if you remove the old condition from characters, so I was left in a position of being unable to hurt her. My road to victory was to wait until her 1000 magic points ran out and then very slowly race her Regen.

Twintania was also a bit of a problem. I think I might have been able to Toad it when it was charging gigaflare, but I beat it with four Reflect Rings and it's own magic counter attack.

Necrophobe was basically totally out of the question. Again, probably I should have just used Catch and Release to obliterate him, but he's optional so instead I just left him alone.

Now Neo Exdeath is quite a final boss. His grand plan is to use the power of the void to unmake everything that is and then he too will disappear forever. As motivations go, I suppose it make about as much sense as anything else. He's got four segments that take individual actions which do a lot of bad things to you, and when you get him down to his last segment he goes a bit nuts and starts casting Meteor on you. Again, he's a problem if your damage is terrible, and this time Release doesn't appear to be a silver bullet.

Fortunately the chemist comes to the rescue. Chemists can put all kinds of weird status conditions on you, many of which persist through death. Chemists can mark you as a boss making you immune to the majority of status conditions. They can give you absorb lightning, fire and ice. They can increase your level, increase your magic damage by 50%, and double your maximum health. They can also resurrect characters to full health and magic and do full heals of living characters using extremely cheap mixes. Resurrection to full health and mana is Phoenix Down + Potion.

With all of these buffs I could ignore Neo Exdeaths most threatening ability, get healed by his occasional elemental spell that would otherwise do huge damage, and force him to kill me again and again and again until I finally ran out his health.

All in all, though, I wouldn't say I loved the four job fiesta. In a way it's nice to participate, but what I like about the job system is being able to do all kinds of interesting things. The four job fiesta forces you to find the one thing your combination does well and use it to beat every fight.

Anyway, I'm done, so I've started a new game where I will learn all the blue magic like I'm supposed to.


Wednesday, 15 July 2015

Binding of Isaac - d20

I'm still figuring out things about the Binding of Isaac. One I just figured out recently is that the d20 is up there with the most powerful items in the game. If that sounds like an exaggeration, watch this:


In this run things were made easy for me with a Card Against Humanity, but in another run I set off a very similar if slightly less infinite chain by just using an arcade to spawn a huge number of coins and wheel of fortune items.

The die rerolls all pickups on the screen. It also rerolls empty chests. So if you reroll enough pickups to make sure you spawn some chests then you can reroll those into even more pickups. Obviously this requires some way to refill the d20. In this run I have the sharp plug, which is obviously a little bit game breaking. In another run I had the 48 hour energy pill in my pill set - be sure to use the pill in another room so the extra batteries don't reroll. You could also do it with a habit and a fire. The damage doesn't matter much because there will be plenty of hearts to grab.

I thought that when the golden chest item pool was exhausted the game would start giving me Breakfasts, but for some reason after giving me everything in the gold item chest pool, including some of those things three times, the gold chests started containing treasure room and even angel room items. You can see me pick up Godhead in the video above. I don't really understand how that works. You may be able to tell from the giant laser circle that I have ludovico technique and technology I also have nearly every other item in the game, though I purposefully avoid doctor fetus just in case there is some weird interaction.

I should have made a video of my bombs going off. With sad bombs, death's touch, godhead, proptosis, and various other effects they were a sight to behold. That hardly mattered, of course, since the blue baby didn't live long enough for one to go off.

The above run put my Eden win streak at 7. One day I'll stop saying I suck at this game, but seriously, every now and then I get hit by Monstro and think, "I have no right to even play this."

Thursday, 9 July 2015

Final Fantasy V Stealing Algorithm



My insistence on stealing everything from every enemy came to an incredibly short end. Against some early monsters I put in 20 attempts at stealing with no success. Against one enemy I tried 40 times and didn't get it. I sort of wanted to just go until it worked, but I didn't know what the formula for success chance and I couldn't rule out the possibility is my chance of success was actually zero.

Fortunately for Final Fantasy games you can usually go to GameFAQs and find some pretty in depth guides to the numbers. In this case, the user instructrtrepe provides a guide to all of the games' algorithms. Given that most enemies in the game seemed to give up their steal item in a couple of attempts while others just didn't give it up at all, I thought there must be some bizarre formula. Maybe if I went up a level I'd have more luck, or maybe the chance of stealing was just fixed at 40%.

It's that second one.

For a moment I was going to take this as a lesson in not being fooled by randomness, but look at those numbers again. Against three or maybe four enemies I tried 20 times. Against one enemy I tried 40 times. Forty consecutive 60% rolls is starting to raise questions.

But what questions ought it raise? First of all, let's do away with the very common logical fallacy that people use to argue that there is a god. Statement A is that stealing has a fixed 40% success rate. Statement B is that I stole 40 times in a row from an enemy and failed every time. B given A is only about one in a billion. B is true. That allows me to conclude absolutely nothing about A. Basically, you cannot get A given B from B given A, you need an additional piece of information. You're very unlikely to win the lottery given that the sun came up in the morning, but someone wins the lottery every day and the sun keeps coming up.

On the other hand you can say something about the probability of A given B if you have B given A and the probability of A and B independently. Bayes Theorem says:

P(A|B) = \frac{P(B | A)\, P(A)}{P(B)},

and I know that P(B|A) is about one in a billion. In order to get P(A|B) I'd need to know what P(A) and P(B) are. Do I have any idea? Given that I got the 20 in a row result several times, I'm guessing off the top of my head that P(B) isn't itself something like one in a million. P(A) is harder to get a feel for: First of all, GameFAQs is a place people go for this sort of detailed information in text form for final fantasy games, or at least it replicates the information sources people go to. Second, this would be a giant glaring omission - to think I'm the only person who noticed that the chance of stealing from some monsters was not 40% at all would be a bit like thinking I was the only one who noticed that ISIS was marching in the London pride parade. Odds are that the guide wasn't wrong but that I was misunderstanding what the guide said.

Here is the algorithm for determining stealing: First, set chance of success at 40%. Next apply modifier to steal success. Get a random number from 0 to 99. If the number is greater than or equal to the success chance then stop. If an item has already been stolen from the target then stop. Get another random number from 0 to 255. If that number is less than 10 get a rare item. If that number is greater than or equal to 10 get a common item.

So obviously something happened in that "apply modifier to steal success" step. But it turns out that step is as follows:

If the Attacker is wearer a Thief Glove, Hit% = Hit% * 2

No help there. What could be going on?

What's missing is a second algorithm that determines which message to provide to the player. Clearly, if an item was generated then it provides a message saying what item was stolen. But if no item is generated then it can either say, "Nothing to steal" or "Couldn't steal".

Note that the choice of message is not generated by the termination point of the steal algorithm itself. It checks if you miss your steal attempt before checking if an item has already been stolen. So "Nothing to steal" could mean that an item had already been stolen, or it could mean that there was no item to steal in the first place - that is, the monster has nothing for both its common and its rare steal. That message can be provided whether you hit or missed.

But what about monsters that have nothing for a common steal but have something for their rare steal? Yes, those exist on the list of monsters. It may go through the algorithm, get a hit, and still provide no result. But the monster does have something that could be stolen, so it says "Couldn't steal" instead of "Nothing to steal".

The chance of a rare steal is 10 in 256. Since the chance to hit is 40%, the chance to hit and get a rare steal is a neat 1 in 64. So if a monster has a rare steal but no common one - giving you a 1 in 64 chance of stealing something - you'll get the same message as if the monster has both a rare and a common steal - giving you a 40% chance of stealing something.

This isn't very helpful feedback from the game, and it appears to run through nearly every stage of the game. Fortunately the difference between 4 in 10 and 1 in 64 is pretty easy to detect by experimentation so it isn't necessary to constantly check the guide. Unfortunately this scheme doesn't guarantee that the item you steal will be worth it. Those monsters I was failing to steal from in the first cave could have yielded potions if I had stuck with it.

Wednesday, 8 July 2015

Final Fantasy V Four Job Fiesta

I picked up Final Fantasy V for iOS, so I thought I might as well do the four job fiesta. I don't think the rules are very well spelled out, so I'm not sure if I'm technically not supposed to be playing the iOS version. I'm sure I'll be able to avoid any extra content for this run anyway.

The basic idea, though, is that you get one job per crystal and can only use the jobs you were assigned.

I tweeted my registration to their bot and got my first job: Thief. It's hard for me to imagine going through a final fantasy game without the ability to steal, so this is the class for me. On the other hand, it means I will not have white mage or black mage, and it means that there might be a lot of leveling up in my future. At least until I get to the second crystal whether or not I can beat a boss will entirely depend on whether or not I have enough strength and health to just attack them down.

Naturally I can't stream this because I'm playing it on an iPod, and I'm not really set up to stream anyway. Still, the thing goes until September 1 and I think I should be able to find enough time to finish it by then, especially being able to play on the subway when I go back to work soon.