I've implemented the function which calculates the value of each hand in my poker AI. I had mentioned that I would keep the type of hand and the hand values separate but this is illogical since the hand value contains the type. Now I can easily compare two or more hands and determine the winner. The hand value also takes into consideration split pots, etc. Now I will need to build a simulator to determine the hand strength. This is basically playing the hand thousands of time to get the number of times it will win then creating a percentage value. I will start with a simple simulation class that treats every player the same then expand at a later time to get more accurate results.
![](http://www.neilkemp.us/journal/2006/golfcourse_1.jpg)
This is a golf course I'm working on. There are no trees and plants yet because I've been going back and forth on how to create them. I could take the speedtree approach and create low poly trunks with many billboarded leaf quads. This would work fine in max but I think it would be harder for a customer to integrate into their RT engine. I've been busy taking leaf and trunk photos and am considering using speedtree to build some kick ass textures using my photos which I could then use to make some low poly trees. We'll see how this hybrid approach plays out in the next couple of days. I'll post some renderings to get feedback once I've got some built. To speed things up I'm going to randomize trunks using a series of modifiers or perhaps write a maxscript to do so.
I'll be interested in seeing how your poker thing works out - I'd of thought a really good AI would require more temporal knowledge. Not sure exactly, but stuff about previous hands and tactics maybe?
Golf courses can look pretty, but I just get the urge to stick my boots on and/or steal the golf buggy and go for a wander. Can't be bothered with the actual game!
Jack