Where did the names of the computer Hearts opponents come from?

Date:July 14, 2005 / year-entry #189
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20050714-00/?p=34943
Comments:    13
Summary:Danny Glasser explains.

A Windows 95 story in commemoration of the tenth anniversary of its release to manufacturing (RTM).

Danny Glasser explains where the names for the computer opponents in the game Hearts came from.

I didn't myself know where the names came from, but Danny's explanation of the source of the Windows 95 names brought back memories of the child of one of our co-workers, whose name I will not reveal but you can certainly narrow it down to one of three. He/she was exceedingly well-behaved and definitely helped to make those long hours slightly more tolerable. I remember once we heard the receptionist's voice come over the public address system, which was itself quite a shock because nobody ever uses the public address system. The message was, "Will X please come to the receptionist's desk. Your son/daughter is here."

Space Cadet JimH picks up the story and explains how he went about writing the computer player logic. (And no, the computer players don't cheat.)

Comments (13)
  1. Miles Archer says:

    The computers play for the first version of hearts was terrible. You could usually shoot the moon the first hand and I could often win and not take any points for the entire game.

    The problem with this is that when you play with real people, you get the snot kicked out of you.

  2. Syz says:

    In ’97, I started working for Microsoft doing consumer technical support for Windows.

    Not long after I started, I remember we received a handwritten letter from some woman complaining about a bug in Hearts. She had actually addressed her letter to Bill Gates, and I guess it had been forwarded to us by his secretary or something.

    She had a long description of this supposed problem where the computer was cheating. She even included a screen shot, in the form of a blurry photograph of her computer monitor, to prove her point. She was horrified that Bill Gates would release a game where the computer cheated!

    What had actually happened was that one of the computer players had shot the moon. Apparently this woman didn’t know about that rule.

    We all got a good laugh out of that one.

  3. Ah, good old Hearts. Between that and Doom that pretty much sums up my college years. :)

    I can totally sympathize with the Space Cadet JimH and working on the computer logic. I wrote a card game several years back which I give away for free on my web page, but getting the computer logic just right without cheating was no easy task. To make it worse, I added 3 difficulty levels – but how do you make a computer play less intelligently? Getting the computer player right was the single biggest problem. I have a new found respect for people who write even more complex games like Chess.

  4. Jim says:

    What’s the difference between "anniversary" and "commemoration"? In other languages, you have an anniversary when an amount of time has happened from a happy event and you commemorate when an amount of time has passed from an unhappy event. Does English have the same connotation?

  5. Today Raymond talks about marketing tweaking PDC talk descriptions and some little-known history…

  6. To me:

    anniversary = the day <N> years after an event. (annus = year, versus = turned)

    commemoration = the celebration of a past event (com = together, memorare = to remind)

    You can have an anniversary without a commemoration: How many unlucky husbands forget to commemorate their wedding anniversary?

    You can have a commemoration without an anniversary if you hold it at a time not an integral number of years after the event.

    But that’s just me. Others may feel differently.

  7. Boris Zakharin says:

    I think in English the real difference is between celebrating and commemorating. Celebrating implies a joyous occasion, while commemoration is neutral. An anniversary is just a date.

  8. Today Raymond talks about marketing tweaking PDC talk descriptions&amp;nbsp;and some little-known history…

  9. Pax says:

    I can only assume you’re not married :-).

  10. Norman Diamond says:

    The default names of the Hearts opponents sure did change after Windows 95. I don’t recall though if the change came in Windows NT4, 98, or XP.

    Also I’ve occasionally seen a game of hearts in an English language Windows version and the opponents didn’t have Japanese names, so I don’t think everyone played against the same opponents. I don’t recall if I’ve seen a game of hearts in any other foreign language version.

  11. Mike Dunn says:

    Chicago was 10 years ago, eh? You sure know how to make a guy feel old ;)

  12. Norman Diamond says:

    By the way, it was stated that the Hearts game doesn’t cheat, i.e. each computerized player doesn’t look at other players’ cards. I agree, I’ve never seen anything in Hearts that looked like cheating.

    Solitaire, however, cheats. I didn’t see Solitaire cheat prior to Windows XP. But it was rewritten for Windows XP. I tried to move the 5 of Spades and owned cards[*] onto the 6 of Hearts, but the program put the 5 of Spades onto the 4 of Spades instead. Unfortunately I already made more moves before figuring out what happened, so I couldn’t back up to retry it. Even if you don’t know what was moved, you still know that there’s no legal way for the 5 of Spades to get on top of the 4 of Spades.

    The following screenshot dates from April 2002. Maybe this bug was fixed in SP1a? But there’s an unrelated bug (one that isn’t cheating) that was also added for Windows XP and was never fixed.


    [* Owned cards? Well I didn’t know what else to call them. Obviously they’re not child cards.]

  13. Today Raymond talks about marketing tweaking PDC talk descriptions&amp;nbsp;and some little-known history…

Comments are closed.

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index