Thursday, March 29, 2007

Yay, School

Another great discussion at school:

Instructor:
I agree. You make good points here. How would you approach designing something so sophisticated like a Chess game or Poker?

Me:
Not that I have ever thought about this before… ;-)

I don’t know what goes into a good Chess AI, as I don’t know much about the game (except the rules).

As far as poker, sophistication would be the key. I think this is why it is never done right. It would take a lot of time and energy (money) away from things like graphics to get a poker game right. You have to pick and choose when you make games sometimes, and I think that developers of single-player poker games have always been fighting uphill against the online poker community. If I want to play poker for no money and I am looking for realism, why wouldn’t I pursue an online game at one of the .net sites that are all play money?

That being said, I think that a successful poker game will rely more on a good “story” as opposed to a believable experience. What I am thinking of is somewhere between Madden’s Superstar mode (where the player manages certain attributes for the avatar so that it has a tendency to perform a certain way during gameplay AND simulation), and the NES’s Vegas Dream, where certain events outside of your avatar’s control influence the “action”.
The AI would ideally need to mimic the spontaneity of real-life players without being cursed with “stupid” decisions that are supposed to be signs of an “aggressive” player. The problem with today’s games is that players expect Gus Hansen to be modeled in the game world as a guy who will push “any two cards”. Any person who plays and pays attention to poker knows that Mr. Hansen takes more into account than just that. He takes in evidence from his environment: the other players’ signs of strength/weakness, his cards, and his position at the table relative to the “dealer”. When he pushes mediocre cards, he usually knows he can push a person to fold.

I learned about the way Lionhead Studios pursued AI in Black and White, and I like their approach to it. [http://www.gameai.com/blackandwhite.html]Basically, their creatures “learned” from the user how to act. They would basically rate each experience in a database of ratings.

Here’s the basic principle:
Eat a rock – “ouch”, -1 point.
Eat a sheep – “tasty”, +1 point, “master slapped me afterwards”, -2 points.
Eat a guy from the other tribe – “yum”, +1 point, “master scratched my ear”, +2 points

I can relate this to poker like this:
Pre-flop hand, points:
A-A - +20
K-K - +16
Q-Q - +16
J-J - +12
A-K suited - +12
A-K off-suit - +11
A-J off suit - +6
Q-J off suit - +6
J-T suit - +8
2-3 suited - -10
2-9 off - -27

You can also have number ratings for things like aggression, player-reading, position play, odds knowledge, etc. For example, an aggressive player might raise with the more mediocre hands before the flop occasionally. Any sort of resistance and he is willing to drop the hand unless there is major improvement after the flop.

Also, priorities can be assigned to different aspects of the game. A player with high odds knowledge might count on his player reading skills more because that is his style of play.

Obviously this would take a lot of work, trial, and error. You would have to do a lot of tinkering to get the bots to be that nice mix of computer logic (which is a desirable poker trait), and spontaneity. I think it would be worth it though. This would also prove to be something that you can have “learning” AI with. Whether in a long tournament or a season, an AI bot can learn a little bit about what a player does in a given situation, and factor that information into its database.

Saturday, March 17, 2007

…Service Specialist, Part III

Impact


They always say that the food has a large impact on the morale of the crew. Wrong. The Cooks have a large impact on the morale of the crew. This is by far the most important part of our job, and it’s the key to pleasing all the people all the time. It is also the most rewarding. By being able to shake off the stresses of the day when it matters most - when your customers are taking a break - you can have a mammoth impact on the morale of the entire unit. Mediocre food will maintain.

This is nearly impossible for some people, and I think it is why my rate is at the forefront of suicide, divorce, and alcoholism. When the complaints of others hit close to home, it’s really easy to jump in and start whining too. There’s a time for misgivings to be aired. I usually find a close friend that I can go bug in his office, when he’s trying to work. But a cook needs to stay above the fray as much as possible. Play the neutral, “I’m here to listen” role. Actually, it’s exactly like the role the bartender plays in modern day fiction. A little well timed advice here and there goes a long way.

By not jumping off of the bandwagon of hatred and discontent, a cook gives off nothing but foul mood. Foul mood begets foul mood. It’s so easy to build off of negativity. As sarcastic and quick witted as most crews are, a small flicker of grumpiness can quickly turn into a raging forest fire of disgruntlement. Crew members who came to the galley to unwind just get more wound up. Eventually this will snap back at the cook who is throwing fuel on the flames. It’s inevitable. It’s expected. It’s detrimental. Foul mood begets foul mood. Disgruntled cooks cook disgruntled food. An “I don’t care” meal is so much worse than mediocre. It’s worse than disgusting.

Energetic and optimistic. I strive for these ideals daily. The impact is felt throughout my cutter. Meeting people at the door with that attitude makes everyone circle the wagons for each other. Instead of grumpiness being met with unrelenting sarcasm, it is simply stepped around with caution. Respect flies around the room as if it actually belongs.

It’s amazing how people will jump onboard a program that seems to work. Positive moods are just as popular as the negative. It’s remarkable the reaction you get the first time you clear the plate of someone who had every intention of getting up to do it himself. The initial argument gives way to the fact that he can now sit and talk longer with his friends, or catch just a little more of The Price is Right before heading back to work, or home for the day. I always play it off that I am just trying to get the dishes done so I can scat, but that smile you get back… Or when I you bring up fried egg sandwiches to the watchstanders while your patrol boat’s on a night time SAR case. The giddiness they show when you waltz up there smelling of sausage and American cheese….

I may be slightly narcissistic, but all I really hope for in life is to have an impact of the people around me, to have them remember me when I am not around. No other job affords me the opportunity that this one does. That’s why I am a cook. That’s why Service will always be a part of my job description.

Friday, March 16, 2007

…Service Specialist, Part II

The Heart


Every boat I have ever been on – every diesel-stinking, pitching-rolling, gut-busting, rib-bruising, salt-spray-settling-in-your-razor-burn boat I have ever been on has one thing in common: The galley and mess deck are right smack in the middle. Now this may only be a Coast Guard thing, but I think they do it for a reason. The galley is the center of the heart for any unit. Everyday the mess deck becomes the escape for every single non-cook crew member. At least once a day each person may choose to walk through the line, pick up their food, sit down and eat it. Through the whole process they are getting a hugely critical release from the everyday stresses of whatever their job entails. Even if they have to take their food off the mess deck, or if they take a box lunch with them away from the unit, there is always a measure of solace in that food.

Every boat I have ever been on has something else in common. A cook reports aboard and is told the same two things by the command. They always say that the food has a large impact on the morale of the crew, and that the cooks have a thankless job. I never understood these things (and I am not sure they did, either). First of all, I am thanked numerous times a day. I am thanked so much that I get bored with my response to it. Almost without exception every single crew member will thank you at least once per meal. It is simply because they are told the same thing when they get to a unit: “No one ever thanks the cooks, so you better say ‘please’ and ‘thank you’ every time. After all, we don’t want our food to taste like Scope.”

I once cooked potatoes on my first buoy tender. They were roasted red potatoes. Now potatoes were something that I always hit out of the park, and my first trip on this boat I had the crew chant Three-Cheers because I didn’t serve Golf-Ball-Chunked-Mashed-Potatoes to them (apparently this was a problem before my arrival). These red potatoes were not my ordinary potatoes. Apparently I stayed to watch the Cubs game too long and these were more the texture of red apples instead. They were rock-hard undercooked. My department head walked up, as he always did, to thank me.

“How were the potatoes sir?” like I didn’t know.

“They were great Brandon!” trying to pretend like his jaw wasn’t sore.

Now I am not trying to say that no matter how lousy the food is, the crew won’t react negatively. The same guy that lead the crew in Three-Cheers also lead them in throwing of overcooked chicken back into the galley at me once….ONCE. The fact is that there are bound to be numerous occasions when negative reactions are bountiful. That’s the chemistry that is created when you put wound up people in a place where they can unwind. Their reaction to the environment – whether it be the food, the mood, the other crewmembers, or the TV – is clearly going to be over the top at times. It’s the moments when this boisterous activity is met with bad food that people remember as the cooks “really gettin’ it”. Thankless job? Hardly. It’s just rough and tumble sometimes.

Now for the morale – and this is where my answer always lies. Why am I a cook? Why am I still a cook? Why am I a Food Service Specialist?

Everyday people break for lunch. They file through that line to unwind. On a boat they also stop by the galley door to see how the cooks are doing occasionally. It’s bound to happen; the galley’s in the center of the boat, remember? Most mess decks also, even though discouraged in regulations, act as a main passageway through the ship. What’s for lunch? What time’s lunch? What’s dessert? What’s the soup? Can I have a cookie? Can I have the cookie dough!?!?! The milk machine’s empty.

Everyday people break for lunch, but the cooks never do. They simply can’t break for lunch. Even though they may sit down to eat, they never really leave their workspace. Nor do they step away from those they work with. So no matter how their day is going, they can’t simply go off to lunch to recharge or relax.

Thursday, March 15, 2007

…Service Specialist, Part I

Argumentative

One of the reasons I like sports so much is the overwhelming urge that comes over fans to discuss its happenings on an everyday basis. Yesterday part of our duty section was watching Pardon the Interruption on ESPN on the mess deck. The junior member of our group, no doubt disgusted with the argumentative nature of a subject that was pointless in her mind, asked us how we can stand to watch a show like that. The question struck me as funny because the show was covering basketball at the time, and even though I don’t ever watch basketball I was glued to the bantering.

The reason shows like PTI and Around the Horn are successful is the same reason that news shows are so successful: displaying opposing viewpoints on a topic allows people to jump on a side and feel passionate about the topic. Sports provides an even more charged atmosphere as you add in the good-guy/bad-guy mentality that naturally comes from having a favorite team or player. The innate counterpart of a favorite is something disliked or even hated. Pile on to this a rabid excitement that usually accompanies “life-long” fans and you have a recipe for great conversations into the night about SEC football vs. Big Ten football – or, Yankees: Dynasty or Best Money Can Buy – or, should Ryan Leaf have been drafted before Payton Manning. Okay maybe the last subject would never come up. You know what I am getting at.

The fact is that any amount of logical argument or debate over a subject will make the participants, at the most, more knowledgeable of the details. At the least, it makes them more aware of the topic itself. It is the same reason that 6 of my last 9 weeks of SQL and RDBM class dealt with planning and not coding. Planning also makes its contributors more intimate with details and aware of the situation.

I was asked once why I became a cook. This question comes up quite a bit, actually. The response is usually a well rehearsed “Well, I did the whole Mac & Cheese and Top Ramen thing pretty well… and I used to serve people hot chocolate in college…”. This particular time was different. This time it was with the inference that I am above this job – that I am smart enough to be anything, so why this? Let me break it down for you:

At its core, and in its generally perceived state, a Food Service Specialist has a very simple job: put out decent quality food on time, clean up, and go home. I can’t put it any more mundanely simple than that. Now let me tell you what I do.

I come in to work early – it’s not always as early as the horror stories claim either. There’s a rough sketch of a plan when I get there. A finite amount of meals need to be prepped and served before the day is up. Recipes may be needed for these meals. There is a certain amount of food that may (or may not) need to be procured. Cleaning needs to get done. Paperwork that tracks all of this will need to be updated. From the moment I wake up, and sometimes from the previous day, I am working through all of these details, trying to picture how I will pick through these various tasks. Mind you, this is not a dwelling on the details, but merely a constant ambient thought of things that must be done.

Early in my cooking days when paperwork and procurement were not a part of my daily routine, most of my planning and thought came from recipes. I have to get this item in the oven by this time, which means I need to start prepping it at this time, which means I have to stop watching the Cubs game at 3:30. My focus on planning in my recent career springs from two places. First, I have a need for survival. Once the day starts there is a pending list of quandaries that will be encountered. Whether it be from missing brown sugar, a dropped bottle of cooking wine, or 8-12 foot seas, there is always something that comes up requiring me to know what to do next. By planning ahead – or rather, by knowing the details as a result of planning ahead, I can use my built in problem-solving, crisis-management machine to work things out.

Second, somewhere along the line, (and I blame this on FS1 Faria, a handful of non-rates, and a spackling of Boatswains Mates) I developed a sense of ownership over my work. At what point this took over for my laziness as the controlling factor in my work ethic, I’m not exactly sure. The fact is, I can’t stand to have my food suck. I need to have it be great. People say you can please some of the people all of the time, and all of the people some of the time, but you can never please all of the people all of the time. Bullshit. That’s like saying I can’t get a 100 on a medical inspection. Maybe they should reword that to be a little more half-full. You can’t please all the people all the time, but you damn sure better be trying if you’re their cook.