Pretty Good MahJongg 2.2

Goodsol Development released Pretty Good MahJongg 2.2 today.

This version of Pretty Good MahJongg adds 40 new tile matching layouts, bringing the total to 215 layouts (including a dozen large layouts that use more than one set of tiles) and 55 solitaire games. As the programmer, I did not have much to add for this version, but there were a few changes not mentioned on the ‘What’s New in Pretty Good MahJongg‘ page.

Basically, all of the programming changes were minor tweaks that make the game easier to use and more enjoyable to play. For example, in several of the solitaire games, we changed the quick move (hint) feature that is invoked by right-clicking on a tile. Now, these rotate through all available moves, rather than just selecting the first legal move discovered. We also disable the AutoPlay when the [Ctrl] key is depressed, since it is occasionally beneficial to suspend this feature temporarily. With so many tile matching layouts, we decided to sort the games on the ‘Favorites’ tab (in options) alphabetically, instead of using the natural order, to make games easier to add and remove.

The best feature, as far as I am concerned, was the elimination of the “sudden death” rule from the Great Wall game and its variants: Hard Wall, Easy Wall, Waterfall, Cumberland, and Wall Pairs. These games are based on the Same Game, and in the new version, if a player gets into a position where there is only a single tile of one type, instead of getting an immediate loss, the ‘stuck’ dialog appears (sans ‘Shuffle’ option), allowing one to back out and try to find a correct solution. Also by player request, we added an option to Pelmanism and its variants to disable a confirmation click after each guess, making the game play more quickly.

This version is a free update for all registered users of Pretty Good MahJongg (including 1.0), and there is, of course, a free 30-day trial version available for everybody else. The one characteristic that this version shares with all previous versions is that it remains the only game that I have developed which did not require me to take a break after shipping. I continue to enjoy playing this game (almost daily).

Action Solitaire 1.1 Released

Goodsol Development released Action Solitaire 1.1 yesterday.

We are the developers of Action Solitaire, and more to the point, I am the sole programmer on the project. This new version is, ostensibly, just an update that adds 18 new games, for a total of 52 (a very nice number for card games). There are no changes to the artwork or major functionality within the game, and the only marketing change was actually the removal of an ineffective dialog. This is a free upgrade for all licensed users of Action Solitaire, so even the registration information did not have to change.

Internally, however, this was a major update which actually resulted in rewriting the 34 previous games to use more common code and less custom code for each game. This took a relatively long time to accomplish, compared to just starting to add games in the previously established way, and also added an element of risk, honestly. The payoff once finished, on the other hand, was the ability to add new games quickly. The resulting game code was also easier to understand and much smaller. The entire code base (excluding resources) was reduced by more than 20%, from 1.34M down to 1.05M, despite adding many new games.

The flip side of design and development is game balancing and testing, and in a game like Action Solitaire, this is a significant endeavor. Now that we can quickly add new games, we have to be able to balance them for greater enjoyment. Unlike a casual game such as Pretty Good Solitaire, where one plays each deal individually, Action Solitaire combines the results of multiple rounds, with both timing and scoring being factors in the final score. This means that games must be played to conclusion to determine the difficulty level and make balance adjustments.

For this version, we used a target of 15-20 rounds as an intended length of game for an accomplished player, so with a (roughly) average round time of 2-3 minutes, one could easily spend an hour on a single game. This is a decent playing time for a user, especially since the game design allows/encourages a break between rounds. However, when developing the product in a small team, it can prove rather inefficient. It only takes a few extra attempts at balancing the game before the testing time has exceeded development time, and this is before it ever leaves our studio en route to the beta testers. (The game actually includes code to support 78 games, but 26 variants are not displayed, at least partially for this reason.)

Now that this project has been redesigned internally, the individual game source code is more flexible for use in other ways, just as the interface code portion (not redesigned) is mostly shared with Pretty Good MahJongg. Speaking of Pretty Good MahJongg, one can expect another update of that successful product reasonably soon as well. We are definitely keeping busy.

Review: Game On

On Saturday, I went to see Game On: The History, Culture and Future of Video Games.

Game On is a temporary exhibit at the Museum of Science and Industry in Chicago, and as the name indicates, it is all about video games. The exhibit consists of 16 “levels”, each of which explores a different area of the topic, starting with Level 1: Early Games, which covers the history of the invention of video games. Each level is “hands on“, with games that can be played and experienced, in addition to various placards that give more static information.

The approach of Game On is interesting, in that a ticket to this exhibit gets one in at a specific time, but then one can stay as long as desired. I went early to be sure to have enough time to see and read everything and to still be able to play games that were interesting. As it turns out, most of the patrons were there for the latter aspect only. Despite a courtesy request to limit time on any game to five minutes, it was probably worth it for access to such a variety of games (and systems) for less than the cost of renting a single game for a week.

As an experienced game developer, I found that there was very little to Game On that was actually new information for me. The most relevant area was Level 4: Making Of, which had some interesting behind the scenes information such as concept sketches and storyboards. There was a video showing the progression of golfer animations in Golden Tee, from hand drawn through video rotoscoping to fully rendered 3D and motion capture. Also, the original concept/design document for Tomb Raider showed that our own documents for new projects are of very similar scope and level of detail.

On the other hand, as a player who literally grew up with video games, this exhibit was an excellent nostalgia trip. I remember playing Pong when it was brand new, and I proved that I still had the skills, beating my son (age 16) by a score of 11-2 in a shortened game. However, I could not recall the earlier, and less successful, Computer Space; alas, the two cabinets were for display only, and were not turned on. Unfortunately, there were some gaps in the history, skipping directly from Pong (1972) to Space Invaders (1978), and then to Pac Man (1981). It seems that Breakout and the other early digital games were a significant omission.

In the end, I actually played very few of the games, but I was there for a couple of hours just reading and perusing. The only portion of the exhibit to which I had a direct connection was at the very end, where some different technology was shown. Neither of the VR headsets that I worked on were there (only the one from the Atari Jaguar), but there was an old Nintendo PowerGlove on display. I had written drivers for the PC PowerGlove, as well as some that worked with the PC conversion box for the original glove. How that project turned out (or not) is the subject of a future posting.

After leaving Game On, I visited some of the other exhibits around the museum. Of the newer exhibits that I had never seen before, ToyMaker 3000 was particularly noteworthy. Although I did not take enough time to fully explore this exhibit, it was actually very relevant to game development. The automated manufacturing area was interesting, but the other (less traveled) portion dealt with planning the entire development of a product (using toy balls as a model), from initial idea through market research, sales and marketing, accounting, and even quality assurance. The complete project flow chart on one wall was magnificent, and if it were available in poster form, I would have purchased a copy on the spot.

Ultimately, the journey to Game On and the Museum of Science and Industry was worthwhile. Chicago is only a 3.5 hour drive from here, and admission prices were very reasonable. On the other hand, if I were to have flown in from elsewhere just for the exhibit, I would probably have been somewhat disappointed. However, a trip downtown to the original Pizzeria Uno for real Chicago deep-dish pizza is a recommended treat (even though parking costs nearly as much as the food).

Game Restrictions in Michigan

Unfortunately, this is not an April Fools Joke.

As mentioned in my previous entry, Governor Jennifer Granholm recently held a press conference to support a bill introduced in the Michigan Senate to restrict video game sales to minors. While the sentiment is worthy, the proposed legislation is abhorrent, as is the characterization of game developers as “those who would poison the minds of our young people” (as reported by Gamasutra).

The bill in question is Senate Bill 0249 (SB249), introduced by Hansen Clarke (et al) on February 24, notably without any known consultation with the existing game industry in Michigan. It is actually quite brief, amending the Michigan penal code by adding a section to Chapter XX (Children) as follows:

THE PEOPLE OF THE STATE OF MICHIGAN ENACT:
SEC. 143A.

(1) A PERSON SHALL NOT SELL OR RENT A RESTRICTED VIDEO GAME TO A PERSON WHO IS LESS THAN 17 YEARS OF AGE. AS USED IN THIS SECTION, “RESTRICTED VIDEO GAME” MEANS A VIDEO GAME RATED AO (ADULTS ONLY) OR M (MATURE) BY THE ENTERTAINMENT SOFTWARE RATING BOARD.
(2) A PERSON WHO VIOLATES THIS SECTION IS GUILTY OF A MISDEMEANOR PUNISHABLE BY IMPRISONMENT FOR NOT MORE THAN 1 YEAR OR A FINE OF NOT MORE THAN $5,000.00, OR BOTH.

I have neither the time nor the finger strength to detail all of the problems with this legislation in a single post, but I will make just a few quick points.

The first part of the bill specifies that a “restricted video game” is determined by a rating given by the ESRB, which is a private enterprise that (appropriately) charges publishers to rate video games. As currently written, a game developer could write and sell the most vile, disgusting title ever seen and as long as the publisher does not spend the money to have the game rated, it is legal to sell to minors. (I almost said “perfectly legal”, but a game that goes too far could potentially be subject to less specific morality laws.)

The logical conclusion is that there would be an attempt, either in debate or in future legislation, to close this loophole, which could really only be done by mandating game ratings. First Amendment concerns aside, this would require all game developers to spend significant money to have their games rated, which would put an unfair burden on independent developers yet have no noticeable impact on those publishers at which this legislation is directed.

The second part of the bill sets the penalties to be imposed on the “criminals” who would violate the law. It also transfers parental responsibility from those individuals who have the duty to monitor what their children play onto the primarily young people who work the registers at retail and rental stores.

It is important to note that the MPAA ratings used for movies in the United States is a voluntary system which works well, and there are no legal age restrictions on movies in Michigan. In other words (to put things into perspective), a theater operator who allows a seven-year-old child into a violent R-rated movie like Natural Born Killers or Kill Bill is not guilty of any crime, but a college student working at a store could be sent to jail for a year for renting Halo 2 to a 16-year-old.

To be clear, voluntary game ratings, as the ESRB and others are intended to work, are a good thing. They give responsible parents the information they need to begin to monitor the games their children play. However, they are supposed to be a tool, not a crutch. Attempts to legally restrict game sales, no matter how well-intentioned, are a bad idea.

Instead of faulty legislation, our government should be encouraging retailers and rental companies to impose or maintain policies based on voluntary game ratings. Better still, they should be encouraging parents to become more involved with their children, rather than just unfairly presenting video games as a scapegoat for all of society’s ills.