Drawing a Bar

Mourning the “new normal”.

Back in the days when I bowled in a league and, frankly, back when people actually scored on paper with pencils, players on our team used to occasionally draw a black bar after a frame on their row of the scorecard; this would indicate where some significant change was taking place. It could be switching balls or adjusting technique but seemed to most often just denote that this was the point where they determined that they would increase focus and concentration. (The unwritten rules seemed to be that nobody said exactly what the bar meant to them, and that one did not use more than one per game, preferably no more than one per series/night.)

I was thinking back to this because the idea remains affixed in my mind, and I sometimes would conceptually draw a bar after an event or a period that was less than satisfactory for me, for whatever reason. Well, the last nearly five years have been far less than satisfactory to me, and I have come to realize that this is going to be the default situation going forward, so I am mentally, and publicly, drawing a bar under this period of my life. This is less disruptive than yielding to the impulse to burn my old life to the ground, and less painful (but also less immediate) than having Cher slap me twice in the face and scream, “Snap out of it!” 🙂 (Moonstruck, 1987)

Clearly, my mourning for my wife is not going to end anytime soon. It is not that I have not been getting development done during this tough period; I have been fairly productive. In fact, despite a difficult start to the year, I have already completed all my client goals for 2023, made significant inroads into our company product goals, and have a clear vision moving forward. Apparently, I have also been putting on a brave face, such that a friend recently described me as “a happy person”, which is definitely not how I actually feel.

What is going to change is my attitude. I will continue to push forward, but no longer with the false expectation that I will ever recover from the trauma. In the original spirit of the black bar, I am going to try to increase my focus and concentration, pursuing my game development goals without apology or justification. I will endeavor to entertain and educate those who are interested in what I do, but I intend to be, ultimately, only accountable to myself. I will use my intimate knowledge of mortality as a motivation to get things done.

I went to a small industry event in Chicago last week, the first such event I had attended since the pandemic, and it was refreshing and revitalizing. I did a little bit of networking, and I met a number of indie game developers, and they helped put things into perspective. Not only were they facing similar issues to me (sans the death of a soulmate), but many, if not most, were desperate to complete a game, whereas I have dozens under my belt. When I showed somebody one of my released games on my phone, they (earnestly) responded, “Cool!” Nobody there looked down on casual games nor the fact that is (in part) what I enjoy making.

Thus, be it resolved, I am going full steam ahead to make games that I want to make, to support and educate others who want to pursue their game development dreams, to disdain the naysayers, and to thrive in my chosen field so that I can live the kind of life that I want to live for as long as I am privileged to live it. 👍

2023: Prologue

Due to the struggles of 2022, and the particular effort to get back to “normal” operations, I ended up working right through most of our annual shutdown period, when I should have been relaxing and unwinding in preparation for a strong start in the new year.

I emerged from this burnout risk directly into the anniversary of my wife’s tragic death (4 years ago), which has a way of negatively affecting mood and productivity long before one consciously realizes that the date is approaching.

Having already cleared my schedule, rather than pushing on an internal project, I chose to use the next couple of weeks to regroup, which was only partially successful. This “break” segued into necessary preparations for a quasi-vacation, previously scheduled.

I was then out of office, and even mostly out of the country, for the rest of January, returning with a case of “cruise crud”. Once that was shaken I was ready to get back to development, but I did not have a suitable period of time to catch up with my backlog (which I also underestimated).

February 6th was the first day officially back in the office, and I immediately set to work clearing the backlog of messages and responsibilities that had accrued in my absence. It took me the rest of the work week to get everything caught up, so I decided to return to proper routine and take time to reset over the weekend.

On February 13th, I started the day enthusiastically programming (finally!) and made great progress. I reached a good “stopping point” in the afternoon and switched over to some operational matters. I was wrapping up customer support (and had gotten to the part where I was just interacting with my friends/customers online) when I heard loads of emergency sirens, and then some police vehicles sped by (~25 yards/meters from my office window) with full lights and sirens blaring.

It was shortly after that point that I got a message that there was an active shooter on the Michigan State University campus. While I was looking for more information, a “shelter in place” order was issued (definitely including my location), and I learned that multiple people had been shot just a half mile South from here.

I spent the rest of that night taking cover, trying to get information about what was happening, and worrying about family. When it was confirmed that there had been a lone gunman and that he had killed himself (like the coward he was), the “shelter in place” order was lifted, and while we all collectively tried to catch our breath, I learned that the gunman was a nearby neighbor of my grandchild and child-in-law.

When all was said and done, 3 people had been killed, and 5 more were in critical condition with gunshot wounds. While, in retrospect, I was never actually in danger, there were numerous alternative scenarios in which family, friends, and even I, could have been in the firing line. Frankly, I have been far more shaken by this event than I would have imagined.

So… 2019 was the year I had to deal with the sudden and unexpected death of my wife (and business partner), 2020 was the year of the global pandemic, 2021 was the year where a friend and client very nearly died, and 2022 was the year where my personal life was in upheaval (and my stepfather died); I will be damned if 2023 is going to be defined by this mass shooting.

I ended up taking the rest of the week off from development, not entirely by choice, so at this point we are in the second half of February with little development progress to show. Therefore, I declare that the first seven weeks of 2023 are a mulligan. I will spend the next 10 days on planning, organization, and regaining development momentum, and then, like the Ancient Romans, I will start 2023 in earnest on March 1st.

My race number is 23, so this is going to be my year!

2022: Year in Review

Overall Performance Grade: Pass

Digital Gamecraft logo

The last year was particularly challenging for reasons mostly unrelated to business or development, so rather than give a letter grade, I merely graded our performance on a pass/fail basis. Since we made it through the chaos, that earns a passing grade. Now Digital Gamecraft® and SophSoft, Incorporated, are in a similar position to where we were last year, albeit with fewer resources and a different calendar year. It could have been much worse.

Accomplishments of 2022

We managed to continue development throughout the year, so here is a countdown of our top 10 achievements:

  1. We shipped a beta version of Action Solitaire in April. The fact that a release version has not yet been published accounts for this being at the bottom (well, top) of the list. However, this is a maintenance release only, so I can still recommend the current version, Action Solitaire 1.6; the next update will be free to all registered users.
  2. We shipped beta and release versions of FreeCell Plus (for Windows), FreeCell Plus Mac Edition, and FreeCell Plus Touch Edition in December, working right up to the end of the year. FreeCell Plus 4.40 (for Windows), FreeCell Plus Mac Edition 4.40, and FreeCell Plus Touch Edition 1.60 were all published in January 2023.
  3. We shipped a release version of Pretty Good Solitaire Mini (for iPhone) and Pretty Good Solitaire Mini 1.10 was published in January (2022).
  4. We shipped beta versions of Most Popular Solitaire and Most Popular Solitaire Mac Edition in March, a beta version of Most Popular Solitaire Touch Edition in April, and release versions of all three in August, when Most Popular Solitaire 2.40 (for Windows), Most Popular Solitaire Mac Edition 3.20, and Most Popular Solitaire Touch Edition 1.60 were published.
  5. We shipped a beta version of Pretty Good MahJongg in January, a beta version of Pretty Good MahJongg Mac Edition in February, as well as release versions for both; Pretty Good MahJongg 2.80 (for Windows) and Pretty Good MahJongg Mac Edition 2.80 were published in March.
  6. We completed a fully playable PlayStation 4 prototype of Demolish! Pairs in May. This marked a console development milestone set when we got our PS4 and PS5 kits; from this point we are performing a quasi-port of this proof of concept to PlayStation 5 by means of enhancing our SophPlay System™ for both platforms and converting any remaining code that directly accesses any PlayStation SDK.
  7. We shipped a beta version of a (deliberately undisclosed) feature for Beyond Compare (Scooter Software) in May. This deliverable demonstrated the feature functioning in an environment programmed in Delphi and represented a concrete milestone of moving from the research phase toward a complete implementation, though potential integration would not happen until 2023 at the earliest.
  8. We shipped two beta update versions of the Goodsol Solitaire Engine, in July and November, adding 50 more Solitaire games, along with supporting engine changes, each time. This brought the total number of implemented games to 1000, which count includes (100) bonus games. These new games should propagate into Pretty Good Solitaire Mac Edition, and probably Pretty Good Solitaire Touch Edition (for iPad) and Pretty Good Solitaire Mini (for iPhone) as well, in 2023.
  9. We published Demolish! Pairs 1.10 for Android in January. This represented a significant amount of refresh work, as discussed in an earlier blog post, being the first Android project in more than 3 years. The end result was professionally satisfying, placing this accomplishment near the top of the list, despite earning, literally, nothing. 🙁
  10. We survived the year, again, with the business still intact, and I personally made it through a myriad of challenges as well. For the third year in a row, existential concerns have been paramount, with a global pandemic and other matters of life and death, literally, factoring into how the company operates. Here’s hoping that 2023 is a relatively uneventful year of outstanding productivity and no existential crises. [Voiceover: … but that hope would only last until Monday, February 13.]

What Went Right / Wrong

Looking back to 2022: Year in Preview, here is how I assess the ultimate results:

In general, despite the challenges, we continued to develop and make good progress. We completed 23 projects, including 10 published release versions, 2 active beta versions, one completed beta version pending release, 9 other completed betas, and 1 major prototype. We shipped products in 9 different calendar months (only missing June, as 50 Solitaire games were added to Goodsol Solitaire Engine, and September/October, as another 50 games were added.) Frankly, I was surprised looking back at how much was accomplished.

Our product development goals were not met, although progress was made. None of the (4) unannounced projects made enough progress to actually be publicly announced, although the Gamecraft Classics™ product made major strides and should be revealed soon. SophPlay System™ progress was good on multiple platforms, but significant work remains to be done. Demolish! Pairs got its Android refresh in January (after iOS refreshes in late 2021), as well as completion of the PlayStation 4 playable prototype, but the multi-platform redesign has not taken place yet, much less implementation and release.

Development for client projects, on the other hand, was quite successful. Although it was not explicitly mentioned, I enumerated 13 client projects for completion in 2022 and we completed every one of them. We also got clearance to publicly name Scooter Software as a client (only mentioned here because it was listed as a goal). The only drawbacks were that one beta product got stuck in the doldrums, and that there are fewer client projects for the new year.

General development goals were not met, though primarily because these are the kinds of projects that get deprioritized when resources (especially time) are constrained. We made limited progress on each item, but significant progress on only one, while the focus of the console goals shifted, and I made few blog posts, despite better intentions.

Business goals, alas, were a failure. Simply put, not only did we fail to increase income, but the extra challenges meant repurposing some of the funding for renovations into operations, so there was no time for reviewing paperwork and neither time nor enough money to begin renovations. On the other hand, that leaves these goals unchanged, and despite the larger challenges, I am more motivated than ever to fulfill these goals.

I did not publicly enumerate personal goals, but I did mention spending more time with my grandchild which definitely happened, albeit not as I had imagined, and we have a closer relationship now that I could have ever hoped for, which is the best outcome of the year. All of the other personal goals were totally shaken up by events, but I did my best.

Conclusion

Honestly, much of 2022 was fairly dark for me, so I am relieved to look back and see that the company continued to deliver for clients, and scaling back the goals ever so slightly allowed us to complete all planned client projects. When one is faced with concerns about the immediate welfare of family members or oneself, it becomes difficult to plan for the future, and very hard to dream of much beyond an end to the current crisis (or crises).

Now that most of these concerns have passed, I am beginning to plan and dream for the future again, while adjusting to those things that will never be the same (as I also had to do just four short years ago). I can’t say that I am quite back to 100% yet, but I am close enough that I have been able to get “in the zone” once more, and dismissing humility for a moment, I feel that my 90-95% is still much better than most developers at full strength. 😉

I can even say that I am truly excited for (the rest of) 2023 and the positive progress it will bring, and I am looking forward to much better things. Onward!

2021: Year in Review

Overall Performance Grade: B

Digital Gamecraft logo

This past year has been fairly decent for Digital Gamecraft® and SophSoft, Incorporated, all things considered. Despite the continuing pandemic, we made more progress, albeit not quite as much as planned/hoped, resulting in a grade slightly higher than last year, yet still well below our potential (and intention).

Accomplishments of 2021

Here is a countdown of the top 10 achievements of this past year:

  1. We shipped Pretty Good Solitaire Touch Edition 1.61 in January. We seemingly started off quickly, although version 1.60 was actually shipped in the dying hours of 2020, only becoming available publicly this year, and then requiring a quick maintenance update. (The details of my bugs are listed in the ‘My Mistake’ section of the previous post.)
  2. We shipped updates to Goodsol Solitaire 101 version 2.40 (for Windows), Goodsol Solitaire 101 Mac Edition 3.20, and Goodsol Solitaire 101 Touch Edition 1.60 in August. These were maintenance updates to use the latest engine and bug fixes, but included no new games or features, hence the combination of all three platforms being relatively low on the list.
  3. We made significant improvements to our development tools and internal development processes. This includes upgrading Windows development to Visual Studio 2022, adding a new Mac system, prioritizing 64-bit development (with 32-bit support) on Windows (to match the other platforms), incorporating extra code analysis, and further improving code standards, as well as enhancements to our SophPlay System™ for robust game development.
  4. We added 50 more Solitaire games, along with supporting engine changes, to the Goodsol Solitaire Engine, for a total of 800 games plus 100 bonus games in our library (closing in on the 1050 in the flagship product) and ran another short and successful beta test.
  5. We achieved major progress on a project for another client, working in Delphi (and beta testing Delphi 11 in the process). This is only listed in the lower half because a) the final goal, while close, has not been realized yet, and b) I still haven’t asked for clearance to reveal the product, so I have nothing to highlight or link. 😉
  6. We shipped Pretty Good Solitaire Touch Edition 1.70 in October, with those 800 Solitaire games for iPad, plus the 100 more bonus games. This update is listed below the Mac Edition only because it was easier; we already took the the deprecation pain for the last release.
  7. We shipped Pretty Good Solitaire Mac Edition 3.60 in October, with 800 different Solitaire games for macOS, plus another 100 more bonus games. More importantly, perhaps, this upgrade included Apple M1 support, MacBook touchbar support, loads of internal enhancements, and fixes to every reported bug.
  8. We shipped Demolish! Pairs 1.30 (iOS) and Demolish! Pairs FTP 1.21 (iPad) in November. Demolish! Pairs is the full version, and Demolish! Pairs FTP is the free-to-play version that supports in-app purchases. These upgrades were made under duress, specifically a threat from Apple to remove them from the App Store because they had not been updated in too long (and no other reason); they worked fine with no issues even on the latest version of iOS. Nevertheless, we reworked both SKUs, adding “support” for new devices and iOS 15 (not that a user would notice), resolving deprecations, and updating the source code to our latest standards. (This month, we got more than $6 from this effort — so worth it. 😐 )
  9. As of May 25, 2021, we have a registered trademark for Digital Gamecraft, so now we are Digital Gamecraft® (as astute readers may have noticed in the first paragraph). This is an exciting culmination to years of effort (and not insignificant expense). We popularized the term “Gamecraft” in the video game industry more than 20 years ago, but (for reasons of frugality, i.e., a lack of funds) we stuck with the old unregistered ™ symbol. Recently, however, there has been more and more encroachment into our (intellectual property) territory, including at least one attempt to deliberately trade on our good will, so action was necessary. We eschew legal conflicts, but when cease and desist letters are necessary, they will happen.
  10. We survived and even thrived in another difficult year. There were major challenges this year, plus some life-affirming events (see below), and while we did not accomplish everything we had planned, we definitely made progress on all fronts. It actually really helps to do these yearly reviews to get a better perspective. (After some initial doubt, not only did we get enough accomplished to have a top 10 countdown, but we even had to combine some products to keep it down to only 10.)

Bigger Issues

Although games are extremely important to me, personally, it is important to keep in mind the bigger issues that transcend (yet underpin) all of our usual day-to-day activities. I was not being flippant when I said we “survived” this year, as these three larger issues attest:

  • Birth: In March, my first (and likely only) grandchild was born. They are healthy and doing quite well (at 9 months of age now), and they have definitely shifted my life priorities. Their birth (within a few years of the death of my wife) certainly helped put things into perspective.
  • Death: In April, my friend and primary client almost died, and by that I mean that he came so close that it took extraordinary medical procedures (an open-heart surgery very few doctors could perform) to even give him a fighting chance. I was already contemplating my own mortality, and then suddenly I am communicating (and then unable to) with somebody who was literally facing death. The excellent news is that he did survive and is doing well now.
  • Illness: Of course, it comes as no news to anyone that the global Covid-19 pandemic lasted throughout the duration of the year, and continues. At least the vaccine arrived this year, and I got mine as soon as it was readily available (not being in any risk category, I waited until those who were had been served), and I got the booster as soon as I was eligible. All of my family and inner circle of friends have done the same (as any non-idiot has) and, so far, none have been infected. I still mask whenever indoors, other than at my own home/office where I live/work alone, the sole exception being while I am swimming (for obvious reasons).

Clearly, these bigger issues are ever-present, but I consider myself fortunate that all of the above have happy endings as of the end of 2021.

What Went Right

These things went right this year (referencing 2021: Year in Preview):

  • We shipped 12 SKUs, including 10 release titles and 2 current beta versions, along with 6 other betas. Although we did not actually ship a product/update every month, it was still quite good.
  • We met 2 out of 3 business goals. Specifically, we made it safely to this point, always making payroll along the way, and grew our income (albeit just slightly).
  • I personally took a chance and made an investment in myself and my family, my grandchild in particular, betting on (and facilitating) future success of the company.

What Went Wrong

These things went wrong this year (to be corrected in 2022):

  • We did not ship the console game we had intended to ship before the end of the year. The amount of supporting work (beyond basic product development) was greater than anticipated, and several external issues provided unneeded distraction.
  • We left 13 SKUs (including the above title) on the table, including a refresh of the Android version of Demolish! Pairs, two other unannounced internal products, Pretty Good MahJongg, Most Popular Solitaire, Action Solitaire, and FreeCell Plus. (To be fair, some were not done due to issues beyond our immediate control.)
  • We failed in one business goal, doing no outreach to other developers during the year. This simply fell off the radar in terms of priorities. (We may push this to 2023.)

Conclusion

I have colleagues who have day jobs and shipped just a single title, or were unable to ship anything, during 2021, and some other “indie” game developers have many times the personnel and focus on a single title for years (a luxury of funding we do not have). Given this, I think that a dozen SKUs cannot be a disappointment, even if it was only roughly half of what we attempted. Scaling back expectations is certainly a consideration.

At the moment, I am feeling fairly optimistic, but that is probably less due to the new year, nor even to the boost of looking back at our accomplishments, and more due to the fact that we are a couple weeks into our traditional year end break and, hence, I am “out of the trenches”. I am refreshed and ready to dive back in.

2020: Year in Review

Overall Performance Grade: B-

Digital Gamecraft logo

This past year has, surprisingly, been rather average for Digital Gamecraft™ and SophSoft, Incorporated. I probably would have rated it a C, but the fact that we did not merely tread water but actually made progress during a global pandemic gave it a small boost.

Accomplishments of 2020

Counting down the top 10 achievements of this year:

  1. We joined Apple’s App Store Small Business Program. This is at the bottom of the list because, frankly, we want to be ineligible by virtue of making more than $1 million per year, but since we have miles (and just about a million dollars) to go to reach that plateau, we will accept a larger percentage of the sales.
  2. We finally tracked down the cause (spoiler: bug in Apple graphics code) of a really annoying, and expensive, bug that affected our custom libraries, and we worked around that issue. In case you are wondering how a bug can be expensive: We had to buy a specific used piece of Apple hardware in order to even reproduce the bug, but now we have an Apple iMac for QA.
  3. We joined another Apple developer program, which includes a “loan” of the latest Apple hardware, so all new macOS (and iOS) development will be ready for the newest systems.
  4. We got our new Windows development system fully installed and configured, so all of the programming for Windows, Android, and consoles will be done faster and better in 2021.
  5. We shipped Pretty Good Solitaire Mac Edition 3.56 in June, with 750 different Solitaire games for macOS, plus another 100 more bonus games (not to mention the bug fix from #9).
  6. We added another new development platform, Delphi, for an important client, so I personally picked up Pascal after, literally, three decades away (and, of course, learned Object Pascal for the first time, and continue learning.)
  7. We shipped Pretty Good Solitaire Touch Edition 1.60 (just a few minutes ago, actually), with those 750 Solitaire games for iPad, resolving issues with 4 years of Apple’s aggressive deprecation over as many major iOS releases, and fixing every reported problem on all iPad models running iOS 9.0 or higher. (Expect the update in the App Store in early January.)
  8. We were approved for major console development with a proposal accepted (n.b., not funded), on both the (then) current generation and the (now) latest generation, and we have our DevKit and TestKit in house and operational, with development actively underway. The original proposed release date was (naively) this year, but the approval process took more than 5 months to complete (from proposal to actually having SDK access and hardware).
  9. We shipped Pretty Good MahJongg Mac Edition 2.72 in October, with 55 original Solitaire games played with MahJongg tiles, as well as 355 tile matching layouts. This was a major rewrite of the successful product, switching from Carbon to Cocoa and revisiting every piece of code in the project, resulting in an excellent game.
  10. We survived a difficult year and are still here, with optimism for the future. As noted before, this pandemic has a smaller impact on this company than most, but fortunately, despite necessary changes, our clients have not pulled back. Instead, we leave 2020 with two more development platforms and five more development systems than when we entered.

Personal Perspective

I am pleased, or perhaps just relieved, that I have not gotten sick from, nor even knowingly exposed to, Covid-19, and I remain in good health. All of my family (of whom I have knowledge) and most of my friends have also remained safe (and the few friends who did contract Covid-19 seem to have recovered fully). I would call this “fortunate”, but it is actually more down to safe living practices, including limiting time in places where you might be exposed to an idiot who refuses to wear a mask. (To be clear, that means everyone who refuses to wear a mask in public.) It will probably be another half a year before I will be eligible for the vaccine, so we must remain vigilant and proactive.

My only real indulgence in this difficult year was to pick up two more pinball machines (to join the one I have had for about 20 years). I discovered that somebody (relatively) local had a 1974 Gottlieb Big Shot for sale, and since this was the 2-player version of my favorite machine ever, I bought it for myself; this one is a bit of a project machine, and I am working with my sons on restoring it completely. Immediately after getting it, I found (nearby) a 1972 Gottlieb King Rock, the 4-player version of the machine that made me fall in love with pinball and was the seed of my actual career, so I (perhaps foolishly) extended myself to get that, too; this one, however, was ready to play, so it gets regular use, as well as minor repairs and cleaning.

The addition of the new games, and the chance to spend time with my children working on them, inspired me to refurbish the 1973 Williams Fun-Fest I already had, but which had fallen into disuse a bit; it now has been nearly completely revamped and thoroughly cleaned, with new bumper caps (needed since I bought it) and fresh rubbers, and gets played almost daily. I still need to “debug” one feature, resolder a few questionable joints, and replace some cracked bumper skirts, but it is nice to have this machine working well again (and playing faster than ever).

During this brief frenzy, I also chose to upgrade my tools, especially my soldering station and my multi-meter, and to stock some specialty cleaning and polishing supplies, so now I can be a proper pinball hobbyist, rather than somebody who just owns a machine. Beyond that, while I had the rented truck from one of the pinball purchases, I retrieved my (original) upright Galaga machine from storage, prepared to diagnose and fix or replace the broken monitor (control board); I still need to get this completed (remember, I am a “software guy”, so hardware repairs, especially board-level work to supply power to a CRT, are a stretch for me).

Ultimately, this year has brought me some moments of joy, and in particular [buried lead] the news that I will become a grandfather in the coming year. With the family growth, political changes, and new business opportunities, there is good cause for optimism and hope for 2021.

Why I Do It

The origins of my passion for computer programming and games

I have always loved games, as far back as I can remember. Even as a small child, I enjoyed all kinds of games, and I remember making up games and contests of my own. However, most analog games have at least a couple of drawbacks surrounding one concept: competition.

First, one had to find other people to play the game. I spent a lot of time alone in my childhood, so the opportunities to compete against others was limited. Even when players were available, the choices were limited by the number of people. Some games do not work with too few players, and if you have too many, somebody can get left out.

Second, when there are enough people to play a game, there are a lot of issues with inequity. Sometimes the skill difference at a game (or in general) is just too great for enjoyment, and the degree to which one enjoys any particular game is usually imbalanced. My sister was often around for games for two players, but she was three and a half years younger, so there were few interesting games where we were matched well.

At the time, I had not developed enough life skills to solve these problems through negotiation and sheer enjoyment of playing the game. I took games far too seriously, and probably was something of a poor sport. Nowadays, we have (well, had) Game Nights, which we have been doing for a couple of decades, and I am now far more concerned that everybody is having a good time than whether or not I win (or even play), in marked contrast to my youth.

One solution is provided by one-player games, and I have had a love for Solitaire since I first learned Klondike around the age of five (as fully documented when I wrote “I come by my love of Solitaire honestly“). Likewise, I have loved Pinball for about as long, as my uncle owned Campus Pinball in Ann Arbor (and that experience factors heavily in my life story), but Pinball was not readily available to me on a regular basis in my early childhood due to both location and funding.

Instead, I made up games and similar activities that I could play on my own. I created solitaire games (like the one player version of Go Fish! mentioned in the linked Solitaire post), held competitive events with my toys, like marble races or a challenge to see which Matchbox/Hot Wheels/cheap knockoff car would go the farthest (for which I invented different match systems, including the double-elimination bracket system), or made up strict sets of rules (i.e., algorithms) for automatic players in multiplayer games, like Monopoly, and then played against them. I had no reference to know that this was a rudimentary form of programming, but it is obvious looking back.

More to the point, I used to fantasize about having a “robot” (because in those days, there were no personal computers, simple calculators cost hundreds of dollars, and the only real computer I had ever seen was an enormous mainframe at MSU with multiple huge tape drives 😉) who would serve as my opponent(s) in these games, effectively making them one-player games.

About that time, Pong was released, and as fun as that was, it was still a two-player game (although on many occasions I played both sides, where the inequality of the experience between my dominant hand and the other was striking), so it was actually Breakout, released 4 years later, that became the first video game I really loved. (It was decades later before I learned that Steve Wozniak programmed that game just before founding Apple with Steve Jobs, who was also on that project.) Of course, from that point on, the video games came faster and faster. (Plus, Pinball Pete’s opened nearby, and I made slightly more than nothing with a paper route, giving me better access.)

I was also introduced to Dungeons and Dragons, which is ostensibly a social role playing game, but for the first several years of my fascination, I never actually played it as designed, but rather read through the books of rules and played scenarios (alone) as Dungeon Master, as well as controlling the players, and/or a group of monsters, given algorithmic motivations, which (unbeknownst to me) was building toward computer adventure/role-playing games.

All of this led up to My First Programming Experience. I was hooked; for years I had dreamed to be able to do exactly what I have been able to do since then. Also, the technology rapidly exceeded what I could ever imagine (as detailed in Still Coding After All These Years). Occasionally, I have to take a deep breath and reflect on this fact.

This job is truly, and literally, a dream come true.

SARS-CoV-2 / COVID-19 Update

No Problems…  So Far

Fortunately, there have been no business changes due to the current worldwide pandemic, not because SophSoft, Incorporated and Digital Gamecraft are essential producers, but primarily because the company has always been set up to work in this fashion.  I only work from home, and when there were more of us, everybody worked from home (or, at least, remotely).  Our active projects for outside clients always have been delivered digitally, so nothing changes there either.

In truth, in the midst of all sorts of upheaval, my personal situation is actually quite stable, for several reasons:

  1. As noted above, I work from a home office, so (in theory) development work and company business do not change at all.  The only two analog functions that were regularly performed out of the office were banking and picking up the mail.
  2. My world was turned upside down and my life completely torn apart a little over a year ago.  Compared to suddenly losing my wife, this current situation is a mere aggravation, but very minor when put into perspective.
  3. Due to the above, I had already been adjusting to life (and work) alone here, so the solitude and loneliness were already something I was managing.  Of course, I do have two cats (plus a new stray on the porch), so that helps.
  4. Perhaps to the surprise of some, I am very much an introvert and, for the most part, prefer to be at home.  My default stance is to not leave or go anywhere, so I no longer need to make an effort to be social (for a while).
  5. I am quite healthy, and still relatively young, so I am not in a high risk group for hospitalization from COVID-19; nevertheless, I am taking as many precautions as practical.  Also, I got my “affairs in order” a while back, so I am not scared of being unprepared should I suddenly get sick or even die.

At this time, I have no known exposure and no symptoms; in fact, my body temperature has been running low ever since I started daily checks a couple of weeks ago.  I went to the grocery store today for the first time in more than a week (and only the third time since the pandemic was declared) and should be stocked for two more weeks.  Aside from that, I get fresh air and go walking outside, completely alone (and irregularly, it must be said) and otherwise have not gone anywhere (nor had take-out or delivered food) at all in the two weeks since Governor Gretchen Whitmer signed her “Stay Home, Stay Safe” executive order for the State of Michigan.

What annoys me right now (beyond those ignoring the recommendations and endangering us all, which registers fury with me) is the number of people who seem to be complaining about getting to stay home.  Because I was already close to self-quarantine before we had even heard of this coronavirus, I did not gain any significant quantity of extra time, and I never have enough time to do the things (at home) that I want to accomplish.  Now, some people have gained lots of excess time and talk about being bored.  Bored?  What is that?  Seriously…  I do not think that I have been bored at home in 30 years!

That said, productivity during this crisis has not been what I would have liked, although it has been getting better, with progress being made on all fronts.  I think that I may be dwelling too much on pandemic concerns, and that could be taking away some of my focus, all of which prompted me to write down my thoughts here.

It is my full and honest intention to make this the last COVID-19 related post for a while, and instead get back to product development and posting about other topics, all while maintaining the maximum practical physical separation from other people.

Digital Gamecraft 2020

It has been just more than a year since SophSoft, Incorporated lost its second founding partner (of three) and I lost my wife of 31 years.  In a week, the company will be celebrating its 38th anniversary, and it will continue to develop game software.

During 2019, I took time to reflect on what was really important and what I wanted to do with the rest of my life, and I decided that the plans that Sherry, Rick, and I had devised (and undertaken) as business partners were honest and true representations of what we wanted to achieve.  Therefore, I will continue those pursuits, not just out of a sense of loyalty, but because they are why we got into this venture in the first place.

Digital Gamecraft will continue to develop and publish game titles in a variety of genres, and this will be our primary focus.  While some of these games may be a little different to what they would have been with my partners to help guide the development, the games will nevertheless embody the spirits of Sherry and Rick to the best of my capabilities.

SophSoft will also continue to do consulting work; however, due to sheer limitations of time, our regular client roster is effectively full.  Please feel free to contact us if you are in desperate straits or need our help with a fully-funded project that is right down our alley, but realize that we may not be able to fit you into the schedule.  (If you have just an idea, a shoestring budget, or a need for fleet management software, go somewhere else.)

We also have a couple of adjunct projects that I expect to see the full light of day within 2020; announcements will be made here as and when appropriate.

In an industry where companies come and go with a disturbing regularity, remember that we have had the same address for 30 years:

Post Office Box 4936
East Lansing, MI  48826-4936

We have had the same business phone number for 25 years:

(517) 337-3905

Our web site has also been in steady operation since 1995 (though this blog is just a baby at a mere 15 years old).  Plus, having been originally founded in 1982…

We are the oldest independent video game company in the world.

I truly appreciate your support as we continue to move forward.

Sincerely,
Gregg Seelhoff

RIP: Sherry Seelhoff (1964-2019)

Sherry Seelhoff

At the start of the year, my wife died unexpectedly at the age of 54.  We had been married for more than 31 years and have two wonderful sons.  Sherry was a founding member of SophSoft, Incorporated, and her passing has had a profound impact on me personally and will have a lasting effect on the company, including this blog.

Sherry was a dedicated and loving wife and mother, who gave herself fully to her family and friends. Her kindness and generosity touched everyone she met, leading to recognition for her service with volunteer organizations. She was loving and loved, and her memory will be carried by all she knew.

Sherry passed away quietly and unexpectedly in her sleep as the new year began. She is survived by her husband of 31 years, Gregg Seelhoff, sons James Seelhoff (Meredith Baumann) and William Seelhoff-Ely (Sandy Seelhoff-Ely), sister Melissa Short, mother-in-law Margot Hellerman (Lance Hellerman), sister-in-law Lori Seelhoff, niece Heather Joswik, half-sisters-in-law Angelina Hellerman and Andrea Hellerman (Jim Arnold), half-brother-in-law Samuel Hellerman, two half-nieces, one half-nephew, and innumerable friends. She was preceded in death by her mother, Mary Theresa Short, her father Wyman Richard Short, and her father-in-law, Gerald Norman Seelhoff.

Sherry lived her life with empathy and passion, and had an infectious spirit. She enjoyed hiking, camping, canoeing, dancing, reading, hosting game nights, playing trivia, watching movies, and listening to music. She loved laughing with friends and family. She would want to be remembered by those she loved continuing to participate in her favorite activities and striving for the ideals and compassionate causes in which she believed.

In lieu of flowers, the family requests donations in Sherry’s name to Sierra Club, ACLU of Michigan, and/or Planned Parenthood.

“… our life is as meaningful, as full and as wonderful as we choose to make it. And we can make it very wonderful indeed.” ― Richard Dawkins

“Don’t think of it as dying. Just think of it as leaving early to avoid the rush.” ― Terry Pratchett

“Don’t cry because it’s over, smile because it happened.” ― Dr. Seuss


Fall in East Lansing

#whymichigan

After an unusually warm summer here in Michigan, which happened to correspond to lots of upheaval and several unusual activities for me, the weather broke with a minor thunderstorm a few nights ago; in came the cool fall weather that characterizes the change of season, and it looks like it plans to stay for a while.

As much as I love hot days, especially those that others sometimes find unbearable, I think that I really enjoy the early autumn in East Lansing the most.  It is still warm enough that everybody is outside, yet cool enough to sleep in the evenings (and that damn air conditioning can stay off).  We get some rainshowers and occasional thunderstorms as the different air masses interact.  Soon, the maple trees will start turning beautiful shades of red, orange, and yellow, and the smell of falling leaves will permeate the fresh air.

This is fall.

(Yes, I know that technically the autumnal equinox is not until the 22nd of this month, but the change of seasons is not only about one astronomical event on a particular day.)

Another aspect of this time of year here is that East Lansing (Go Trojans!) is a big college town, home to Michigan State University (Go Spartans!), which has more than 50,000 students; that is more students than permanent residents of the city.  From late August into September, the influx of students, including some 10,000 incoming freshman, provides so much energy it is almost palpable.  (The increase is traffic is also unmistakable, but still nothing like larger cities.)  There is really nothing like a home football Saturday when all of the above combine into a uniquely exciting experience.

With the university and so many students, there is a lot of diversity of interest, many resources, and loads of young people who are here for the express intent of learning, which makes for a primarily uplifting environment.  Whether one is into science, the arts, sports and games, public service, natural recreation, business, or almost anything else, chances are good that you can find (or make) an opportunity here.  In just my field, there is the Game Design and Development Program at MSU, a student organization, Spartasoft, a top academic conference, Meaningful Play, and Digital Gamecraft is not nearly the only game developer to be based in East Lansing (though we are, by far, the oldest).

Whether coincidental or not, this impending change in season has corresponded to a noticeable uptick in productivity on the most important end of my personal task list.  In particular, I have been really able to dig into development recently, with two iOS projects getting ready for release, one product update very soon (i.e., already submitted to the App Store) and a second one (for a client) making great progress toward completion.  I have also been able to get back on the bike, literally, and pick up where I left off on my exercise program.  The scenery is just lovely, and the weather is perfect.

That is just one reason why Michigan.

[Note: The following just happened to come up randomly from my music collection while I was writing this post.  It seems appropriate, so enjoy.]