<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-9262978</id><updated>2009-10-08T02:45:27.294-04:00</updated><title type='text'>Gamecraft</title><subtitle type='html'>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.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/blog.html'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='atom.xml'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>251</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9262978.post-1262054890925304521</id><published>2009-10-07T19:27:00.004-04:00</published><updated>2009-10-07T19:32:07.093-04:00</updated><title type='text'>Gamecraft 2.0</title><content type='html'>... is not here.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a style="font-weight: bold;" href="http://blog.gamecraft.org"&gt;&lt;span style="font-size:180%;"&gt;http://blog.gamecraft.org&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-1262054890925304521?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/1262054890925304521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=1262054890925304521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1262054890925304521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1262054890925304521'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/10/gamecraft-20' title='Gamecraft 2.0'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-3168135480739564323</id><published>2009-07-22T00:40:00.004-04:00</published><updated>2009-10-08T02:45:27.302-04:00</updated><title type='text'>TTFN (July, 2009)</title><content type='html'>Ta Ta For Now [22 July 2009 Edition]&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;One can monitor one of the feeds (&lt;a href="http://blog.gamecraft.org/rss.xml"&gt;RSS&lt;/a&gt; or &lt;a href="http://blog.gamecraft.org/atom.xml"&gt;Atom&lt;/a&gt;) for my next blog update.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Thanks for reading!&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-3168135480739564323?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/3168135480739564323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=3168135480739564323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/3168135480739564323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/3168135480739564323'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/07/ttfn-july-2009' title='TTFN (July, 2009)'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-6606192825080861075</id><published>2009-07-14T05:56:00.003-04:00</published><updated>2009-07-14T06:37:38.734-04:00</updated><title type='text'>No SIC for me</title><content type='html'>Thus begins a period of inward focus for us.&lt;br /&gt;&lt;br /&gt;At the last minute, I have decided not to attend the &lt;a href="http://www.sic.org/"&gt;Software Industry Conference&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;It was a tough decision.  I thought about the &lt;em&gt;&lt;span style="color:#ff0000;"&gt;pros&lt;/span&gt;&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;However, there was a longer list of &lt;em&gt;&lt;span style="color:#ff0000;"&gt;cons&lt;/span&gt;&lt;/em&gt;: many friends/colleagues chose not to attend, none of my clients would be there, &lt;em&gt;none&lt;/em&gt; of the sessions even approached "must see" status, and there are no &lt;a href="http://www.sharewareindustryawards.com/"&gt;Shareware Industry Awards&lt;/a&gt; this year.  Perhaps the renaming of the conference to remove that dreaded word, "Shareware", also removed some of its purpose and relevance.  Even the &lt;a href="http://www.asp-shareware.org/"&gt;ASP&lt;/a&gt; Luncheon held little attraction for me, as the current leadership flounders and takes the organization off track.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;next&lt;/em&gt; week, the decision may have been different, but for now, my time is better spent on development than (potential) enrichment.&lt;br /&gt;&lt;br /&gt;I will just have to see Boston under different circumstances.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-6606192825080861075?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/6606192825080861075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=6606192825080861075' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6606192825080861075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6606192825080861075'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/07/no-sic-for-me' title='No SIC for me'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-1493766044444997746</id><published>2009-07-03T00:51:00.003-04:00</published><updated>2009-07-03T01:30:48.498-04:00</updated><title type='text'>Touch-A, Touch-A, Touch Me</title><content type='html'>My iPod is Dirty.&lt;br /&gt;&lt;br /&gt;A couple weeks ago, we ordered our latest toy, I mean, &lt;strong&gt;&lt;em&gt;tool&lt;/em&gt;&lt;/strong&gt; for development.  We got a &lt;span style="color:#ff0000;"&gt;new iPod Touch&lt;/span&gt;, deliberately choosing the smaller (8G) model available and receiving it before the iPhone 3.0 Software Update was automatically installed.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;un&lt;/em&gt;like most other battery-operated devices.  The first impression is just brilliant.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;wants&lt;/em&gt; 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.)&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;(with apologies to Richard O'Brien)&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-1493766044444997746?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/1493766044444997746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=1493766044444997746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1493766044444997746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1493766044444997746'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/07/touch-touch-touch-me' title='Touch-A, Touch-A, Touch Me'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-8652144860181337526</id><published>2009-07-01T07:01:00.004-04:00</published><updated>2009-07-01T07:52:40.052-04:00</updated><title type='text'>Have you joined SpamBook yet?</title><content type='html'>A barrage of Facebook spams sets off a rant.&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;not&lt;/em&gt; part of that group.) If I were to join, of course, I would lose count.&lt;br /&gt;&lt;br /&gt;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 &lt;strong&gt;and&lt;/strong&gt; 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.&lt;br /&gt;&lt;br /&gt;[I just decided to check the names in all eight messages, and two actually suggest that I may know my own brother. &lt;em&gt;That I do.&lt;/em&gt; None of the other names, though.]&lt;br /&gt;&lt;br /&gt;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 &lt;em&gt;any&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;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. &lt;strong&gt;&lt;em&gt;Seriously?!?&lt;/em&gt;&lt;/strong&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Now that it is officially July, let me simply say that the greatest musical loss last month was definitely... &lt;a href="http://www.kokotaylor.com/"&gt;&lt;strong&gt;Koko Taylor&lt;/strong&gt;&lt;/a&gt;, 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.)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Here endeth the rant.&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-8652144860181337526?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/8652144860181337526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=8652144860181337526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/8652144860181337526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/8652144860181337526'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/07/have-you-joined-spambook-yet' title='Have you joined SpamBook yet?'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-1523777471232806091</id><published>2009-06-25T06:33:00.003-04:00</published><updated>2009-06-25T07:00:31.914-04:00</updated><title type='text'>No Magic Numbers</title><content type='html'>&lt;strong&gt;&lt;em&gt;Action Solitaire 1.31&lt;/em&gt;&lt;/strong&gt; is now available for download.&lt;br /&gt;&lt;br /&gt;After the last posting, we discovered a rather significant bug in &lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Action Solitaire&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;.  It was fortunate that it was discovered in house, but &lt;em&gt;un&lt;/em&gt;fortunate 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.&lt;br /&gt;&lt;br /&gt;The problem turned out to be &lt;span style="color:#ff0000;"&gt;magic numbers&lt;/span&gt; in the code.  We released the first version of &lt;strong&gt;&lt;em&gt;Action Solitaire&lt;/em&gt;&lt;/strong&gt; back in 2003, which was six years of  coding experience ago &lt;em&gt;and&lt;/em&gt; 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.&lt;br /&gt;&lt;br /&gt;For those who do not know, &lt;span style="color:#ff0000;"&gt;a magic number is an explicit and undocumented constant&lt;/span&gt; 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 &lt;strong&gt;at that time&lt;/strong&gt;.  Rather than actually letting the computer determine the necessary buffer size, based on named constant values (e.g., &lt;em&gt;MaxCardWidth&lt;/em&gt; and &lt;em&gt;MaxCardHeight&lt;/em&gt;), 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.&lt;br /&gt;&lt;br /&gt;It did not take long to find and fix the problem, but it should not have been necessary in the first place, &lt;em&gt;especially&lt;/em&gt; since we had standards, even back then, that discouraged the use of magic numbers.  I made an exception and got burned.  &lt;em&gt;Ouch.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Anyway, &lt;a href="http://www.actionsol.com/downloadnow.html"&gt;&lt;strong&gt;&lt;em&gt;Action Solitaire&lt;/em&gt;&lt;/strong&gt; can be downloaded here&lt;/a&gt;, and I guarantee ample opportunity to find other bugs in this product, but the game is fun (and addictive) as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-1523777471232806091?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/1523777471232806091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=1523777471232806091' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1523777471232806091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1523777471232806091'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/06/no-magic-numbers' title='No Magic Numbers'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-6270799890753007272</id><published>2009-06-16T01:30:00.002-04:00</published><updated>2009-06-17T18:45:04.116-04:00</updated><title type='text'>Action Solitaire 1.30</title><content type='html'>Can you believe it? Another product release!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt; has released &lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Action Solitaire 1.30&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;, continuing the string of product update releases in 2009. This latest version of &lt;a href="http://www.actionsol.com/"&gt;&lt;strong&gt;&lt;em&gt;Action Solitaire&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; adds five more games and (belatedly) implements support for larger card sizes, including those provided in all of the newer &lt;a href="http://www.goodsol.com/pgs/cardsets.html"&gt;downloadable cardsets&lt;/a&gt;. The new action games are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Two Cells&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Three Cells&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Klondike Deal Three&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Canfield Deal Three&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Black Hole&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;As this product was in beta testing, I noticed that, oddly, all of our &lt;strong&gt;&lt;em&gt;Action Solitaire&lt;/em&gt;&lt;/strong&gt; releases have been in odd years, starting in 2003:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Version 1.0 - December 9, 2003&lt;/li&gt;&lt;li&gt;Version 1.1 - April 18, 2005&lt;/li&gt;&lt;li&gt;Version 1.2 - May 24, 2007&lt;/li&gt;&lt;li&gt;Version 1.3 - June 16, 2009&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Download and enjoy!&lt;/span&gt; [&lt;a href="http://www.actionsol.com/downloadnow.html"&gt;from here&lt;/a&gt;]&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-6270799890753007272?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/6270799890753007272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=6270799890753007272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6270799890753007272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6270799890753007272'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/06/action-solitaire-130' title='Action Solitaire 1.30'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-4015382605477125485</id><published>2009-06-13T17:29:00.016-04:00</published><updated>2009-06-13T18:46:27.747-04:00</updated><title type='text'>2009 People's Choice Awards</title><content type='html'>Only two days left to vote!&lt;br /&gt;&lt;br /&gt;This year, the leadership of the &lt;strong&gt;SIAF&lt;/strong&gt; (&lt;a href="http://www.siaf.org/"&gt;Shareware Industry Awards Foundation&lt;/a&gt;), the group which produces the &lt;span style="color:#ff0000;"&gt;Software (nee Shareware) Industry Conference&lt;/span&gt; (&lt;a href="http://www.sic.org/"&gt;SIC&lt;/a&gt;) each year, made the unfortunate decision not to present the Shareware Industry Awards this year. These premier awards were basically the Oscars of this industry, voted on by other industry members, and represented peer recognition. No SIA was presented for any standard game category last year (2008), so our own &lt;strong&gt;&lt;em&gt;&lt;a href="http://www.goodmj.com/"&gt;Pretty Good MahJongg&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; was the last game to win one of these prestigious awards for the &lt;a href="http://blog.gamecraft.org/2007/10/pretty-good-mahjongg-wins-sia"&gt;2007 Best Non-Action Game&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the absence of the Shareware Industry Awards, the &lt;span style="color:#ff0000;"&gt;People's Choice Awards&lt;/span&gt; take center stage at the SIC banquet (presumably). With no nomination process, and voting open to anybody with an email address, there is no particular anticipation for these awards (and with no game PCA presented since 2006, even less for us). Nevertheless, I will support the awards process, so I submitted my ballot today.&lt;br /&gt;&lt;br /&gt;The &lt;span style="color:#ff0000;"&gt;deadline is looming&lt;/span&gt; [Monday, June 15th], but if anybody has not yet voted and still has time to do so, we would certainly appreciate consideration of some of our products:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.goodsol.com/mac/"&gt;Pretty Good Solitaire Mac Edition&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; - our premier Mac product&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.goodmj.com/"&gt;Pretty Good MahJongg&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; - original tile solitaire for Windows&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.moposol.com/"&gt;Most Popular Solitaire&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; - 30 solitaire game for both Windows and Mac&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.goodsol.com/101/"&gt;Goodsol Solitaire 101&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; - best 101 games and climb mode for Windows&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="http://www.actionsol.com/"&gt;Action Solitaire&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; - solitaire games played against the clock for points&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Although I certain could have done so, I did not fill all seven lines on my ballot with our games. I did an evaluation of the products that I use on a regular basis and which greatly aid my (development) productivity, and these products really stood out:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.scootersoftware.com/"&gt;&lt;em&gt;&lt;strong&gt;Beyond Compare&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is an absolutely &lt;em&gt;indispensable&lt;/em&gt; part of my development toolkit, and I use it almost daily for code diffs, file syncing, single line editing, and even viewing of Japanese/Unicode resource files (which VC6 cannot handle).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jrsoftware.org/isinfo.php"&gt;&lt;em&gt;Inno Setup&lt;/em&gt;&lt;/a&gt; is the easy choice for creating professional installers, and though it is not shareware, it is downloadable (free/donationware).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ec-software.com/"&gt;&lt;em&gt;Help &amp;amp; Manual&lt;/em&gt;&lt;/a&gt; is simply the best help editor I have ever used (though I will admit to preferring version 4 &lt;em&gt;without&lt;/em&gt; the ribbon interface).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gimpel.com/"&gt;&lt;em&gt;PC-lint&lt;/em&gt;&lt;/a&gt; is critical to my C++ programming work and it is run, literally, alongside my compilations to guard against both silly mistakes and serious errors in order to help keep the quality of my code as high as possible (although there is no downloadable trial version, unfortunately).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://blog.gamecraft.org/images/sia_peoples_choice_vote_6.gif"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 122px; DISPLAY: block; HEIGHT: 72px; CURSOR: hand" border="0" alt="" src="http://blog.gamecraft.org/images/sia_peoples_choice_vote_6.gif" /&gt;&lt;/a&gt;&lt;br /&gt;To vote for the 2009 People's Choice Awards, simply &lt;a href="http://www.siavoting.org/pcregister.php"&gt;register to vote&lt;/a&gt; (with just name and email address) and then follow the link that will be emailed to you and enter up to 7 software products. &lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Easy.&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-4015382605477125485?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/4015382605477125485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=4015382605477125485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4015382605477125485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4015382605477125485'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/06/2009-peoples-choice-awards' title='2009 People&apos;s Choice Awards'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-3609821348819144202</id><published>2009-06-07T10:34:00.008-04:00</published><updated>2009-06-07T11:34:16.855-04:00</updated><title type='text'>A Tale of a Good Anti-spam Tool</title><content type='html'>Spam, spam, go away...  You are not welcome ANY day.&lt;br /&gt;&lt;br /&gt;My approach to my primary email address, from the very start (more than 13.5 years ago) was that potential clients and customers should be able to contact me without jumping through hoops, so I have never bothered to hide or obscure my address: &lt;a href="mailto:seelhoff@sophsoft.com"&gt;seelhoff@sophsoft.com&lt;/a&gt; .  I have always published it in plain view (and to do otherwise would now be closing the barn door long after the horse has bolted and gone on to live free and happy until dying of old age).&lt;br /&gt;&lt;br /&gt;Of course, this also allows any spamming slimebag with an address harvester to easily add me to each and every email database on the planet, so I do get spam.  Lots of spam.  To be honest, though, the level of spam to my "open" account seemed to plateau fairly quickly, although I never really kept track.  Over the years, it may have been slowly and steadily rising, but I know that my patience has been slowly and steadily declining, so a while ago, I added some tools to stem the tide.&lt;br /&gt;&lt;br /&gt;Let's talk numbers, first.  Since the beginning of April, my primary email account has received 75,000 email messages.  Of those, almost exactly &lt;span style="color:#ff0000;"&gt;98% are spam&lt;/span&gt;.  Of the other (legitimate) messages, 80% are business (1.6% of the total), and the remaining 20% (0.4% of the total) are personal.  Both of these categories include active mailing lists, such as Carbon and DirectX development (business) and community events (personal).  I set up my email client to automatically sort these (and marketing messages) into appropriate folders, and the number of messages specifically to &lt;em&gt;me&lt;/em&gt;, from clients, customers, family, and friends, is just a handful per day.  These are the only ones that actually hit my inbox and trigger a notification sound.&lt;br /&gt;&lt;br /&gt;To be honest, not all Bayesian filtering is created equal, and my email client is probably about average.  It handled much of the junk, but an annoying number of spams were being missed, and signalling me (incorrectly) that I had a legitimate message.  When I finally had enough, I downloaded and installed &lt;a href="http://getpopfile.org/"&gt;&lt;strong&gt;POPFile&lt;/strong&gt;&lt;/a&gt; upon a recommendation from somebody in the &lt;a href="http://www.asp-shareware.org/"&gt;ASP&lt;/a&gt;.  I had been leery about installing an interim mail server on my system simply for filtering email, but it turned out to be an &lt;strong&gt;excellent&lt;/strong&gt; choice.&lt;br /&gt;&lt;br /&gt;After several months of training, &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;POPFile&lt;/strong&gt; is 99.92% accurate&lt;/span&gt; selecting among business, personal, and spam classifications and, importantly, I have gone for more than a month without a false positive for spam.  (Most of the classification "errors" are simply unclassified messages that need to be trained.)  Used in series with my email client, I can review messages that either think may be legitimate (ideally, to never miss a valid email), but I am only notified of incoming mail if they both agree on the validity.  This has greatly reduced interruptions and made my days more productive.&lt;br /&gt;&lt;br /&gt;Of course, there is some training involved so &lt;strong&gt;POPFile&lt;/strong&gt; can "learn" the difference between legitimate messages and spam, but the initial process goes pretty quickly (and when one averages more than 1000 messages per day, there is lots of data).  If I were to start all over again, I would &lt;em&gt;not&lt;/em&gt; have chosen to have business and personal messages separated, since that distinction is not particularly necessary for me (and not always clear, either, such as when a family member reports a server problem, or a business associate invites me to a party).&lt;br /&gt;&lt;br /&gt;If you are looking for an anti-spam solution local to your own system, I strongly recommend &lt;a href="http://getpopfile.org/"&gt;&lt;strong&gt;POPFile&lt;/strong&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-3609821348819144202?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/3609821348819144202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=3609821348819144202' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/3609821348819144202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/3609821348819144202'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/06/tale-of-good-anti-spam-tool' title='A Tale of a Good Anti-spam Tool'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-2350344094182024223</id><published>2009-05-26T02:00:00.001-04:00</published><updated>2009-05-27T01:43:40.995-04:00</updated><title type='text'>Most Popular Solitaire 2.00</title><content type='html'>An update to yet another successful card solitaire game is released.&lt;br /&gt;&lt;br /&gt;One week ago, &lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Most Popular Solitaire 2.00&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; was published by &lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt;. This is a major upgrade to a product first released (for Windows) in 2003. &lt;a href="http://www.moposol.com/"&gt;&lt;strong&gt;&lt;em&gt;Most Popular Solitaire&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; is a collection of 30 of the most popular (surprise!) card solitaire games, including all of the favorites: &lt;strong&gt;Klondike&lt;/strong&gt; (often known as simply Solitaire), &lt;strong&gt;FreeCell&lt;/strong&gt;, &lt;strong&gt;Spider&lt;/strong&gt;, and a number of (well, 27, obviously) others.&lt;br /&gt;&lt;br /&gt;In terms of features, either the most important or least important, depending on ones system, is that &lt;strong&gt;&lt;em&gt;Most Popular Solitaire 2.00&lt;/em&gt;&lt;/strong&gt; has equivalent versions for both &lt;span style="color:#ff0000;"&gt;Windows &lt;em&gt;and&lt;/em&gt; Mac OS X&lt;/span&gt; available. This new version also includes &lt;a href="http://blog.gamecraft.org/2007/12/solution-climb-mode"&gt;Climb Mode&lt;/a&gt; and &lt;span style="color:#ff0000;"&gt;13 bonus games&lt;/span&gt; in the full (purchased) version, as well as a number of other smaller features. (Of course, &lt;em&gt;everything&lt;/em&gt; is a new feature on this initial Mac release, but it is an improvement on &lt;a href="http://blog.gamecraft.org/2007/11/pretty-good-solitaire-mac-edition-10"&gt;Pretty Good Solitaire Mac Edition 1.0&lt;/a&gt;, which included the same 30 games.)&lt;br /&gt;&lt;br /&gt;In terms of technology, this release used the same revisions of our &lt;span style="color:#ff0000;"&gt;Goodsol Solitaire Engine&lt;/span&gt; that were used for &lt;a href="http://blog.gamecraft.org/2009/04/goodsol-solitaire-101-version-101"&gt;Goodsol Solitaire 101 version 1.01&lt;/a&gt; (on Windows) and &lt;a href="http://blog.gamecraft.org/2009/05/pretty-good-solitaire-mac-edition-201"&gt;Pretty Good Solitaire Mac Edition 2.01&lt;/a&gt; (on Mac OS X). These are the last planned updates before the next GSE upgrade, which will add a few additional features and make some internal changes to reduce the source code differences between platforms.&lt;br /&gt;&lt;br /&gt;The marketing challenge for this product is handling both the Windows and Mac OS X versions simultaneously.  Having the same price (and registration codes) for both makes it easier, and also allows customers to switch to Mac (you know, or the other way) without having to repurchase.  The biggest issue is the different approach to trial versions: whereas the Windows version can be converted into the full version by entry of the registration code, the Mac OS X version has a separate full version download.&lt;br /&gt;&lt;br /&gt;In the three weeks since the latest &lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition&lt;/em&gt;&lt;/strong&gt; update, that product has risen (back) into the top 5 on &lt;a href="http://www.apple.com/downloads/macosx/games/cards_puzzle/index_top.html"&gt;Most Popular in the Cards &amp;amp; Puzzles category&lt;/a&gt; for Apple Downloads, but &lt;strong&gt;&lt;em&gt;Most Popular Solitaire (Mac Edition)&lt;/em&gt;&lt;/strong&gt; is now in the top 20 (and climbing) in only a week.  Downloads of both products (trial versions) are increasing, but we will have to see how that translates into sales.&lt;br /&gt;&lt;br /&gt;In any event, &lt;span style="color:#ff0000;"&gt;somebody is enjoying our games, and I dig that&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-2350344094182024223?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/2350344094182024223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=2350344094182024223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2350344094182024223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2350344094182024223'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/05/most-popular-solitaire-200' title='Most Popular Solitaire 2.00'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-8943318885954929486</id><published>2009-05-19T05:52:00.007-04:00</published><updated>2009-05-19T07:49:45.938-04:00</updated><title type='text'>Duke Nukem For Never</title><content type='html'>Surprise (NOT)!&lt;br /&gt;&lt;br /&gt;As you have probably heard or read, &lt;a href="http://www.3drealms.com/"&gt;&lt;strong&gt;3D Realms&lt;/strong&gt;&lt;/a&gt;, the developer of (the aptly named) &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;&lt;em&gt;Duke Nukem Forever&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;, has gone out of business. The company website now features a big "Goodbye" message on the front page. The story was reported even in the mainstream media, including &lt;a href="http://news.bbc.co.uk/2/hi/technology/8037688.stm"&gt;this BBC News article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The release date for DNF has always been "&lt;em&gt;When it's done.&lt;/em&gt;" This scheduling choice seems to put a product on a slow train to vaporware, and I posted about it being way past expiration three years ago: &lt;a href="http://blog.gamecraft.org/2006/01/long-time-coming"&gt;A Long Time Coming&lt;/a&gt;. I could rehash the history, but game industry news site &lt;a href="http://www.shacknews.com/"&gt;Shacknews&lt;/a&gt; has posted an updated article (originally from 2007), &lt;a href="http://www.shacknews.com/featuredarticle.x?id=1129"&gt;The Brief Long History of DNF: Post-3D Realms Edition&lt;/a&gt;, detailing a dozen years of unfulfilled promises and hype.&lt;br /&gt;&lt;br /&gt;So, now &lt;strong&gt;&lt;em&gt;Duke Nukem Forever&lt;/em&gt;&lt;/strong&gt; is finally toast, all of the developers have been laid off, the company is gone, and the product is going to remain unpublished. The saga ends here, right?&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Not so fast.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Next comes word that &lt;a href="http://www.take2games.com/"&gt;Take Two Interactive&lt;/a&gt;, who in 2000 (perhaps unwisely) purchased the publishing rights to this title (from another publisher) for &lt;span style="color:#ff0000;"&gt;$12 million&lt;/span&gt;, and reportedly (probably unwisely) renewed this agreement with 3D Realms in 2007, is now suing for breach of contract. Of course, they (definitely unwisely) never provided any development funding for the title, so there is not much left there to get...&lt;br /&gt;&lt;br /&gt;... except the &lt;span style="color:#ff0000;"&gt;source code&lt;/span&gt;. Take Two immediately filed for an injunction to get a copy of the source code "&lt;em&gt;to ensure the code is preserved and remains unharmed&lt;/em&gt;" while it prosecutes its lawsuit, as shown in &lt;a href="http://ve3d.ign.com/articles/news/47115/Take-Two-Software-Versus-3D-Realms-Court-Documents-Released"&gt;this article about the release of the court documents&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now it is revealed in &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=23681"&gt;this Gamasutra article&lt;/a&gt; that "&lt;em&gt;3D Realms has not closed and is not closing&lt;/em&gt;" after all. They merely fired (sorry, "let go") the entire Duke Nukem Forever development team due to lack of funding. Still, they (i.e., unnamed 3D Realms representatives) "&lt;em&gt;believe Take-Two's lawsuit is without merit and merely a bully tactic&lt;/em&gt;". Really? Interesting.&lt;br /&gt;&lt;br /&gt;Here is what we know:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Company management did not do what it would take to ship this game.&lt;/li&gt;&lt;li&gt;The development team did not do what it would take to ship this game.&lt;/li&gt;&lt;li&gt;The publisher did not provide what it would take to ship this game.&lt;/li&gt;&lt;li&gt;Incompetence reigns in this matter, and there is plenty of blame to go around.&lt;/li&gt;&lt;li&gt;It will probably be another year before this matter is finally settled.&lt;/li&gt;&lt;/ol&gt;This whole story is a case study in poor choices and a wholesale failure of anybody involved to recognize and acknowledge the &lt;em&gt;[situation]&lt;/em&gt; this has become. Trains wrecks are fascinating, though.&lt;br /&gt;&lt;br /&gt;"&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Always Bet On Duke.&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;" - I don't think so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-8943318885954929486?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/8943318885954929486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=8943318885954929486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/8943318885954929486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/8943318885954929486'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/05/duke-nukem-for-never' title='Duke Nukem For Never'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-7659295872895831786</id><published>2009-05-05T02:01:00.002-04:00</published><updated>2009-05-11T10:06:16.621-04:00</updated><title type='text'>Pretty Good Solitaire Mac Edition 2.01</title><content type='html'>A update to our best-selling card solitaire game for the Mac is available.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt; published &lt;em&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Pretty Good Solitaire Mac Edition 2.01&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;, a maintenance update to &lt;a href="http://blog.gamecraft.org/2009/03/pretty-good-solitaire-mac-edition-20"&gt;&lt;strong&gt;PGSME 2.0&lt;/strong&gt; announced here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This version of &lt;a href="http://www.goodsol.com/mac/"&gt;Pretty Good Solitaire Mac Edition&lt;/a&gt; fixes about a dozen (i.e., &lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt;) bugs reported since the initial release, and also makes a few changes designed to improve ease of use and, thereby, reduce the number of customer support inquiries.  In particular, &lt;em&gt;many&lt;/em&gt; users did not understand the &lt;a href="http://blog.gamecraft.org/2007/12/solution-climb-mode"&gt;Climb Mode&lt;/a&gt; feature at all, much to my personal dismay, so it is no longer the default.&lt;br /&gt;&lt;br /&gt;The most &lt;span style="color:#ff0000;"&gt;important bug fix&lt;/span&gt; in this version, and the one that took the longest time to find and track down, was an interface race condition which could allow code to be unexpectedly reentered, sometimes causing a crash or, more often, just creating illegal positions.  The nature of the bug meant that some (most?) players would never experience a problem, but a few managed to trigger the error on a regular basis.  Imagine clicking to redeal a waste pile back to the stock and then attempting to redeal from the stock during this process.  Unfortunately, "&lt;em&gt;Patience is a Virtue&lt;/em&gt;" was not an adequate response.&lt;br /&gt;&lt;br /&gt;After the initial release, &lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition 2.0&lt;/em&gt;&lt;/strong&gt; was &lt;span style="color:#ff0000;"&gt;a hit in the Top Apple Downloads&lt;/span&gt;, rising to #2 &lt;a href="http://www.apple.com/downloads/macosx/games/cards_puzzle/index_top.html"&gt;Most Popular in the Cards &amp;amp; Puzzles category&lt;/a&gt; (and still in the top 20 as I write this).  It also flirted with the Top 5 overall in the &lt;a href="http://www.apple.com/downloads/macosx/games/index_top.html"&gt;general Games category&lt;/a&gt;, peaking at around #6.  This is only the tip of the iceberg, though, as the upcoming PGSME version 2.1 will have 200 games, up from 101 in the current version.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Onward and upward...&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-7659295872895831786?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/7659295872895831786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=7659295872895831786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7659295872895831786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7659295872895831786'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/05/pretty-good-solitaire-mac-edition-201' title='Pretty Good Solitaire Mac Edition 2.01'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-6539465240813592937</id><published>2009-05-04T01:57:00.010-04:00</published><updated>2009-05-04T04:29:26.923-04:00</updated><title type='text'>Making Mac Disk Images Pretty</title><content type='html'>This is how to add that "curb appeal" to your Macintosh disk images.&lt;br /&gt;&lt;br /&gt;In a previous posting, I explained the basics of making &lt;a href="http://blog.gamecraft.org/2009/03/macintosh-disk-images"&gt;Macintosh Disk Images&lt;/a&gt; for software distribution. By following that method, using free tools from Apple, you can create a basic disk image (.dmg) file that is suitable for downloading. The only problem is that, when mounted, it appears simply as a plain window with the bundle (and any additional files) in it. Utilitarian, at best.&lt;br /&gt;&lt;br /&gt;We wanted something more like this:&lt;br /&gt;&lt;p align="center"&gt;&lt;img alt="Pretty Good Solitaire Mac Edition 2.0" src="http://blog.gamecraft.org/pictures/pgsme_dmg.png" width="428" height="355" /&gt;&lt;/p&gt;&lt;br /&gt;This gives a much better initial experience, being not only more visually appealing, but also providing some initial instructions (text in green). Note that the 'Pretty Good Solitaire' and 'Readme' icons are &lt;em&gt;live&lt;/em&gt;, while the rest of the window is simply a background image. In addition to this display when the disk image is mounted, we also wanted to add a license agreement before that happened.&lt;br /&gt;&lt;br /&gt;We accomplished what we wanted (the image above being an actual screen capture from our upcoming release), and this is how we did it.&lt;br /&gt;&lt;br /&gt;First of all, this can be accomplished, in theory, using the 'Disk Utility' and other free tools included with Mac OS X, provided a certain amount of legwork both in figuring out and then in executing the process. Upon a recommendation in the private &lt;strong&gt;ASP&lt;/strong&gt; (&lt;a href="http://www.asp-shareware.org/"&gt;Association of Shareware Professionals&lt;/a&gt;) newsgroups, however, we tried and settled on an inexpensive third-party tool called &lt;em&gt;&lt;a href="http://c-command.com/dropdmg/"&gt;&lt;strong&gt;DropDMG&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt;, from &lt;a href="http://c-command.com/"&gt;C-Command Software&lt;/a&gt;. Not only does this save time and hassle, but it provided an added feature that we did not even know we wanted. (The trial version is fully-featured, and for only $20 the decision to purchase took no deliberation.)&lt;br /&gt;&lt;br /&gt;Even with this tool making life easier, it is important to note that the process is slightly convoluted, primarily because one needs a relative path to background image. In our first few attempts, we managed to have backgrounds that showed only on the development system, but disappeared (rather, never appeared) when downloaded to another system. The basic approach is to create a &lt;em&gt;writable&lt;/em&gt; disk image first, with the desired contents (including the background image), then arrange this malleable window as desired, and finally convert that into a final (read-only) disk image for distribution.&lt;br /&gt;&lt;br /&gt;The first step is to create the desired background image (which is left as an exercise for the reader); it should probably be a non-lossy PNG file for best results. This file should generally be "hidden" in the disk image, and (according to warnings I chose not to test) needs to be in a subfolder, not the root of the disk image. The most common, even ubiquitous, recommendation is to make a hidden subfolder and place the background image in that. However, we took a slightly different tack, by way of &lt;span style="color:#ff0000;"&gt;the following trick&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Add the background image (say, &lt;em&gt;install.png&lt;/em&gt;) to your product bundle in Xcode. Our software has a 'resources' folder that contains various images used in the game, and by simply copying the background bitmap there and then adding the file to the project, it is included in the application bundle. This way, there is no messing around with an extra folder just to hold a single file, and if a system is configured to show hidden files, there is not a rogue ".background" folder icon floating around, messing up the layout. (The drawback is that the bundle is slightly larger, but the download size would be essentially the same, and an extra 100K on a hard drive is negligible these days.)&lt;br /&gt;&lt;br /&gt;Once you have the background image created and included in your project, follow the setup process in &lt;a href="http://blog.gamecraft.org/2009/03/macintosh-disk-images"&gt;the original post&lt;/a&gt;, by creating a distribution folder (named "Pretty Good Solitaire 2.01" in our example) and copying your application bundle and any other files/documentation (e.g., "Readme.txt") into it. This will serve as the basis of the final disk image, so make sure that everything is up to date.&lt;br /&gt;&lt;br /&gt;Now, this is where &lt;em&gt;DropDMG&lt;/em&gt; comes into play. Launch this application and create a default configuration for writable disk images (which we, creatively, called "writable"). Select 'DropDMG-&gt;Preferences...' from the menu, and then in the dialog box, for 'Format' choose ".dmg Read-write (can be modified)". Frankly, the other settings do not matter much here, so leave the default values. Finally, select 'Save Configuration As...' (Command-S) from the 'Configuration' box and save this configuration, then close the window.&lt;br /&gt;&lt;br /&gt;Next, select "writable" (or whatever named you chose) in the 'Configuration' box of the 'DropDMG Status' window. Then, simply drag the distribution folder onto this window, and a disk image will be created and placed (by default) next to the distribution folder. The log file will reflect this action (as in, &lt;em&gt;Created "Pretty Good Solitaire 2.01.dmg"&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;The next step is to mount (and open) the writable disk image, which can be done simply by double-clicking on it in Finder. This window can then be configured as desired, including resizing, setting icon sizes and positions, and (of course) changing the background image. Here are the steps that we take to do this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Press Command-J ('Show View Options').&lt;/li&gt;&lt;li&gt;Under 'Background', select the 'Picture' radio button.&lt;/li&gt;&lt;li&gt;Click on 'Select...' to choose the background image.&lt;/li&gt;&lt;li&gt;Select the mounted disk image (under 'Devices').&lt;/li&gt;&lt;li&gt;Press Shift-Command-G ('Go to Folder...').&lt;/li&gt;&lt;li&gt;Type the name of the application bundle (e.g., "Pretty Good Solitaire.app").&lt;/li&gt;&lt;li&gt;Browse 'Contents' for background image file (e.g., "resources/install.png").&lt;/li&gt;&lt;li&gt;Click on 'Select' button.&lt;/li&gt;&lt;li&gt;Resize window to fit background image (if necessary).&lt;/li&gt;&lt;li&gt;Reposition icons as desired.&lt;/li&gt;&lt;/ol&gt;Once you have this done, unmount the disk image, and the layout configuration will be saved. (You can double-click on the .dmg file again to verify this.) Note that it is essential that the background image be selected from the disk image itself (see step #4); otherwise, the link will be to a file on the current system that will (most likely) not be on a user system, and a plain white background will be used instead.&lt;br /&gt;&lt;br /&gt;If you want to include a license agreement in the disk image, one that must be accepted before the disk image is mounted, then you will need to add one in &lt;em&gt;DropDMG&lt;/em&gt;. Honestly, this part of the interface leaves a little to be desired, but to avoid confusion, here are the basic steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Press Command-L to 'Show [License] Agreements' window.&lt;/li&gt;&lt;li&gt;Press Command-D to 'Add [License] Agreement...' (name).&lt;/li&gt;&lt;li&gt;Type a name for the new license agreement and click 'Add'.&lt;/li&gt;&lt;li&gt;Select the new license agreement in the window.&lt;/li&gt;&lt;li&gt;Press Shift-Command-D to 'Add Language...' to that agreement.&lt;/li&gt;&lt;li&gt;Choose a language and click 'Add'.&lt;/li&gt;&lt;li&gt;Double-click the added language and insert text as needed.&lt;/li&gt;&lt;li&gt;Repeat previous three steps for each desired language.&lt;/li&gt;&lt;/ol&gt;At this point, return to &lt;em&gt;DropDMG&lt;/em&gt; preferences again (DropDMG-&gt;Preferences...). This time, create another configuration for your specific product. Under 'Format', select ".dmg zlib-compressed (Mac OS X 10.1)" (or another read-only option at your discretion). This will be the format of the final distributable disk image.&lt;br /&gt;&lt;br /&gt;Under 'Options', you can select the license agreement added above, if desired. Check the 'Use custom icon for mounted image' option. This is the bonus feature that we did not even know enough about to know we wanted. Instead of a simple disk icon, when mounted the disk image shows a disk icon with the bundle icon superimposed on it (which you can see in miniature on the title bar in the example above). There is a way to create a truly custom icon, but we did not feel the need to go that far.&lt;br /&gt;&lt;br /&gt;Also check the 'Auto-open image window after mounting' option, which causes your window landscaping to immediately appear to the user when the disk image is mounted, as intended. However, do &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; check the 'Internet-enable' option, as this will cause the contents to be automatically copied into the download folder, skipping all of the hard work you just did to get to this point.&lt;br /&gt;&lt;br /&gt;Save this configuration (Command-S), close the preferences window, and then select the new configuration in the 'DropDMG Status' window. We are in the home stretch now...&lt;br /&gt;&lt;br /&gt;Drag the writable (and beautifully landscaped) .dmg file onto the &lt;em&gt;DropDMG&lt;/em&gt; window. This will begin a conversion to the new, distributable format. The action will be reflected in the log (as in, &lt;em&gt;Converted to "Pretty Good Solitaire 2.01-1.dmg"&lt;/em&gt;). Rename the brand new disk image to something appropriate and upload it. Of course, you definitely need to thoroughly test it, as you would an installer for a Windows product, but if you followed these directions accurately, it should work for you. [&lt;em&gt;Insert disclaimer about me taking no responsibility for your results whatsoever...&lt;/em&gt;]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Done.&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-6539465240813592937?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/6539465240813592937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=6539465240813592937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6539465240813592937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/6539465240813592937'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/05/making-mac-disk-images-pretty' title='Making Mac Disk Images Pretty'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-7977746598592346239</id><published>2009-04-07T01:01:00.001-04:00</published><updated>2009-04-22T10:51:02.409-04:00</updated><title type='text'>Goodsol Solitaire 101 version 1.01</title><content type='html'>A maintenance update to our latest Windows solitaire game is released.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt; has now published &lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Goodsol Solitaire 101 version 1.01&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;, an update to the &lt;a href="http://blog.gamecraft.org/2008/11/goodsol-solitaire-101"&gt;initial version of &lt;strong&gt;&lt;em&gt;GS101&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, which was released last November [2009].  (Internally, I refer to the product as &lt;em&gt;GSCI&lt;/em&gt; to avoid confusing naming such as GS101101.)  This version fixes a number of bugs that were discovered since the original release.&lt;br /&gt;&lt;br /&gt;What makes this release interesting is that it shares its game data file with our Mac product, &lt;strong&gt;&lt;em&gt;&lt;a href="http://blog.gamecraft.org/2009/03/pretty-good-solitaire-mac-edition-20"&gt;Pretty Good Solitaire Mac Edition 2.0&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;, and both games are based on common source code, so several of the bugs that were fixed were originally discovered during beta testing for PGSME 2.0, and then confirmed and resolved on GS101.  Of the various arguments I have heard for cross-platform development, additional testing of the fundamental program logic (on each system) was not mentioned, so this was a welcome surprise.  It should only benefit the quality of both products.&lt;br /&gt;&lt;br /&gt;For more information on the game, please &lt;a href="http://www.goodsol.com/101"&gt;visit the Goodsol Solitaire 101 web site&lt;/a&gt;, or just &lt;a href="http://www.goodsol.com/101/download.html"&gt;download the program&lt;/a&gt; and give it a try.  This update is free to all customers who have already purchased GS101.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-7977746598592346239?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/7977746598592346239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=7977746598592346239' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7977746598592346239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7977746598592346239'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/04/goodsol-solitaire-101-version-101' title='Goodsol Solitaire 101 version 1.01'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-4862889884921674643</id><published>2009-03-24T02:00:00.001-04:00</published><updated>2009-04-22T10:23:02.658-04:00</updated><title type='text'>Pretty Good Solitaire Mac Edition 2.0</title><content type='html'>The next version of our card solitaire game for Mac OS X is now available.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Pretty Good Solitaire Mac Edition 2.0&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; has been published by &lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt;. This solitaire program includes 101 games (up from 30 in &lt;a href="http://blog.gamecraft.org/2007/11/pretty-good-solitaire-mac-edition-101"&gt;version 1.01&lt;/a&gt;), plus 34 bonus variants in the full (purchased) version. It also adds some features, including the introduction of Climb Mode. For more information on the basic features, see the &lt;a href="http://www.goodsol.com/mac/tour.html"&gt;screenshot tour&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This version of &lt;a href="http://www.goodsol.com/mac/"&gt;&lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; is a major technological upgrade from the previous versions, now being based on our &lt;span style="color:#ff0000;"&gt;Goodsol Solitaire Engine&lt;/span&gt;, which is a cross-platform, data-driven game engine that has been the focus of our development over the last year or more. Although more improvements are still planned, the basic functionality of this engine has already been proven, and it will allow us to produce upgrades and expansions more quickly and easily.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Climb Mode&lt;/span&gt; is a feature where deals for a particular game are played in numerical order, with a fixed set of rules, for a cumulative game score. This feature was implemented originally as a &lt;a href="http://blog.gamecraft.org/2007/12/solution-climb-mode"&gt;solution to online statistics manipulation&lt;/a&gt;, but it has evolved into a good competition, especially in the card solitaire games. With the addition of Climb Mode and the supported 101 games, PGSME 2.0 is the Mac OS X equivalent of &lt;strong&gt;&lt;em&gt;&lt;a href="http://www.goodsol.com/101/"&gt;Goodsol Solitaire 101&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; on Windows, and they share online high score tables.&lt;br /&gt;&lt;br /&gt;Because of the (overly?) generous upgrade policy, &lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition 2.0&lt;/em&gt;&lt;/strong&gt; is free to all customers who purchased &lt;a href="http://blog.gamecraft.org/2007/11/pretty-good-solitaire-mac-edition-10"&gt;PGSME 1.0&lt;/a&gt;. If you have not purchased yet (why not?), it is available for &lt;span style="color:#ff0000;"&gt;$24.95&lt;/span&gt; (plus $7.50 if you want it on CD) &lt;a href="https://sites.fastspring.com/goodsol/instant/pgsmac"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;One down, two to go!&lt;/span&gt;&lt;/em&gt; (See the second item in our &lt;a href="http://blog.gamecraft.org/2009/01/chinese-new-year-2009"&gt;company goals for 2009&lt;/a&gt;.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-4862889884921674643?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/4862889884921674643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=4862889884921674643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4862889884921674643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4862889884921674643'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/03/pretty-good-solitaire-mac-edition-20' title='Pretty Good Solitaire Mac Edition 2.0'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-2943830406795833266</id><published>2009-03-23T00:48:00.009-04:00</published><updated>2009-03-23T02:19:09.092-04:00</updated><title type='text'>Macintosh Disk Images</title><content type='html'>Or...  Where Mac OS X really shines over Windows.&lt;br /&gt;&lt;br /&gt;On Mac OS X, the preferred installer is &lt;em&gt;none at all&lt;/em&gt;.  Instead, &lt;span style="color:#ff0000;"&gt;applications are self-contained bundles&lt;/span&gt; that, under the covers, are folder/directory structures that the operating system treats as a single file.  Although these entities are analogous to a subdirectory under 'Program Files' in Windows, they appear in Finder (the Mac equivalent to Windows Explorer) as a single icon.  The bundles should be considered read-only, like the aforementioned Windows folder, and there are known writable areas for user and configuration data.&lt;br /&gt;&lt;br /&gt;To "install" a program, a Mac user expects to &lt;span style="color:#ff0000;"&gt;simply drag the bundle/icon to a location&lt;/span&gt;.  Done.  That's it.  This process is so simple and straightforward that I expect it to be copied by Microsoft at any point.  Of course, some applications (think that they) require additional steps and actually use an installer, but short of a major application that touches several areas of the system, like the Xcode Developer Tools, it should be unnecessary.&lt;br /&gt;&lt;br /&gt;So, the question becomes: How does one actually distribute applications for Mac OS X?  The answer: A publisher provides a &lt;span style="color:#ff0000;"&gt;downloadable disk image (.dmg) file&lt;/span&gt; which contains a complete folder in a single file, readable by any OS X system.  When a disk image is opened, it is "mounted" as a new volume with the contents (and name) of the original folder, and from there, the user just drags the application to the desktop (or other folder) or can even just double-click it to run in-situ.&lt;br /&gt;&lt;br /&gt;In order to create a disk image, start by &lt;span style="color:#ff0000;"&gt;creating a distribution folder&lt;/span&gt; with the desired name.  In our case, with an early version of &lt;a href="http://www.goodsol.com/mac/"&gt;&lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, the folder was named "&lt;em&gt;Pretty Good Solitaire 1.01&lt;/em&gt;".  Next, after building a final release version of the application bundle, copy (Alt-drag) it to this folder, along with any other separate files, such as documentation, you want to appear.  In our case, for the trial version, we had only the application bundle, named "&lt;em&gt;Pretty Good Solitaire trial[.app]&lt;/em&gt;".&lt;br /&gt;&lt;br /&gt;Once the folder is set up as desired, it is time to actually &lt;span style="color:#ff0000;"&gt;create the disk image file&lt;/span&gt;, which is done using the 'Disk Utility', which is found in the Utilities folder (Shift-Command-U).  Launch this application, and then select 'File-&gt;New-&gt;Disk Image from Folder' from the menu (or Shift-Command-N).  Navigate to the folder and press the 'Image' button.  On the next window, type an appropriate name, make sure that 'Image Format' is "compressed" and 'Encryption' is "none", and then press 'Save'.  (We used "&lt;em&gt;pgsme101trial[.dmg]&lt;/em&gt;" as a name to eliminate spaces, which are inherently problematic for downloads.)  The disk image is then created in the same folder that contains the distribution folder.  Quit 'Disk Utility'.&lt;br /&gt;&lt;br /&gt;The disk image is ready to ship, but one can &lt;span style="color:#ff0000;"&gt;internet-enable the image&lt;/span&gt; (by setting a flag) to make it even easier for the user.  Normally, when downloaded, a disk image is automatically mounted so the contents can be seen and copied.  When internet-enabled, the contents of a disk image are copied to the downloads folder and the disk image itself is unmounted and removed, resulting in just the application in that folder, without the user having to do anything with the image file.  An image can be internet-enabled from 'Terminal', by navigating to the disk image and typing, "&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;hdiutil internet-enable [filename].dmg&lt;/strong&gt;&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;This is the basic method for creating a distributable package for Mac OS X.  Note that, inexplicably, the &lt;a href="http://www.apple.com/downloads/macosx/games/cards_puzzle/prettygoodsolitaire.html"&gt;Apple Store&lt;/a&gt; actually requires ZIP files, so the usual practice is to place the disk image file into a ZIP file, but allowing direct downloads of the DMG file from the product site requires fewer user steps.  We have used the above practice for &lt;strong&gt;&lt;em&gt;Pretty Good Solitaire Mac Edition 1.0&lt;/em&gt;&lt;/strong&gt; with success; however, we are modifying it to add "curb appeal" for version 2.0, which will be described later this week.&lt;br /&gt;&lt;br /&gt;OT:  This weekend produced good NCAA basketball results:&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;MSU (men) 77&lt;/strong&gt;, Robert Morris 62.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;MSU (women) 60&lt;/strong&gt;, Middle Tennessee State 59.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;MSU (men) 74&lt;/strong&gt;, USC 69.&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-2943830406795833266?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/2943830406795833266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=2943830406795833266' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2943830406795833266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2943830406795833266'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/03/macintosh-disk-images' title='Macintosh Disk Images'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-2309627808395423325</id><published>2009-03-18T14:16:00.003-04:00</published><updated>2009-03-18T14:57:52.743-04:00</updated><title type='text'>Relaxation FAIL</title><content type='html'>Or...  Gregg and the Terrible, Horrible, No Good, Very Bad Day.&lt;br /&gt;&lt;br /&gt;As usual, we have been quite busy with development around here, and everything seems to have stepped up the pace since the start of March.  I &lt;em&gt;thought&lt;/em&gt; that I was going to get a break last weekend, but ended having to correct a mistake (of my own making, to be fair), so I ended of working especially long hours on Sunday.  In exchange, however, I decided to take yesterday [Tuesday, March 17] off to enjoy the particularly nice weather around here.&lt;br /&gt;&lt;br /&gt;We have a secondary office and retreat at an "undisclosed location", surrounded by woods and nature, away from the normal demands of a daily office.  (We do, of course, have the modern computer amenities such as DSL and a wireless network, so I can go there to get work done away from interruptions.)  This place also serves as a storage location for the company archives.  Or, rather, it &lt;em&gt;&lt;strong&gt;did&lt;/strong&gt;...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;On a beautiful early Spring day, with bright sunshine and temperatures in the 70s, we arrived for some basic relaxation (and to drop off an offsite backup).  Upon opening the front door, though, we were greeted with an unpleasant moisture in the air, followed quickly by the discovery of a plumbing failure that had completely flooded one bathroom, the hallway, and two adjacent rooms.  One of those rooms held the archives.&lt;br /&gt;&lt;br /&gt;Further inspection showed that many of the items on or near the floor, including a large portion of our collection of game development and programming books from the last 30 years, had been ruined.  As we quickly moved to save the dry items and salvage as much of the wet stuff as possible, we discovered that the floor in the room had partially collapsed, causing a stack of books to fall into a wall, seriously damaging it as well.  However, we just kept working until the rooms were mostly empty, and then I succumbed to the shock.&lt;br /&gt;&lt;br /&gt;The overall damage is still being assessed, and the standing water is &lt;em&gt;still&lt;/em&gt; not yet cleaned up.  (Carpeting acts as a sponge and effective water conduit.)  I can definitely say, for a fact, that some irreplaceable items were totally ruined, but also that some of the items ruined probably would have already been eBay fodder for a few bucks had I found the time.  Thankfully, many boxes avoided the water entirely, but usually at the expense of whatever they were sitting on.  Much of the paperwork still needs to be evaluated and either salvaged or discarded.  All of the registration letters for &lt;strong&gt;&lt;em&gt;PACMANIA&lt;/em&gt;&lt;/strong&gt; were submerged.  The PlayStation 2 development system survived by being perched on some furniture, but the Apple II (and color monitor) in &lt;em&gt;original&lt;/em&gt; packaging were not so fortunate; I truly hope it was only the boxes that were destroyed.&lt;br /&gt;&lt;br /&gt;The blog posting originally planned for today has been moved to Friday.  For now, &lt;span style="color:#ff0000;"&gt;I sit in mourning&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-2309627808395423325?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/2309627808395423325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=2309627808395423325' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2309627808395423325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/2309627808395423325'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/03/relaxation-fail' title='Relaxation FAIL'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-598588412901791144</id><published>2009-03-06T00:49:00.002-05:00</published><updated>2009-03-06T01:21:38.200-05:00</updated><title type='text'>Second place in Class A1</title><content type='html'>The ice racing season ends with a good championship position.&lt;br /&gt;&lt;br /&gt;The points championship in &lt;strong&gt;MIRA&lt;/strong&gt; (&lt;a href="http://www.michiganiceracingassociation.com/"&gt;Michigan Ice Racing Association&lt;/a&gt;) is over, and I &lt;span style="color:#ff0000;"&gt;finished in second place&lt;/span&gt; in my class.  I raced in Class A1, which is front-wheel drive cars, racing rubber-to-ice, first driver.  (The A1/A2 split allows two different drivers to participate using the same car for more fun!)  I finished the year with two wins (which is two more than my previous total for all 12 previous years of ice racing), and I was competitive, especially toward the end of the year.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.michiganiceracingassociation.com/html/modules.php?name=News&amp;amp;file=article&amp;amp;sid=71&amp;amp;mode=&amp;amp;order=0&amp;amp;thold=0"&gt;2009 MIRA Series Points - FINAL STANDINGS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Going into last weekend, I still had a chance at the championship, but with the cancellation of the Saturday event, there were not enough points left for me to either win the championship nor lose second position.  This turned out to be a blessing, as [ob Game Development] the recent beta version of &lt;a href="http://www.goodsol.com/mac/"&gt;Pretty Good Solitaire Mac Edition&lt;/a&gt;, version 2.0, expired, so I stayed home and worked for the whole weekend instead.&lt;br /&gt;&lt;br /&gt;Rumor has it that the person who won the championship has been racing (in various forms) for 35 years and this is his first ever championship, and he did beat me more often than not, so it was well earned and well deserved.  (I have won a TSD Rally Championship before.)  This year was my best showing in MIRA since I first raced back in 1985, when the group was only a few years old.&lt;br /&gt;&lt;br /&gt;There would be some non-points racing this weekend if it were to happen.  A few hardy optimists are still holding out hope for one last event, but it is currently almost 60 degrees here (in the overnight hours), and the forecast calls for temperatures well above freezing until Monday (and beyond), so it is &lt;em&gt;very&lt;/em&gt; unlikely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-598588412901791144?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/598588412901791144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=598588412901791144' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/598588412901791144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/598588412901791144'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/03/second-place-in-class-a1' title='Second place in Class A1'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-7174114699081039566</id><published>2009-03-02T23:12:00.002-05:00</published><updated>2009-03-04T03:08:25.162-05:00</updated><title type='text'>The downside of VOIP</title><content type='html'>Or, Why you should probably avoid Comcast.&lt;br /&gt;&lt;br /&gt;Last Friday, our &lt;span style="color:#ff0000;"&gt;cable television went &lt;strong&gt;out&lt;/strong&gt;&lt;/span&gt;.  Not like '&lt;em&gt;some services are missing&lt;/em&gt;' out, but like '&lt;em&gt;somebody just sliced a cable&lt;/em&gt;' out.  There was static on all of the analog channels, and just black (no signal) on everything digital.  Many months ago we made the decision to ditch their cable modem in favor of our SDSL connection (from &lt;a href="http://www.acd.net/"&gt;&lt;strong&gt;ACD.net&lt;/strong&gt;&lt;/a&gt;), which was both faster and more reliable.  We decided that the redundant Internet connectivity was more trouble than it was worth, at the added expense, and also, frankly, were just unhappy with Comcast.&lt;br /&gt;&lt;br /&gt;For the last year or so, Comcast has been on an all-out media blitz to get people signed up to their VOIP package, bundling cable television, Internet, and telephone.  The timing may have been coincidental, but the mailings seemed to intensify after we downgraded, and when we had to call about (somewhat regular) problems with the only service we kept (cable television), we always had to listen to another pitch before we could tell somebody in another state that our local HD was out... again.&lt;br /&gt;&lt;br /&gt;Anyway, when the cable television service went completely dead, we called the customer support number.  Instead of the usual sales pitch we got...  wait for it...  &lt;strong&gt;nothing&lt;/strong&gt;.  Yup.  Apparently they use their own VOIP service, so when the cable system has a failure, you cannot reach anybody there by telephone.  Brilliant!  I was not even vaguely intrigued by the offering, but this definitely convinced me that my convictions against this technology (and Comcast) were not unfounded.&lt;br /&gt;&lt;br /&gt;Not that I am any fan of &lt;strong&gt;AT&amp;amp;T&lt;/strong&gt; either, but I am a believer in land lines.  In the event of an emergency, when one really &lt;em&gt;does&lt;/em&gt; need to have a phone, I am glad to have a system that will work even when the power is out.  (Yes, we keep a standard handset telephone for just such an occasion.)&lt;br /&gt;&lt;br /&gt;Our cable television signals did come back before prime time, but I think that all a satellite television company needs to do is add &lt;a href="http://www.cbc.ca/"&gt;CBC&lt;/a&gt; and we are there.  (Perhaps we should just move to the Bahamas where, oddly, Canadian programming is also available.  Do they long for snow?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-7174114699081039566?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/7174114699081039566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=7174114699081039566' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7174114699081039566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/7174114699081039566'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/03/downside-of-voip' title='The downside of VOIP'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-5749514041175848480</id><published>2009-02-27T00:55:00.003-05:00</published><updated>2009-02-27T01:36:17.770-05:00</updated><title type='text'>Video Games are (still) Protected Speech</title><content type='html'>The ruling in a pivotal California case is upheld.&lt;br /&gt;&lt;br /&gt;This week, the &lt;a href="http://www.uscourts.gov/courtsofappeals.html"&gt;U.S. Court of Appeals&lt;/a&gt; for the Ninth Circuit announced its ruling in &lt;em&gt;&lt;span style="color:#ff0000;"&gt;Video Software Dealers Association vs. Schwarzenegger&lt;/span&gt;&lt;/em&gt;, confirming, unanimously (3-0), the decision of the lower court that two 2005 California laws were "&lt;em&gt;an unconstitutional violation of the First Amendment's guarantee of freedom of speech.&lt;/em&gt;"  They were also found to violate the Equal Protection Clause of the Fourteenth Amendment.&lt;br /&gt;&lt;br /&gt;The laws, &lt;a href="http://en.wikipedia.org/wiki/California_Assembly_Bills_1792_%26_1793"&gt;California Assembly Bills 1792 &amp;amp; 1793&lt;/a&gt;, would have categorized ultra-violent video games (by a broad definition) as "harmful matter", making their sale to minors illegal, and would have required games rated 'M' by the &lt;strong&gt;ESRB&lt;/strong&gt; (&lt;a href="http://www.esrb.org/"&gt;Entertainment Software Rating Board&lt;/a&gt;) to be placed in a separate section and require signage to explain the prohibition in stores where such games were sold.&lt;br /&gt;&lt;br /&gt;The bills were championed by Assemblyman &lt;strong&gt;Leland Yee&lt;/strong&gt;, who is a perennial windmill-tilter when it comes to this issue.  Not surprisingly, he claimed that the decision was wrong and called for it to be taken to the U.S. Supreme Court, despite the fact that California taxpayers have already been forced to pay $282,794 in attorney fees for the original go-round, and of 13 times this has been tried (in various US jurisdictions), &lt;span style="color:#ff0000;"&gt;the courts have &lt;em&gt;never&lt;/em&gt; ruled that any of these bills was Constitutional&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;You can &lt;a href="http://www.videogamevoters.org/resources/CA_9th_Ruling.pdf"&gt;download the entire ruling here&lt;/a&gt; [PDF, 570K, 30 pages] (courtesy of &lt;a href="http://www.videogamevoters.org/"&gt;Video Game Voters Network&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;Video Games 13, legislators 0.&lt;/span&gt;  (Are we bored yet?)&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-5749514041175848480?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/5749514041175848480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=5749514041175848480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/5749514041175848480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/5749514041175848480'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/02/video-games-are-still-protected-speech' title='Video Games are (still) Protected Speech'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-5979559793922692894</id><published>2009-02-16T11:32:00.005-05:00</published><updated>2009-03-06T00:48:46.256-05:00</updated><title type='text'>Reminder: comp.sys.ibm.pc. games.announce</title><content type='html'>Some game marketing is still essentially free.&lt;br /&gt;&lt;br /&gt;If you are interested in marketing games, you can post announcements to the Usenet newsgroup, &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;comp.sys.ibm.pc.games.announce&lt;/span&gt;&lt;/strong&gt;, a group for which I am the (sole) moderator.&lt;br /&gt;&lt;br /&gt;To recycle the relevant portions of my &lt;a href="http://blog.gamecraft.org/2007/07/free-game-marketing"&gt;original announcement&lt;/a&gt; here:&lt;br /&gt;&lt;br /&gt;The beauty of using Usenet for marketing is that it is essentially free, making it one of those easy steps that an independent game publisher can take to get additional exposure for its titles. Google Groups carries &lt;a href="http://groups.google.com/group/comp.sys.ibm.pc.games.announce/topics"&gt;comp.sys.ibm.pc.games.announce&lt;/a&gt;, so your announcement is searchable there and quickly incorporated into the Google index as well.&lt;br /&gt;&lt;br /&gt;This is an announcement group, rather than a discussion group, so messages will stand on their own, though the (unmoderated) 'comp.sys.ibm.pc.games.misc' discussion group provides an outlet for conversations. For shareware authors, there are other software announcement groups on Usenet, but none that cater specifically to games, so this is an opportunity to be noticed.&lt;br /&gt;&lt;br /&gt;Here is the official charter for &lt;strong&gt;csipga&lt;/strong&gt; (as it is known for short):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#ff0000;"&gt;&lt;em&gt;This newsgroup is for announcements that are useful to the entire PC computer gaming population, including but not limited to new release announcements, software publisher news, bug information, and PC game reviews. Followups will be directed to comp.sys.ibm.pc.games.misc, or another appropriate subgroup at the moderator's discretion.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In practical terms, I will likely approve almost any message as long as it relates to PC gaming (not in a cheap spam way) under Windows, DOS, Linux, or even Mac OS X if I am feeling generous. Press releases are encouraged, as well as product announcements that may not warrant a full press release. Note also that game reviews are allowed, so it is perfectly acceptable to have a satisfied customer post a glowing game review (though it should come directly from the author, not via the publisher).&lt;br /&gt;&lt;br /&gt;&lt;em&gt;[Back to new information...]&lt;/em&gt;&lt;br /&gt;Since this is a low traffic group, announcements will stand out, so I encourage anybody interested to take advantage of this game marketing opportunity.&lt;br /&gt;&lt;br /&gt;Note that, due to the way moderated newsgroups work, you do not even need to have Usenet access. Simply email your message (press release or whatever) to the submission address, &lt;a href="mailto:csipga@sophsoft.com"&gt;csipga@sophsoft.com&lt;/a&gt;, and it will be queued. As long as the message is in plain text (HTML emails are automatically binned) and is on topic for the group, it will be posted. If you have any problems, you can reach me via comments here (or at my regular email address).&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I look forward to some good submissions.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-5979559793922692894?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/5979559793922692894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=5979559793922692894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/5979559793922692894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/5979559793922692894'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/02/reminder-compsysibmpcgamesannounce' title='Reminder: comp.sys.ibm.pc. games.announce'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-9068936532508980536</id><published>2009-02-04T12:49:00.003-05:00</published><updated>2009-02-04T13:29:26.566-05:00</updated><title type='text'>Jason Della Rocca steps down</title><content type='html'>The Executive Director of the IGDA resigns.&lt;br /&gt;&lt;br /&gt;This week, the &lt;strong&gt;International Game Developers Association&lt;/strong&gt; (&lt;a href="http://www.igda.org/"&gt;IGDA&lt;/a&gt;) announced that &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Jason Della Rocca&lt;/span&gt;&lt;/strong&gt;, its long time Executive Director, &lt;span style="color:#ff0000;"&gt;will be stepping down&lt;/span&gt; effective March 31.  This will be just after the conclusion of the 2009 &lt;strong&gt;Game Developers Conference&lt;/strong&gt; (&lt;a href="http://www.gdconf.com/"&gt;GDC&lt;/a&gt;) this year.&lt;br /&gt;&lt;br /&gt;Under Jason's leadership over eight and a half years, the &lt;span style="color:#ff0000;"&gt;IGDA has grown massively&lt;/span&gt; (2900%), from 500 to 15000 members.  More importantly, and understandably omitted from the &lt;a href="http://www.igda.org/newsroom/press_020209.php"&gt;press release&lt;/a&gt;, he took the organization from a fairly directionless group of early game developers (of which I was one) to an association that actually has significant relevance within the game industry.&lt;br /&gt;&lt;br /&gt;You can read about Jason's reasons for departing in this &lt;a href="http://www.realitypanic.com/archives/388"&gt;post on his personal blog&lt;/a&gt;.  (There are lots of comments there, too, as well as at this &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=22126"&gt;Gamasutra article&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;I had the opportunity to work with Jason Della Rocca back in 2005 when the State of Michigan proposed legislation restricting game sales in the state, and I testified before a Senate committee, on behalf of the &lt;a href="http://www.igdadetroit.org/"&gt;Detroit IGDA chapter&lt;/a&gt;.  I saw Jason's passion first hand, and his (and the organization's) guidance and assistance was especially helpful.  (Nevertheless, the legislation passed anyway, but then it was ruled unconstitutional, as expected, and ultimately cost Michigan an extra $182349 in restitution for industry legal fees.  They should have listened to us.)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Good luck in your new endeavors, Jason!&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-9068936532508980536?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/9068936532508980536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=9068936532508980536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/9068936532508980536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/9068936532508980536'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/02/jason-della-rocca-steps-down' title='Jason Della Rocca steps down'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-1591954933322581620</id><published>2009-01-29T09:05:00.003-05:00</published><updated>2009-01-29T09:44:09.265-05:00</updated><title type='text'>Global Game Jam Detroit</title><content type='html'>Local developers participate in this international game event tomorrow.&lt;br /&gt;&lt;br /&gt;At 5:00pm tomorrow [Friday, January 30, 2009], the &lt;a href="http://globalgamejam.org/"&gt;Global Game Jam&lt;/a&gt; begins.  It will last 48 hours, ending at the same time on Sunday (all times local).  Since the event is worldwide, it covers many different time zones, and the first jams, in New Zealand, will begin in just over half a day from now.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.igdadetroit.org/"&gt;IGDA Detroit&lt;/a&gt; is providing/sponsoring one location for the Global Game Jam.  Dozens of developers will converge on &lt;a href="http://techtownwsu.org/"&gt;TechTown&lt;/a&gt; in Detroit to participate.  These will be some of the more than 1750 people who will take part at one of 53 locations in 23 countries around the world.&lt;br /&gt;&lt;br /&gt;There is still room available at &lt;a href="http://www.igdadetroit.org/?page_id=89"&gt;Global Game Jam Detroit 2009&lt;/a&gt;, and it is open to everyone.  The cost to participate is only $25 (to defray food costs); click the link for details.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;What is a Game Jam?&lt;/span&gt;&lt;br /&gt;In a Game Jam, participants come together to make video games. Each participant works in a small team on a complete game project over the course of a limited time period, usually over a weekend. With such a small time frame, the games tend to be innovative and experimental. The Global Game Jam (GGJ) is the first of its kind: a game Jam that takes place in the same 48 hours all over the world! The global Game Jam will start at 5:00PM Friday, January 30, 2009 through 5:00PM Sunday, February 1, 2009, (all times local). All participants in the Global Game Jam will be constrained by the same rules and limitations, with each time zone having one distinct constraint.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In addition to the start of the GGJ, there will be a &lt;span style="color:#ff0000;"&gt;chapter meeting for IGDA Detroit&lt;/span&gt; from 5:00pm to 8:00pm (also at TechTown, 440 Burroughs St., Detroit).  Even if you are not planning to participate in the game jam, come hang out a while (for free) with other game developers.  I plan to be there; how about you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-1591954933322581620?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/1591954933322581620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=1591954933322581620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1591954933322581620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1591954933322581620'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/01/global-game-jam-detroit' title='Global Game Jam Detroit'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-4923926727343065813</id><published>2009-01-26T12:55:00.003-05:00</published><updated>2009-01-26T13:53:02.481-05:00</updated><title type='text'>Chinese New Year 2009</title><content type='html'>I think that this finally brings the 2009 New Year celebrations to an end.&lt;br /&gt;&lt;br /&gt;It is time to really get 2009 started properly now. One way to help one focus on goals is to make those goals public, so here goes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Increase &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;product development&lt;/strong&gt;&lt;/span&gt; significantly (by rearranging priorities),&lt;/li&gt;&lt;li&gt;Develop at least three major products/updates for &lt;a href="http://www.goodsol.com/"&gt;Goodsol Development&lt;/a&gt; (for Windows and Mac),&lt;/li&gt;&lt;li&gt;Release three more projects that have been in development (for several years) internally,&lt;/li&gt;&lt;li&gt;Establish baseline &lt;span style="color:#ff0000;"&gt;marketing&lt;/span&gt; and measurement techniques (on which to build), and&lt;/li&gt;&lt;li&gt;Move &lt;span style="color:#ff0000;"&gt;business&lt;/span&gt; operations toward a paperless office environment.&lt;/li&gt;&lt;/ul&gt;Yes, these five goals are quite ambitious but also realistically attainable. One major release every two months (on average) will keep us &lt;em&gt;very&lt;/em&gt; busy, but the roadmap for these is already established. Our development projects are all very different and should be enlightening. The Goodsol projects are building on the technological improvements of last year. Finally, the marketing and business plans have internal support and should, ultimately, improve operational efficiency.&lt;br /&gt;&lt;br /&gt;By the way, we could still use a few more &lt;span style="color:#ff0000;"&gt;beta testers&lt;/span&gt; for the upcoming version of &lt;a href="http://www.goodsol.com/mac/"&gt;Pretty Good Solitaire Mac Edition&lt;/a&gt;.  Anyone interested can email me directly at &lt;a href="mailto:beta@sophsoft.com"&gt;beta@sophsoft.com&lt;/a&gt;, and I will forward your information.&lt;br /&gt;&lt;br /&gt;On the personal side, I will keep my exact goals to myself, but I have been playing competitive soccer and am pleased to be back ice racing again this year.  I am currently &lt;a href="http://www.michiganiceracingassociation.com/html/modules.php?name=News&amp;amp;file=article&amp;amp;sid=61&amp;amp;mode=&amp;amp;order=0&amp;amp;thold=0"&gt;second in points&lt;/a&gt; (in class A1) after having a disappointing day in which I suffered not one, but &lt;em&gt;two&lt;/em&gt; DNFs (Did Not Finish) due to peeling tires off of the wheels.  It has been a nearly perfect year for ice, so I will be repaired and back up in &lt;a href="http://chipplake.com/"&gt;Chippewa Lake&lt;/a&gt; this coming weekend for eight more exciting races.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;More ice racing pictures should be forthcoming&lt;/em&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-4923926727343065813?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/4923926727343065813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=4923926727343065813' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4923926727343065813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/4923926727343065813'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/01/chinese-new-year-2009' title='Chinese New Year 2009'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9262978.post-1186388963772735963</id><published>2009-01-22T20:43:00.003-05:00</published><updated>2009-01-23T02:22:21.757-05:00</updated><title type='text'>Happy Birthday, Mac!</title><content type='html'>The Apple Macintosh is 25(ish) today.&lt;br /&gt;&lt;br /&gt;On this date back in 1984, &lt;a href="http://www.apple.com/"&gt;Apple Computer&lt;/a&gt; "introduced" the Macintosh to the public with its famous "&lt;em&gt;&lt;span style="color:#ff0000;"&gt;1984&lt;/span&gt;&lt;/em&gt;" television commercial, aired during the third quarter of Super Bowl XVIII.&lt;br /&gt;&lt;br /&gt;Although this 60-second spot, directed by &lt;a href="http://us.imdb.com/name/nm0000631/"&gt;Ridley Scott&lt;/a&gt;, only ran once (OK, twice), officially, it is considered an advertising masterpiece and is probably one of the most viewed commercials in history. For more information, see its &lt;a href="http://en.wikipedia.org/wiki/1984_(television_commercial)"&gt;page on Wikipedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can also &lt;a href="http://www.youtube.com/watch?v=OYecfV3ubP8"&gt;watch the commercial itself on YouTube&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Apple Macintosh was actually introduced on January 24 (two days later), but on Saturday I will be &lt;span style="color:#ff0000;"&gt;ice racing with &lt;strong&gt;MIRA&lt;/strong&gt;&lt;/span&gt; (&lt;a href="http://www.michiganiceracingassociation.com/"&gt;Michigan Ice Racing Association&lt;/a&gt;), so we celebrate earlier. (My car this year, a green Ford Contour, is &lt;a href="http://www.michiganiceracingassociation.com/html/modules.php?set_albumName=album11&amp;amp;id=aan&amp;amp;op=modload&amp;amp;name=Gallery&amp;amp;file=index&amp;amp;include=view_photo.php"&gt;so fast that a camera could not keep up&lt;/a&gt;.  &lt;em&gt;Yes, that is really me.&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;By the way, in Super Bowl XVIII, the underdog LA Raiders (still sounds wrong) defeated the Washington Redskins by a score of 38-9, so the Mac ad was somewhat more exciting than the game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9262978-1186388963772735963?l=blogger.gamecraft.org%2Fblog.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/1186388963772735963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9262978&amp;postID=1186388963772735963' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1186388963772735963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9262978/posts/default/1186388963772735963'/><link rel='alternate' type='text/html' href='http://blogger.gamecraft.org/2009/01/happy-birthday-mac' title='Happy Birthday, Mac!'/><author><name>Gregg Seelhoff</name><uri>http://www.blogger.com/profile/06988586696780615475</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01490969846216539884'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>
