Monday, September 29, 2008

"Ultra Cricket"

For those of you who don't know what Ultra Cricket is, you don't know what you're missing.
For those of you who do know Ultra Cricket, you're surely, sorely missing it!

Ultra Cricket, better known as UC to its friends, is a play-by-email cricket game -- the kind where you send in a set of game-play commands (or "orders") by email, play against others doing the same, and get the game results back by email.  But that doesn't even begin to describe the allure of UC, so let me try and expand on it in this article.

Cricket, unsurprisingly, is very amenable to such play-by-email games -- all of us cricket fans after all think we can "manage" or "coach" teams better than the Gary Kirstens and Greg Chappells of the world!  We surely think we'd do a much better job of team selection than the "bunch of jokers" that abound!  We play our teams in Fantasy Cricket leagues, such as the one on CricInfo and try to prove that.  But somehow, fantasy cricket isn't terribly satisfying - your performance depends entirely on that of the players you select.  And you have no control over how they bat, bowl or field during the game.  What gets really interesting is when you have the ability to simulate a cricket game, acting as the selector, coach and captain (of one side, mind you) all rolled into one!

However, cricket as a game is fiendishly difficult to simulate.  To faithfully simulate it requires a complex model that recreates what happens on every single delivery.  How well it is bowled, how it behaves in the air and off the pitch, how well the batsman plays it, where it goes, whether it's fielded or not, how many runs result, wickets, run-outs, changing pitch conditions... it's just mind-boggling.  That's probably why there are very few good cricket simulations out there.  The best of the lot, by far, is Ultra Cricket.

Ultra Cricket has been developed over many years by Tim Astley, an Aussie from the land of David Boon and Ricky Ponting, who somehow managed to do all the modelling and programming while also doing a Ph.D. and post-doc in chemistry, and raising three kids!  The name is derived from the "game" of Brockian Ultra Cricket, which is featured in Douglas Adams' memorable Hitchhiker's Guide series of books.

You start off by forming your own squad - not a team of 11, but a squad of 25 players!  You are allotted a fixed number of draft points, which you use to "create" 25 players.  Players have a set of skills:
  1. batting ability
  2. aggression
  3. bowling ability
  4. economy (bowling)
  5. fielding ability
For each player in your squad, and for each of the skills above, you assign a skill level ranging from bad to poor to average to good to great to superb.  Each step up in skill has a cost in terms of draft points (DPs).  Since your DPs are limited, you have to optimally use them to create a useful pool of players of all types -- batsmen, bowlers, allrounders and wicketkeepers.

That's not all.  Each player also has an age, and your squad must be balanced, with players ranging from age 0 to age 4.  In "real" terms, an age-0 is probably a 16-year-old, and only the rare Sachin Tendulkar will be good enough to play for the team at that age.  An age-4 player is probably around 30, and is at his/her peak in terms of skills.  As time progresses (i.e., as we play the UC leagues), these players actually get older, and that affects their skills in interesting ways!  Initially, players' skills improve with age, but beyond a certain point, they start diminishing, as you'd expect in real life.

Drafting a squad is just the first challenge of UC.  What happens next is that your team gets placed into a league with say 7 other teams.  A "season" of Ultra Cricket follows - 14 or 15 weeks of high-octane cricket action!  Each "week" in UC, your team plays a 5-day Test and two ODIs.  Now you don the hat of selector, and get to pick the 11-member teams that play in each of these three games.  What's more, wearing the hat of "captain", you now specify the batting order, who will keep wickets, etc.   You get to decide who will bowl when, how long their spells will be, how aggressive or defensive the field setting will be in different situations, etc.  All this is done up front, by creating a set of "orders" - a simple text file in a pre-defined format.  This set of orders is sent by email to the ultra cricket daemon, each week.  Your opponents each week (for the Test and ODIs) will do the same for their teams.

When Tim runs the games each week, UC simulates each game, faithfully following the orders emailed in by the participants.  This is where the magic occurs - Tim's simulator code decides what happens on each and every delivery, using a complex set of formluae.  The outcome depends on the batsman and bowler's skill levels (batting, bowling, economy, etc.), the help the bowler is getting from the pitch (which in turn depends on whether he's a seam bowler, a swing bowler or a spinner), the form the batsman is in, etc.!  The runs scored, if any, also depend on the field setting at that time (controlled by your orders), as well as the fielding skills of those fielders.  After all this simulation, the outcome may be as simple as a "dot ball", or it could be as dramatic as a wicket.  Whatever it is, UC faithfully records it all.

When the games are all done, UC emails out to each of us a full, ball-by-ball account of each of those three games.  That's when the fun (and nail-biting tension) begins for all of us UC players!  It's amazing to go through the games, following the ups and downs of your team's fortunes.  The simulation is very realistic - which means that you hardly ever get ridiculous scores like 500 in a 50-over match, or 25 all out in a Test innings.  The numbers on your scorecards and statistics look very believable.  What's more, the statistics are nicely correlated to the skill levels of your players, and yet random enough to keep things unpredictable!  Sometimes, your "great" and "superb" players go through bad patches, even entire bad seasons with abominable averages.  But in the long term, the numbers seem to work out just fine.

To make things even more interesting, UC lets you play the role of a coach as well!  Each team has a fixed number of training points (TPs) per week.  You can decide which players will be given how much training, in each of the five main skills - but subject to a constraint of 8 TPs per player.  Coaching helps improve the players' skills - the more the TPs you allocate to a specific skill, the more the improvement in that ability.  Given the cap of 8 TPs per player, as well as the total TPs your team has earned, you have another balancing act here - how to improve your squad (of 25 players, remember), ensuring bench strength, getting youngsters ready for prime-time, etc.  These training orders are also sent in along with each week's orders, and you get back a "formguide" showing the current skills levels of each player in your squad.  Thus, managing your squad and keeping it competitive over multiple UC seasons is a challenge in itself.

Believe me, this game is addictive.  You get so attached to your team, your players, their progress over time, their performances, statistics, results...  I've been playing UC probably since at least 12 years ago, and the magic still hasn't worn off.

Now having raved so much about UC, here comes the bad news.  UC is currently shut down (only suspended, we hope), because Tim is no longer able to run it in his free time.  That's why I started this article by saying how sorely we fans are missing UC.  It's been a labour of love for him, and it's always been free, so he's hardly been compensated for his efforts other than the occasional donations.  But Tim assures us it'll be back some time, perhaps with a new, spiffier interface.  In the meanwhile, I'm glad I have years and years of weekly results to pore over!

Thanks Tim, for all the memories, the fun, the challenge, the tension of close-fought matches and the close-run leagues... for creating a virtual world in which cricket fanatics can play all those roles we'd never get to play otherwise!


Anonymous said...

Glad to see I'm not the only one. I played UC from August 1995 to the end.

Not sure where you are in the world but I'm sure us Brits would love to see a Justin Lee Collins "Bring Back UC" on Channel 4 :)

"And here folks, after all these years, is that bank-breaking superb batsman you lavished 8TP on week after week and who failed to average over 35 *ever*..."



Neeran Karnik said...

@Ian: Good to hear from a fellow Ultra-cricketer-in-mourning. I'm based in India, so I didn't quite get the Justin Lee Collins reference... but oh yes, I do have a few examples of those 'superb's who never lived up to that billing. But I also have some "good-good" batsmen who did far better than I'd have expected! So I figure it all evens out in the end :)

By the way, I used to run DGB in UC1, SO in UC2 and had much shorter stints in UC3 (BWS) and UC5 (MS).

-- Neeran

Anonymous said...

I remember playing DGB. Sometimes with success, sometimes without.

I looked at the website today. Still half broken. I wanted to amend my contact details if possible as I'm changing email addresses. Can't do it.


Anonymous said...

So true Neeran - miss UC badly. I started playing in 2001 till end. It was the best thing ever.

----- Abhishek C

Neeran Karnik said...

@Abhishek: I've found something that comes close to UC --

Not quite UC, but it does have a similar flavour, and a more polished web interface. Try it out and see if you like it. I have a team there called Mumbai Stalwarts...

Unknown said...

came across this post, and memories flooded back of playing the great game....would love to know what happened to Tim adn the UC code base.

Neeran Karnik said...

"Unknown": Good to come across another UC player. Which team did you run?

I was in touch with Tim for a while on Facebook, but not in recent years (and I've abandoned FB myself anyway). I don't think anything was done with the code base later, more's the pity.

Unknown said...

My team was not much good, but I enjoyed playing, and the old brain cells are struggling to remember the team name, but most likely called The Other Side. Such a shame the code base is MIA, would love to resurrect it.

Anonymous said...

I am still out here. Thinking of resurrecting the game and designing an app to run it....Tim

Neeran Karnik said...

Whoa, Tim Himself!

Great to hear from you, and even better to hear that UC may be resurrected :) Sign me up for sure, and this time if you want to charge us to play, to make UC self-sustaining, that'd be fine with me (I'm no longer a poor graduate student, after all!) and others I'm sure. Looking forward to it, already...

Anonymous said...

Sure thing Neeran. The challenge has always been how to monetise UC enough so I can quit my job to run it and feed the family

Unknown said...

I was actually just thinking about UC and here I am. I played for a couple of years until the end and enjoyed it thoroughly ending up with a 4 teams i think, NVB, TLR, WRT are the teams i remember off the top of my head. I would sign up to play again for sure.


Neeran Karnik said...

Nice to hear that, Craig... I don't recall playing your teams, maybe we were in different divisions. Let's hope Tim is able to get UC running again!

Anonymous said...

I was just looking back and it was NVL (UC1), HOI (UC3) WRT (UC4) i think and TLR (UC3). I was the 2 time superleague champion with NVL. Im glad i backed up all my results onto harddrive so i still have everything.

Anonymous said...

I played ultra cricket in the late 90s and enjoyed it. Great to hear you are thinking of resurrecting the game, Tim.