This blog is all about the craft of making games, and in particular, computer games. Gamecraft involves a broad range of topics, including design, development, quality control, packaging, marketing, management, and life experience.

Name: Gregg Seelhoff
Location: East Lansing, Michigan, United States

Wednesday, October 07, 2009

Gamecraft 2.0

... is not here.

If you somehow found your way to this site, it is merely a live archive of an older (Blogger) site. What you really want is here:

Wednesday, July 22, 2009

TTFN (July, 2009)

Ta Ta For Now [22 July 2009 Edition]

In mid-summer, with no particular news from SIC, and my primary development project taking longer than expected to get completed (enough for beta testing), I am going to take a short hiatus. I have plans to improve this blog aesthetically and also have a couple of technical articles already in the pipeline, so I hope the break to be brief (yet refreshing).

One can monitor one of the feeds (RSS or Atom) for my next blog update.

Thanks for reading!

Tuesday, July 14, 2009

No SIC for me

Thus begins a period of inward focus for us.

At the last minute, I have decided not to attend the Software Industry Conference this year. SIC 2009 begins tomorrow night [Wednesday, July 15] in Quincy [Boston], Massachusetts, but we will not be represented there. Honestly, I was not as inspired to go this year and never quite got around to registering. I did book the hotel, which forced the choice as the cancellation date arrived.

It was a tough decision. I thought about the pros to attending: networking with colleagues, learning marketing techniques from the various sessions, staying in touch with the industry, and having a source of inspiration. We were considering using SIC as a prelude to our quasi-annual offsite meeting, where we discuss the direction of the business and refocus on adjusted goals. Also, according to rumor, this will be the last SIC in Boston, so it would have been a final opportunity to experience that.

However, there was a longer list of cons: many friends/colleagues chose not to attend, none of my clients would be there, none of the sessions even approached "must see" status, and there are no Shareware Industry Awards this year. Perhaps the renaming of the conference to remove that dreaded word, "Shareware", also removed some of its purpose and relevance. Even the ASP Luncheon held little attraction for me, as the current leadership flounders and takes the organization off track.

Ultimately, though, it came down to total costs. The monetary expense of the conference is not bad at all, and I would have been able to attend with a total expenditure (including travel and accommodations) of less than just the registration for many other conferences. On the other hand, it would have required a commitment of five complete days, not including preparation and recovery time, and I felt that I could not justify that at a time when our projects are not where I want them to be. Had the conference been next week, the decision may have been different, but for now, my time is better spent on development than (potential) enrichment.

I will just have to see Boston under different circumstances.

Friday, July 03, 2009

Touch-A, Touch-A, Touch Me

My iPod is Dirty.

A couple weeks ago, we ordered our latest toy, I mean, tool for development. We got a new iPod Touch, deliberately choosing the smaller (8G) model available and receiving it before the iPhone 3.0 Software Update was automatically installed.

Initially, the intent was to familiarize ourselves with the technology, from a user perspective, but this device turned out to be much more than mere technology. I am astounded at the design (and/or happy coincidence) that went into the iPod Touch (and, presumably, the iPhone). It arrives in a plastic box the width and length of a 3x5 index card, and only about an inch thick. By "it", I mean everything that one needs: the device, the USB (data/charging) cable, a set of ear buds, a cleaning cloth, the Quick Start guide, and two of the ubiquitous Apple stickers. Also, the device comes fully charged, like other Apple products and unlike most other battery-operated devices. The first impression is just brilliant.

The iPod Touch itself is about 2.5 x 4.25 inches, and only a quarter inch thick, but it has enough heft to feel substantial. Shiny does not hurt at all (and ordering directly from Apple allows one to personalize the back with two lines of laser engraving). The genius of the device, however, is not in the specifications, but in how everything works together to create a physically satisfactory experience. One wants to pick it up, hold it, use it, even if there is not that much to do with the default applications. (I suppose that if it were an iPhone, we would be making unnecessary phone calls, too.)

The pre-installed software is sufficient to show off the basic features, and I imagine that most users try almost every application at least once and probably even make an excuse to use some. (I tried the alarm clock feature to avoid a four foot journey to the real alarm clock.) However, these programs are quickly exhausted, so the "App Store" becomes important for finding something else to do, another justification for playing/working with the iPod Touch. I believe that this contributes greatly to the success of this channel.

One thing that would be a great application for playing with the curiously magnetic iPod Touch would be a solitaire game (or many) that worked particularly well with this hardware. Speculation about the possibility of a top brand of solitaire coming to this platform would be entirely justified.

(with apologies to Richard O'Brien)

Wednesday, July 01, 2009

Have you joined SpamBook yet?

A barrage of Facebook spams sets off a rant.

Last Friday, at 4:38pm, I received an email from Facebook entitled, "Reminder: 5 of your friends invited you to join Facebook..." Fine. Some people collect and count "friends" on that service, while I do not join and count the number of real life friends who have invited me to join. (My wife and business partner knows me well enough that she is not part of that group.) If I were to join, of course, I would lose count.

Then, at 11:40pm, I received another one, nearly identical, but with different 'Other people you may know on Facebook'. Curious, I verified that the messages were both coming from Facebook, via email headers and the fact that the (accurate) list of invitations I have received should be known only to them. "Oops, duplicate message," I thought. On Saturday, I received reminders at 4:44am, 6:47am, 12:16pm, 5:07pm, and 9:44pm. For good measure, I received another one on Sunday at 1:28am. Eight nearly identical messages within 33 hours trying to get me (now pissed) to join their silly little club. Not likely.

[I just decided to check the names in all eight messages, and two actually suggest that I may know my own brother. That I do. None of the other names, though.]

After the Facebook "fun" stopped, a denial of service attack on our server began. Somebody started bombarding the server with random spam messages to, literally, random (GUID-like) addresses at our domain. Not a single message from the culprit had any chance of hitting a real address, since they were not even in a human usable form, but we were getting hundreds per minute, and lost the server entirely for a while.

In the middle of dealing with this mess, the home phone rang (which normally puts me on edge anyway) and I answer to find that Payless Shoes has decided to robodial me to tell me about some sale coming to an end. Seriously?!? We are on the national Do Not Call list, and the fact that we may have bought cheap shoes there once does not give them the right to call me. I have no idea how they would have my number in the first place, so it may have just been coincidence. Report filed; customers lost.

The mail arrived with a machine printed return address from "Ealge Eye Fitness". It made me laugh, since the people that sent it out clearly did not have the Eagle Eyes that they intended to portray. Business not earned.

Once email service was returned to normal, "Michael Jackson" became only the second actual name inducted into my spammers hall of fame filter, joining "Oprah", as subjects (or subsubjects) that guarantee a message is not intended for nor of any interest to me. The sheer number of "surveys" and "news items" about his death was astonishing, especially from an industry which still regularly sent me (in June) special offers for Valentine's Day.

Now that it is officially July, let me simply say that the greatest musical loss last month was definitely... Koko Taylor, who died on June 3 at the age of 80. (I saw her pitch a Wang Dang Doodle live more than 20 years ago, and she kept tearing it up right to the end.)

Here endeth the rant.

Thursday, June 25, 2009

No Magic Numbers

Action Solitaire 1.31 is now available for download.

After the last posting, we discovered a rather significant bug in Action Solitaire. It was fortunate that it was discovered in house, but unfortunate that it was not found during beta testing and, hence, required a public update. The problem caused two of the 65 games to behave incorrectly (or even crash) when large or huge card sizes were selected, either explicitly or implicitly through automatic sizing.

The problem turned out to be magic numbers in the code. We released the first version of Action Solitaire back in 2003, which was six years of coding experience ago and at a time when I felt under some (self-imposed) pressure to get the product finished. Unlike some of the other projects, the source code for this game has not been refactored, except to the extent necessary to make updates for Vista and add new games, so I never revisited these (working) games to see the problem.

For those who do not know, a magic number is an explicit and undocumented constant in the source code for a program, so named because the value works like magic, without any proper explanation. In this particular case, the width and height of an image buffer were set to constant values, calculated (manually) to accommodate an area based on the largest card sizes supported by the game at that time. Rather than actually letting the computer determine the necessary buffer size, based on named constant values (e.g., MaxCardWidth and MaxCardHeight), the code just used constant numbers directly. When the maximum card size increased, the buffer was too small and problems ensued. Such are the dangers of magic numbers.

It did not take long to find and fix the problem, but it should not have been necessary in the first place, especially since we had standards, even back then, that discouraged the use of magic numbers. I made an exception and got burned. Ouch.

Anyway, Action Solitaire can be downloaded here, and I guarantee ample opportunity to find other bugs in this product, but the game is fun (and addictive) as well.

Tuesday, June 16, 2009

Action Solitaire 1.30

Can you believe it? Another product release!

Goodsol Development has released Action Solitaire 1.30, continuing the string of product update releases in 2009. This latest version of Action Solitaire adds five more games and (belatedly) implements support for larger card sizes, including those provided in all of the newer downloadable cardsets. The new action games are:

  • Two Cells
  • Three Cells
  • Klondike Deal Three
  • Canfield Deal Three
  • Black Hole

One nice thing about these new games is that it creates 5 more opportunities for players to climb to the top of the standings (or ten, if one counts both tables for each game).

As this product was in beta testing, I noticed that, oddly, all of our Action Solitaire releases have been in odd years, starting in 2003:

  • Version 1.0 - December 9, 2003
  • Version 1.1 - April 18, 2005
  • Version 1.2 - May 24, 2007
  • Version 1.3 - June 16, 2009

Following this pattern, this would be the last update until the second part of July, 2011! However, a popular clambering for a Mac version would probably result in AS 2.0 well before that time.

Download and enjoy! [from here]