Playr Blog

Your resource for all things playr. New game announcements, updates, bug fixes, news, you can find it first here.

Sunday, November 23, 2008

Zilch spotted in the wild

I've found Zilch in a number of popular blogs on the internets:
To name a couple.  I'm so chuffed that it has taken off and I'm glad that the majority of the feedback is positive :)

If you've seen Zilch featured on a blog or review site, drop me a comment, I'll add it to the list.

Tuesday, November 18, 2008

Drawing is losing in Zilch

If the compuer gets 10500 points and triggers the final round, and you then match their score at 10500 points, this is not a win for you.  In the final round you get one more turn to *beat* your opponents score.  Getting exactly the same score as them is not beating it, it's just tieing it.

In order to win you need to have more points than your opponent.

Wednesday, November 12, 2008

Submitting a Bug Report

If you're going to submit a bug report for Zilch it's important that you follow these instructions.  These will help you include enough of the right information that will help me locate (and hopefully fix) the problem.  If you just send an email and say "I've found this bug that does this" and don't include the game logs or CPU logs, it's no help at all.

So what do you need to do?
  1. Make sure you're running at least build 4443-adatch.  To get this version empty your browser cache and load the game again, you should get the latest version.
  2. Check the blog to make sure it's not a bug or hasn't already been reported
  3. Press L to copy the game log to your clipboard, then paste this into a new text file.
  4. Press C to copy the CPU log to your clipboard, paste this into the text file as well
  5. Send me the contents of that text file, along with a description of the bug and any steps I need to take to replicate it.
This is the bare minimum that I need for a bug report if I am to be able to do anything useful with it.  Without this information I probably can't even find, let alone fix the problem.  

I really appreciate players taking the time to let me know about problems and I do enjoy fixing them as it makes the game better for everybody.  Keep on playing, keep on sending bug reports but just make sure it's a bug report I can work with.

Tuesday, November 11, 2008

Blast from the past

Believe it or not, this is what Zilch used to look like as I was developing it, all of 2 months ago:

Amazing to see how much nicer it looks when you just stick some nice graphics into it!  I have tons of these if anybody is interested in seeing some of the really really old dev versions :)

Monday, November 10, 2008

Bored, bored, bored.

OK, I'm bored of people complaining that it's not random.  If anybody emails me or submits a bug report saying that the CPU is rigged, the dice rolls are weighted or anything similar, I'm just going to ignore it.  I may print out a copy of the email, rub it in some butter then set fire to it, but that's all.

If you don't like losing games of chance, Zilch is not the game for you, sorry.

On the other hand, if you want to pay a certified software security specialist to audit my code, I'm happy to comply.  They usually clock in around $500, if you're really that angry about losing at a game of chance then it's money well spent to prove to yourself that you don't understand the strategy of the game.

If anybody is interested in doing some statistical analysis of a large number of game results, please let me know and I'll see what I can do to make the game logs available.

UPDATE:  Here are a few points to consider.
  • Why would a given RNG 'favour' one player over another?
  • How does the RNG know when the CPU player is currently taking their turn?
  • Why does the RNG 'favour' the CPU player by giving them 'better' rolls?
  • How does the RNG know what a 'better' roll is?
Any more points I can add here?

Sunday, November 09, 2008

Viviomancy: Study of the game Zilch part 1

A cracking study of how to play the game in the most efficient means possible.  All you doubters, take heed :)

Viviomancy: Study of the game Zilch part 1

Saturday, November 08, 2008

The Realist will take just one dice

Lots of people keep sending bug reports about the fact that the Realist CPU player will only select one dice from a pair.  For example when it rolls a pair of ones it will only select one of them and then carry on rolling.  This is not a bug, this is a legitimate strategy. which hinges on this important point:

You can click on the dice you want to keep, you don't have to use the score options.

In order to maximise it's chances of rolling a high-scoring multiple the Realist CPU will only select one of the dice in a pair.  You'll note that the score option doesn't "ping", that's because the CPU is clicking the dice instead of the score option.  

I will make the CPU player ping the dice when it clicks them, to make it more obvious what's going on.  This is not a bug, this is the CPU trying to be smart about how it plays.  Please stop sending bug reports about it.

Thursday, November 06, 2008


All dice rolls on Zilch are random.  Totally random, or as random as the Flash RNG will allow.  Don't believe me?

Read the source code for my Dice class.

And in case anybody cries foul, here's the HideableObject class that I use to nudge things in and out of view on the screen.


Zilch: About the CPU players

Believe me, the CPU players do not cheat.  There is no code that weights the dice towards the CPU, there is no unfair dice rolling, everything is totally random for all players.  Everybody gets the same random dice rolls, humans and CPU players alike.

I've said it before, and I'll say it again.  I very much dislike playing against CPU players that aren't better, just luckier.  A classic example of this can be found in nearly every backgammon game for mobile phones.  The hard CPU players just roll better dice all the time.  I found this out by noting down the dice rolled on paper over 20 games, the CPU rolled way better dice.  It's a short cut to making the game more difficult.  Making better CPU players is a hard problem to solve, it's much easier just to give them better dice.

This drives me mad, so I made a specific decision to code a more intelligent CPU player, one that would make informed decisions like a human but would still be at the mercy of the dice.  That is how I have coded all three CPU players.  

Cautious and Reckless basically follow the same rules:
  • Always go with the highest scoring option every time
  • If it's the final round then keep on rolling until you either zilch or have more points than the opponent
  • If using all the score options results in a free roll, take it
  • If any scoring option is a free roll, take it
  • If you have more than X points on the board, bank them
  • If there are more than Y dice left unused, roll again
For cautious and reckless, X and Y are slightly different, as their names would suggest.  Reckless is more likely to roll with fewer dice, Cautious has a lower X threshold so will bank fewer points each time but should avoid zilching more often.

The Realist player has much more human-like strategy coded in.  It will look for free rolls using combinations of scoring options, it will avoid the third zilch where possible, it will choose a single 1 over three 2's if possible, it will take a single 1 from a pair to increase the number of dice left to roll, all of this on top of the standard strategies employed by the Cautious and Reckless players.

There isn't a single line of code that nudges the dice in the favour of either the CPU or the human players, not one.  It's all strategy.  What do we learn from this?
  1. Sometimes it pays to be reckless
  2. Nobody likes losing a game of chance
  3. The dice have the final say
It's completely random, I promise.

Wednesday, November 05, 2008

New game: Zilch

Now, for your delight and amusement, playr presents a new game: Zilch

It's a dice game of skill and luck with over 100 in-game awards, three levels of CPU opponent, two player mode and a built-in tutorial mode.  It's fun, addictive and quick to pick up.  Play a few rounds today :)

UPDATE: For all those people asking or submitting bug reports, the CPU players do not cheat, they get exactly the same random rolls that the players do.  One of my pet peeves is playing against CPU players where they aren't better players, just luckier ones that roll better dice.  I have tried to make the CPU players employ different tactics to make them better players but they still get totally random dice rolls.