Programming Language Spotlight: F# 

Posted by Ed Kaim Friday, July 1, 2011 1:08:00 PM

We’re proud to support F# as a programming language for FinalBot competitions. For those who aren’t familiar with F#, it was originally designed by Don Syme and is an ongoing project by Microsoft Research. Officially, "F# is a succinct, expressive and efficient functional and object-oriented language for .NET which helps you write simple code to solve complex problems." It's also important to note that F# is available for virtually every major operating system.

For many scenarios, such as bot development, F# is an excellent choice because of its functional nature. This allows for concise and elegant code while still offering a lot of very practical constructs. If you haven’t yet considered F#, you can learn more at We also plan on providing some videos and labs focusing on F# in the near future, so stay tuned.

When using F# for FinalBot, be sure to build your project using the --standalone flag (note the two dashes) so that it contains everything needed to execute in the official competition environment.

Check Out The New Labs Section 

Posted by Ed Kaim Wednesday, June 29, 2011 4:19:00 PM Categories: Hold 'Em

We'll be periodically posting hands-on labs that provide step-by-step instructions on common programming tasks in our new Labs section. Today’s lab is entitled Building A Rules-Based Hold 'Em Bot and provides all the steps needed for even the most novice developer to get their bot to hold its own in tournaments.

A Crash Course In Programming Video Series Published 

Posted by Ed Kaim Wednesday, June 29, 2011 12:00:00 AM Categories: Hold 'Em

We've published the first round of A Crash Course In Programming over on the Videos page. It's intended to provide new developers with the bare essentials needed to build a bot for Hold 'Em. Feedback is welcome.

Hold 'Em SDK Update (2011.06.15) 

Posted by Ed Kaim Wednesday, June 15, 2011 12:37:00 PM Categories: Hold 'Em

The following changes were made to the Table class:

  • MyHand was added to give each bot its hand details without extra code.
  • AllMyCards was removed since it wasn't necessary now that MyHand is available.

If you weren't using AllMyCards then you don't need to rebuild.

The FinalBot.HoldEm.Common assembly was reverted to version (instead of using the date). Hardcoding the version will reduce overhead for migrating to updated SDKs since you won't need to re-add the references from certain languages.

A bug was fixed in the hand comparison logic where the secondary pair ranks were not being properly ordered when the primary ranks were equal in two pair and full house hands.

The F# starter bot was updated to use the "--standalone" build flag so that it would run properly in environments where the F# redistributable is not installed. If you're building a bot from scratch using F#, be sure to include this flag when building.

Hold 'Em SDK Update (2011.06.09) 

Posted by Ed Kaim Thursday, June 9, 2011 9:27:00 PM Categories: Hold 'Em

Added a Mono-friendly test client.

Hold 'Em SDK Update (2011.06.08) 

Posted by Ed Kaim Wednesday, June 8, 2011 1:14:00 PM Categories: Hold 'Em

Two new properties were added to the Table class:

  • AllMyCards provides a list of your private cards plus the community cards
  • Stage provides the current stage of betting

This release does not introduce any breaking changes, so existing bots will run as-is.

Welcome to FinalBot! 

Posted by Ed Kaim Wednesday, June 1, 2011 11:44:00 AM Categories: Hold 'Em

We're currently in Beta and would love your feedback. Please post in comments or email us at

Page 2 of 2 << < 1 2