Meaningful Play 2014, Day 0

A special talk prepares attendees for the conference itself.

Meaningful Play 2014Tonight, prior to the official Meaningful Play 2014 opening, there was a pre-conference Quello Center Lecture Series talk entitled, Racism, Sexism, and Video Games: Social Justice Campaigns and the Struggle for Gamer Identity.

The main presentation was given by Lisa Nakamura (University of Michigan), with respondents Rabidra Ratan (Michigan State University) and Mia Consalvo (Concordia University).

I found the talk quite interesting and informative, and incredibly timely, though there was not much that was actionable  The respondents generally agreed with the premise, merely stating a different perspective.  All of the speakers referred to “stereotype threat“, which (oversimplified) is the tendency for individuals to exhibit negative traits ascribed to groups to which they belong when confronted (subconsciously) with the stereotypes.  One example given was that a purple alien in the midst of many green aliens would tend to behave in a manner attributed to purple aliens generally.  Answering a question, Ratan extended the idea to suggest that this manifests not only within an individual online game, but also in the selection of games played, which provoked a response from an audience member that is probably best described as “vehement (eventual) agreement”. :)

At a result of this exchange, I found myself considering the programming team that I (originally) led at Spectrum HoloByte.  I was hired as Senior Software Engineer, and Lead Programmer on Star Trek: The Next Generation, “A Final Unity”, which was developed by an internal division called the “PC Group”.  The other big group was the “Sim Group”, which programmed military simulations, namely the Falcon aircraft simulators.  Our PC Group had been responsible for the line of Tetris games for MS-DOS, while the Sim Group had just finished shipping Falcon 3.0, which by internal accounts (verified by documentation) had been one of the worst death march situations in the industry.

My initial team was five programmers, including myself, but what makes it interesting is that the team was 60% female (back in 1993).  I was, of course, one of the two male programmers, and I had been considered for 3 positions, but in the interview process I made it clear that I was not interested in flight simulators and did not wish to be considered for the Sim Group opening (though the producer insisted that we talk anyway).  The other male programmer had been integral in the Sim Group for the previous product but, for his own reasons (n.b., “death march”), had chosen to switch groups.  On the other side of the building, the Sim Group had exactly zero female programmers.

I have always thought that this arrangement was interesting, but in the context of the talk, it provides some anecdotal evidence that not only is there some gender bias in games played but, to the degree allowed by business, this is also true of games being developed.  In other words, three female programmers gravitated to the group creating puzzle, board, and arcade games, while two male programmers moved away from the war games.  For the record, this was one of the best teams, in terms of atmosphere, I have experienced (until “circumstances” intervened, as they eventually must).

A Note about #GamerGate

This talk took place just one day after the story broke about Anita Sarkeesian receiving terrorist death threats and having to cancel her talk at Utah State University, so despite having been scheduled for months, the topic was almost disturbingly topical.  Aside from an offhand joke on Twitter (below), I had not been following or involved in the #GamerGate controversy, so I was interested to learn that several of the players in the “social justice warrior” (not a pejorative) space were to be speaking at Meaningful Play 2014 (again, having been scheduled many months before the storm even began).  This really sets an underlying theme for the rest of the conference.

My personal take on the controversy is that it is disappointing that there are “sides” and each faction is trying to somehow “win”, despite there being no achievable victory conditions.  At an academic conference, and especially within the audience for this talk, there is unlikely to be any sympathy with those who make threats, but it is not merely the ignorant who are stirring the pot.  As somebody who is not innately a member of any disadvantaged minority group (except “genius” :) ), I still appreciate (and actively support) the push for diversity in the game industry, but cannot support rhetoric which serves to divide and/or supports deliberate disruption of the field in which I have made my career.

So…  New Cooperative Game Rules:

  1. Live and let live.
  2. Stop talking; start doing.
  3. If you say “them”, you lose.
  4. You do not win when others lose.
  5. Objectives:
    1. more games
    2. more diversity
    3. more choices
    4. more prosperity

I am happy with a collaborative effort, so please feel to contribute rule suggestions.

Meaningful Play 2014

This is the International Academic Conference on Meaningful Play.

Meaningful Play 2014 This week, Michigan State University hosts Meaningful Play 2014, the fourth edition of this bi-annual academic conference discussing “games that matter“.

Meaningful Play 2014, running October 16-18, 2014 in East Lansing, Michigan, includes numerous keynotes, speakers, panels, roundtables, workshops, papers, and special events, all examining and promoting the idea that games can (and should) have a positive impact.

This year, SophSoft, Incorporated is not only attending the conference but, for the first time, we are sponsoring Meaningful Play.  In addition to sponsoring, we will be exhibiting our games (as Digital Gamecraft) in the Pure Michigan Game Exhibition and Celebration, giving away free copies of Demolish! Pairs, and I will be participating in a panel, Growing the Game Industry in Michigan: 2014 Update.

I have attended Meaningful Play two (of three) previous times, in 2008 and 2010 (missing 2012 only due a scheduling conflict), and I found them to be quite refreshing.  Like other conferences I have attended, I leave filled with inspiration, but as an academic conference, this one also challenges me with many new ideas about games, with scientific studies, unique approaches, and non-commercial products not seen at major industry events.

Over the new few days, I intend to document my experiences and takeaways from Meaningful Play 2014, for which I will link below as articles are published:


Pretty Good Solitaire Mac Edition 3.02

We finally finished this extensive technical update.

Pretty Good Solitaire Mac Edition 3.0Pretty Good Solitaire Mac Edition 3.0 has now been released by Goodsol Development.  It is available for immediate download/purchase for only $24.95, and a trial version is also available.

This version of Pretty Good Solitaire Mac Edition contains 550 games (50 more than the previous version), and the full version provides access to another 75 bonus games.  The interface also contains many user interface improvements.

From a technical perspective, this is a major upgrade, as it represents a complete conversion of the program from Carbon libraries (used since version 1.0) to Cocoa frameworks, an effort imposed by Apple’s diminishing support for the former.  In the process, numerous features were reconsidered and reimplemented, so there are various improvements throughout the program.  One thing that we lost in the process was support for (much) older versions of Mac OS X; the current version requires Snow Leopard (10.6).

What happened to 3.00 and 3.01?

As is often the case with major technical changes, there were a couple of teething problems.  In the first release (3.00), we discovered a race problem with the Cocoa system, where 5-10% of our users had systems that were sending messages to objects that had already been disposed, causing the program to crash when run on these systems.  (Of course, none of the test systems exhibited this problem.)

The second release (3.01), as well as the first, was discovered to have a critical error with menu handling, namely, that card sets could not be switched (properly) using the ‘Preferences->Card Set’ menu.  Unlike the first issue, this one was always reproducible, missed entirely by our testers, and completely my fault.  Oops… :)

Once the current version proves stable, we will be adding quite a few (probably 25) more new games and making more interface improvements, including the most requested feature, an ability to sort results and high score tables.  This, of course, will be a free upgrade for all then current PGSME customers, so buy now!


I come by my love of Solitaire honestly.

It is fair to say that I am one of the leading experts in the type of card game known as Solitaire (in the US), or Patience (in the UK and elsewhere).  I have been working with Thomas Warfield at Goodsol Development for more than a dozen years, and in that capacity I have implemented literally hundreds of different Solitaire games on various platforms, including Windows, Mac OS X, and iPad.

However, one would be very mistaken to assume that I had to learn about Solitaire back then, or even that these were my first Solitaire software products.  In fact, I have been a Solitaire enthusiast for more than 40 years (easily predating my first access to a computer), and I have been writing programs for playing Solitaire for 30 years.  That is why it was such a good match when Thomas and I started working together; he is also a renown expert, with a very successful Solitaire game, Pretty Good Solitaire, and there is not another company on the planet with more Solitaire expertise from which to draw.

I first learned to play Solitaire from my father when I was about 5 years old.  He taught me a traditional form of Klondike (which many people just call, “Solitaire”), and I clearly remember the first time he watched me deal out the tableau on the stone hearth in front of our fireplace.  I played that a lot over the years, as well as a few other games I picked up.  My neighbor taught me Pyramid, which I really liked, and “Clock” (PGS: Travellers Clock), which had an appeal due to the elegance of play and the physicality of the the cards, but got boring quickly because of the lack of choice.  My mother taught me “Idiot’s Delight” (a name used to describe many different Solitaire games), which in this case was a purely mechanical version of Aces Up.  When I was sick, rather than comic books, I just wanted a couple decks of playing cards and, perhaps, some word search puzzles. :)

In the early years of elementary school, I had a couple of friends with whom I had discussions (and disagreements) about the rules of Klondike.  We spent time debating whether one should be able to build Aces to the tableau and, if so, whether Kings could be built on Aces, whether one was allowed to pull cards from the foundations (which I now know is called “winnowing back”), how many cards were dealt from stock to waste, and if there was a limit to redeals.  These are the same kind of game design discussions I still have now as we implement more games.

I also spent a great deal of time working on designing my own solitaire games, the rules of which, alas, were never written down and have been lost forever.  I recall that much of my focus was on small tableau games, those which could be played, ideally, with just one or two piles, making them easier to play in a car.  I also recall at least one with a unique mechanic, based on Go Fish, where the player would declare a selected card, and the play proceeded based on whether (or where?) the nominated rank appeared.  Of course, it is fair to assume that none of my inventions were as compelling as the traditional Solitaire games; otherwise, I probably would still be playing them.

During middle school, an acquaintance (friend of a parent) taught me an unnamed Solitaire game, which had two mechanics I had never seen before: movement of card groups regardless of order (as seen in Yukon) and a “hand” of up to 4 arbitrary cards (like the 4 cells in FreeCell).  This game had a greater degree of calculation and planning, and was less reliant on the luck of the deal, so it was very appealing to me.  Around the same time, I also learned how to do a “bridge” shuffle, so I tried to wear out my hands practicing the two together.  A variant of this game is implemented in PGS as Scorpion Head.

By this time, I was already programming computer games, and the idea of playing Solitaire on a computer was never far away.  My first proper (read: finished :) ) implementation was a text version of Aces Up on my Commodore VIC-20.  The program would shuffle and deal the cards, and one would play with simple keypresses for activating a column (i.e., discarding the top card or moving it into an empty space).  As I recall, my friend and I were the only two who ever actually played this game, but we started wondering about the chances of victory with the implemented rules, so I wrote a computer player that would play a hand using a specific heuristic (n.b., not a comprehensive solution search).  Once debugged, I ran the program overnight and the consistent result was that victory was achieved in just about 5% of the games.  (Clearly, a search would have done better… and taken much longer.)

Many other computer implementations followed.  Our friends showed us a game they called “Canasta Solitaire” (similar to Thirteen Packs, which has nothing in common with Canasta), and at their request, I wrote a version of that for the IBM PC (which, incidentally, became the scene of my biggest computer crash disaster :( ).  I wrote very nice DOS (EGA) versions of Pyramid and other games around 1990, and I was working on the Windows/DirectX versions of the these near the end of that decade, when I also worked (in a non-Solitaire capacity) with MVP Software on some other card game packages.

In 2001 (one suit of years ago), the Goodsol Development years began.  My first project was implementing a comprehensive display library, allowing the original Pretty Good Solitaire [for Windows] more options, including more than 2 decks per game.  The second project was Pretty Good MahJongg, which includes 55 original Solitaire games played with MahJongg tiles, followed by Action Solitaire, including (now) 75 Solitaire games played against the clock, and Most Popular Solitaire, my interpretation on the most popular games in PGS, as well as one (Crazy Quilt) that was the first Goodsol version of that game.  Add Mac and iPad versions of Pretty Good Solitaire and Most Popular Solitaire and a Mac version of Pretty Good MahJongg, as well as other products: Goodsol Solitaire 101 (Windows/Mac/iPad), FreeCell Plus (Windows/Mac/iPad), and A Little Solitaire (iPad).

Counting only Goodsol products (not different SKUs) on each platform (including bonus games), it appears that I have implemented 2639 Solitaire games!  More is definitely yet to come, as Thomas is already up to 840 and counting (with PGS), so I am still trailing by 290 games (on Mac and iPad, as well as an internal Windows project).

Of course, with the implementation of so many games, there is a focus on rules.  Due to my love of Solitaire (and games in general), I began collecting books of Solitaire rules.  The first game I learned from a book and really loved was La Belle Lucie, which I played with the merci (draw) rule, implemented in PGS as Three Shuffles and a Draw.  Since high school, I have amassed around two hundred books of traditional game rules, dozens of which have Solitaire games.  An informal survey of my current bookshelves shows 20 books dedicated solely to Solitaire, dating back as far as 1883 (because my copy of Lady Cadogan’s Illustrated Games of Patience is a reprint of the original 1875 book).

So, while Solitaire may be a simple pastime to most, keep in mind that a few of us really know (and appreciate) these games inside and out.  When you want to buy a computer Solitaire program lovingly crafted by the leading experts in the field…

Lightning Strikes

Inexpensive computer versus Mother Nature

Being discouraged from access to my computers for a while by an intense electrical storm, I thought back to this interesting experience I had back in the distant past, in the earlier part of my career.

For a couple of years, ending in 1987, I was the Service and Support Coordinator for a local computer store, Midwestern Technical Products, now long deceased.  In addition to programming, which was (initially) not enough work to fill a full-time position, I also served as the Service Manager, overseeing 4 technicians, as well as administering the (nominal) internal network and handling various other technical duties.

One day, a customer came into the store with a non-working Texas Instruments TI-99/4A, which had been the victim of a lightning strike.  Apparently, his house had been struck directly, destroying most of the electronics, and while the insurance company had replaced his television and stereo, he still wanted to recover this inexpensive computer.  Keep in mind that the TI-99/4A was already obsolete by this time, and when it was last available for purchase the retail price was down to only $99.

While “checking in” the computer (filling out the work order, etc.), I explained to the customer that, at a service charge of $65/hour, with (usually) a 30 minute minimum, it was highly unlikely that we would be able to fix the computer for less than it was worth.  Nevertheless, the customer insisted that we take a look.

Later that day, when the technician assigned to the initial assessment got to that work order, I was summoned back to the service room so that he could take pains to explain to me exactly what I had already told the customer.  Of course, being the manager, I also got a question along the lines of “What exactly do you expect me to do with this?”

So, just combining troubleshooting with a little brainstorming, I asked how much had been done so far, and was able to ascertain that that the problem has been verified, i.e., the computer has been plugged in and did absolutely nothing.  The technician was guessing, based on the lightning story, that the power supply was fried.  I then asked whether we were able to confirm that electricity was even getting to the power supply.  He had been so anxious to tell me how unlikely an economical solution would be that he had not even gotten that far, so while I watched, he learned that no voltage was getting through the power cord.  Of course, it was possible that the whole computer was toast, but until we could actually apply power to it, there was no way to know.

At this point, the technician (who appeared to just want my permission to dismiss this job and move on) said, “Now what?”  I looked at the power cord and noticed that, unlike many cords that had (and still do) a “wall wart” at the plug end, this cord had a wart in the middle of the cable.  Since we knew power was not getting all of the way through the cable, I thought that we could, literally, divide and conquer.  Looking closer at the bulge in the cord, I saw that there was a seam, and if we could split it, we could determine which half was at fault, or maybe get lucky and find something repairable in the middle.  I took the risk of destroying the (already failing) power cord and pried the wart apart.

What I discovered was surprising, but also surprisingly logical.  To move the wart electronics away from the wall, rather than design and manufacture a new cord, some brilliant engineer decided to simply plug the wart into a short extension cord (designed to match the size) and just glue the two together into one cord.  (Actually, I cannot say with absolute confidence whether it was glued, deliberately melted, or fused by lightning.)  In any event, pulling apart the cord gave us a shorter TI-99/4A power cord, and a short extension cord, with no exposed electronics at all.

I must admit here to skipping a couple of steps in our excitement.  Instead of testing each half of the power cord, I simply had the technician plug in the power cord, without the little extension, and, lo and behold, the computer sprung to life.  The cheap little extension, provided (apparently) just to make the cord easier to fit into a wall plug, ended up serving as an unconventional fuse, protecting the computer by self-destructing when lightning hit.

Availing myself of my (questionable) authority, I went ahead and reduced the minimum charge, in this instance, to only 15 minutes, and for $16.25, we had a happy customer with a working TI-99/4A, and also a story I remember 27 years later.

“I can’t stop, I can’t stop myself…”