Wow! 40 Years in Business!

Today, the oldest independent game developer in the world celebrates the 40th anniversary of its official founding.

On Wednesday, January 13, 1982, forty years ago today, I took my completed “Certificate of Persons Conducting Business Under Assumed Name” form into the Ingham County Clerk’s office in downtown Lansing, Michigan, signed where I needed to sign, paid my $10 fee, and thereby officially established Sophisticated Software Systems.

Over the years, the structure of the business changed. After many years as a sole proprietorship, I brought in two partners and we incorporated as SophSoft, Incorporated in early 1996. A couple years later, we launched Digital Gamecraft, a division specifically for developing our own game projects, and last year we were awarded a registered trademark for Digital Gamecraft®.

In the early years, I developed products for a number of platforms and experimented with different business models. Our first legitimate success was a self-published title for MS-DOS, using the “shareware” method, in 1990. That game led to additional contacts in the retail game industry. We went full-time in 1994, and soon we had as much contracting work as we could handle; in fact, we had products in 3 different booths at the very first E3 in May 1995.

Since that time, we have done a great deal of work, especially in game development. The relative priorities of types of work have shifted over time; we still do contracting, but the focus recently has been on self-funded projects, while the retail game work, both contracting and pitches for funding, has necessarily waned.

Yesterday, I went back a did a cursory review of the work we have done over the years (and especially prior to this blog starting), and here are some fun facts:

  • We have pitched 8 different ‘AAA’ retail products (and teams) to publishers.
  • We have developed more than three dozen retail/commercial titles.
  • We have created 40 significant internal projects, plus 120 minor projects.
  • We have done work for 19 different clients, 8 of those for multiple projects.
  • We have worked on approximately 60 distinct projects for these clients.
  • We have been stiffed on multiple projects, and ghosted at least twice.
  • We have 32 projects planned and prioritized, plus 4 more added recently.

I am very proud of the work that the company I founded has done for the last 4 decades, and I am proud that I played a principal role in most of it. However, the anniversary is somewhat bittersweet because the two people who most helped me, my partners, Sherry Seelhoff (Director of Operations, and my wife) and Rick Tumanis (Art Director, and friend), did not live to see this day and to celebrate it with me.

Still here, still working, and still young enough to hope for another 40 years. 😉

2022: Year in Preview

Happy New Year!

I am generally satisfied that 2021 was decent, and somewhat better than 2020, for SophSoft, Incorporated and Digital Gamecraft®, but I am expecting us to perform significantly better this year, particularly in expanding our offerings and improving our finances. However, the development schedule will not be quite as aggressive as last year, which should allow for greater and deeper focus, and generally be slightly more realistic; it will still be challenging, though.

Digital Gamecraft logo

Product Development Goals

This year, I decided to break the goals into appropriate sections, so I start here with the priorities for (only) our internal development projects:

  1. Unannounced productivity tool – this product has been under development for, literally, 32 years, though obviously not continuously. We are fairly close to an early release version, at which point we will (probably) announce the product and unveil the web site for a soft launch. This is the highest priority because it helps manage the development and prioritization of all the other projects. While I see almost unlimited potential of this project, it is the means to an end, and should the internal ends be satisfied by an unpolished alpha version, the effort to polish the product for public consumption could be de-prioritized. (We have to get there first.)
  2. SophPlay System™ – this product combines libraries, tools, standards, and procedures into a complete development system for creating robust games on multiple platforms, and it has been in use here for more than 25 years. Although a public release has always been envisioned for the future, the development work this year is particularly in support of (all) internal game products, which is why it is given this high priority.
  3. Unannounced Gamecraft Classics™ product – this traditional game title has been under planning and development, intermittently, for decades. It was buoyed (back) up the list of priorities in the middle of last year when we were reassessing our product lineup. It was promoted due to the vast amount of research and code that was already complete and available, combined with its ready support of simultaneous improvements to SophPlay.
  4. Unannounced console title – this is a game title that (perhaps unusually) focuses on accessibility and inclusion. It started as the highest priority last year, but it became clear that 3 months of development was too optimistic an estimate, and combined with the economic realities of the situation, it had to be slightly de-prioritized this year, but by no means am I any less excited by the prospects, and the above two projects will help pave the way. (We need to hear back from Sony and Microsoft whether we can reveal which consoles are supported. 😉 )
  5. Unannounced reference website – this is yet another project that has been in the conceptual and prototype design and development phases for ages. It is given this high a priority now as it also gives me a great deal of excitement and purpose, and because it helps support one of the projects above, but it is given a lower priority than that project because we currently have no viable business model for it, and while we are more than willing to make it free in theory, that concept makes it much harder to justify devoting development effort (given the other projects).
  6. Demolish! Pairs – this product has been available in its initial form since 2013 (on iOS, 2018 on Android). We have early plans to refresh the Android version, and later plans to both redesign the mobile versions and expand to other platforms (such as Windows, where there has been a working prototype since 1999). Currently, this title doesn’t quite earn enough to justify the time it takes to bring up the sales reports; its primary benefits are the development and exercising of SophPlay and the demonstration of our capabilities on various platforms.

Although the above projects are given numbered priorities, which are generally correct, the fact is that there is some interplay among them, so we will not (and cannot) be just focusing on a single project until it is finished and then moving onto the next. For that reason, this year I will not be assigning or predicting target release dates; everything will just be “as soon as reasonably possible”, with the above priorities in mind.

Of course, we have a backlog of dozens of products in various stages of design and prototyping, and we know exactly what the next few games will be, but even touching #7 before 2023 is something of a pipe dream.

Client Development Goals

To be completely honest, I really like my two primary clients and the projects I get to work on for them, but I see the inherent limitations in trading my time (and skills) for money. I really should be charging them between more and very much more than I currently am, but that doesn’t really resolve the bigger issue. If I could quadruple what I charge and work more hours, I could go from struggling to comfortable, maybe even well off, but that does not scratch the itch. This is the reason that I have not really been actively seeking any more long-term clients, and also why I have (deliberately) not been filling all my development time with client work.

Instead, I have been relishing the actual work and the challenges it provides, as well as the experience and knowledge I gain (and, sure, the funding). At the same time, I want to make sure that, for each client, neither of us is overly reliant on the other, especially given how close we came to this being an issue last year. (Plan for the proverbial ‘hit by a bus’ scenario.)

For one client, I am working on a feature for an established (non-game) product that has involved a lot of research to this point. This has given me the opportunity to program in Pascal for the first time since the 1980s (and Object Pascal for the first time ever) and to improve my knowledge of JSON, while I exercise my intellect and my technical design, programming, and debugging abilities. In (the early part of) the new year, I expect to have the fundamentals of the feature ready to be integrated into the main product, and I hope it can be in a new release of that product (of which my feature is but a small part) ready before the end of the year. Also, I expect that I will be able to announce the name of the client and product.

For the other client, Goodsol Development, with whom I have been working for more than 20 years (!), the products are much closer to those that Digital Gamecraft develops. (In fact, our PC solitaire game prototypes date to 1989, predating Goodsol by 6 years, but they were put on hold permanently in 2001 when Goodsol became a client.) These titles provide the challenge and fulfillment that I would be seeking even were they not a client, while general knowledge cross-pollinates with our internal products; some features have been implemented more quickly (on both sides) because I already did the research and had the requisite knowledge, so products from both companies benefit.

Last year, we had an aggressive release schedule planned, but that was necessarily interrupted in April and, in truth, was a bit optimistic anyway. However, that means that the early part of the year is fairly well-defined as the carryover from last year’s schedule. You can expect to see releases for Pretty Good Solitaire Mini (not a stretch, given it was essentially already done in December), Pretty Good MahJongg (Windows and Mac), Most Popular Solitaire (Windows, Mac, and iPad), Action Solitaire (Windows only), and FreeCell Plus (Windows, Mac, and iPad). After that (or sooner), it would be a good bet that we would add new games to Goodsol Solitaire Engine and then have subsequent releases of Pretty Good Solitaire Mac Edition and Pretty Good Solitaire Touch Edition.

General Development Goals

There are always general development projects ongoing to support commercial releases, or just business operations. These can be tools or, probably more often, non-programming tasks such as documentation, research, and marketing. SophPlay used to be the perennial top entry on this list, but it has now been (appropriately) elevated to ‘product’ status. Here are the (5) main general development tasks to be completed this year:

  1. Pitch deck and company bible – these documents give information about the structure and purpose of the company and its various divisions. We have always bootstrapped the company, and we have never received third-party loans nor investment, but writing these documents gives a bigger picture view of the company and is very helpful. It is like writing a business plan without having to include nonsense numbers and projections to impress investors.
  2. 3D graphics research – this research is essential to our products going forward. It is no secret that most of our games to this point have been 2D or isometric, but that is definitely not the case going forward, especially with our expansion into consoles. We have been very rapidly expanding our knowledge and capabilities, but there is still much to be learned about the differences among the 4 or 5 different systems on the platforms we currently support. Additionally, I am personally learning to create 3D artwork, a skill I have never had before.
  3. Xbox project approval – this is required to release and market our upcoming console game(s) on the Xbox One. This development task consists of adjusting our design documentation to fit their desired format, plus the development of some mockups and other explanatory imagery. This is not (necessarily) a difficult task, just one that has not gotten completed yet.
  4. Blog writing – this is simply a greater commitment to openness and transparency via blog posts in 2022. The only blog post I wrote in 2019 was announcing the death of my wife, Sherry, who was also my only surviving business partner, and it has been difficult to get back into the swing of posting regularly since then. However, the facts that I enjoy writing, and that I do not enjoy the idea of providing free content on social media, combined with a huge upcoming anniversary, give me the impetus to really try this year.
  5. Nintendo Switch developer reapplication – this is needed to complete our portfolio of major console support. Nintendo was the first application we completed, and it was also the first that was rejected, although no reason (nor obvious means of appeal) was given, so I have no idea why we were turned down. Sony took seemingly forever to approve us, and it required a change in our registered business address; Microsoft took almost no time with only one casual clarification (via email with a real human being). With our newfound experience, it is only fair to give Nintendo another chance to get in on this opportunity. 😉

Business Goals

At this point, staying healthy, safe, and productive is a given, and continuing to make payroll should be considered a necessity though, to be fair, I personally have enough runway via available credit that I could continue to pursue these goals until 2023 even if company funding disappeared tomorrow. Given that, these are the 3 main business priorities:

  1. Substantially increase business income – clearly, the primary way to do this is to release new products, so that is the main focus. Half of the products listed as development goals should increase income, and each of those has the potential to be huge.
  2. Resolve outstanding business paperwork – Sherry was the officer in charge of keeping up the necessary business paperwork, and since she died, it has become my responsibility. While I think I have all the legal requirements fulfilled, I need to organize everything and make sure.
  3. Complete home/office renovations – while this is not actually a business function (and is not funded by the company), it will provide benefits such as additional safe and secure storage for equipment and documents, as well as a larger space for testing console and AR/VR products (not to mention a nicer place for breaks when nature calls).

We definitely take over the world in 2023. 🙂

Conclusion

We have a lot of development work to do to release more of our own products, plenty of development to perform for our clients, loads of support projects to complete, and a few major business goals, so we are going to be very busy… a good thing.

There are other activities that I will, personally, be participating in less this year, including social media, television, and newsgroups. I will, however, continue (or even increase) those activities that bring me joy, including spending time with my grandchild and the rest of my family, finding solitude in nature, playing games, and exercising (as well as programming and writing).

It may look overwhelming, but the counterpoint is that this company turns 40 this month! We have been doing this for a very long time, and we are still here, so we have the experience and (global crisis or not) 2022 is going to be a breakout year for us.

Let’s Go!

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.

2021: Year in Preview

Happy New Year!

Although 2020 was fairly average for SophSoft, Incorporated and Digital Gamecraft™, I am not terribly satisfied with that outcome, given the huge number of internal (and external) projects we have and all of the unrealized potential. Therefore, with more than a little optimism, I have set a very aggressive development schedule for the coming year.

Digital Gamecraft logo

Development Goals

Our primary goal for 2021 is shipping our first, internally designed and developed, console title. This project is well underway, but still has a lot more to be done. We are hoping to be completed with the development within about 3 (more) months, but how long the approval and publishing process takes is beyond our control (or experience).

Depending on the success of that title, we may (or may not) adjust the rest of the schedule to take advantage of other related opportunities (in particular, adding another console platform or two to our repertoire). However, at the moment, the development schedule calls for brand new game releases in July and November, as well as the initial version of a productivity tool and the first look at another project, a reference site, as well as maintenance updates for Demolish! Pairs, during the year.

Combined with work for our current clients, we expect (amazingly) to have new products or product updates releasing every month in 2021.

For much of 2020, I have been working with a client who publishes a major utility to add a significant feature that will make an already indispensable tool (that I used and advocated prior to this gig) even more useful for programmers like myself. Although I have absolutely no control over feature integration or release scheduling, I am hopeful that the result of this work will become publicly available this year. (At some point, I will have to get permission to reveal the product name and promote it, instead of just teasing.)

Our work with Goodsol Development continues, too, and although I cannot give the planned schedule, you should expect to see many more games added to Pretty Good Solitaire Mac Edition, Pretty Good Solitaire for iPad, and Pretty Good Solitaire Mini for iPhone, probably some new layouts for Pretty Good MahJongg, and perhaps even some updates for Goodsol Solitaire 101, Most Popular Solitaire, FreeCell Plus, and Action Solitaire. Of course, these games are pretty great already, and Goodsol has not charged for updates for any of the above titles, so I recommend buying them all now. 😉

Business Goals

For the moment, the company has almost everything it needs to accomplish the above goals, although it will take a huge effort on my part. The one thing we still need is serious funding, such that we can afford more help, but for the moment we are still bootstrapping.

From the business standpoint, our basic goals are:

  1. Stay healthy, safe, and productive.
  2. Continue to reliably make payroll while growing income.
  3. Connect with a great artist (or two) for our games, and maybe a marketing expert.

Note that we are not looking to take over the world until 2022 at the earliest.

Evaluation

This post lays out the goals for the year, obviously, so we can look forward, but part of the purpose of the post is also so we can look back on them at the end of the year and assess how the year has gone relative to what we hoped and expected. (More often than not, something external, like a new client, an emergency project, or an unexpected international hit game [knocking wood], causes priorities to shift.)

This is, truly, an incredibly aggressive development schedule, and if we can even get close, without disappointing ourselves or any of our clients, then that will be worth an A+.

If we can complete at least three of the (five) planned major releases this year, that will still be a great performance, but bittersweet for not getting everything done. Anything less would be disappointing, although just making it to our 40th anniversary early next year would be an accomplishment itself.

Of course, we give client projects priority over our internal projects, which is why (in the past) we have not made the desired progress with Digital Gamecraft products, but I believe (without going into detail here) that we have the organizational processes and development foundations in place to accomplish all of the above (without “crunch”).

Now, there is nothing left to do but DO.

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.

Securing the Web

Adding SSL/HTTPS support to Apache.Digital Gamecraft logo

You may have noticed (or not) that this blog has recently acquired a little padlock icon to indicate that it is “secure”.  You can now access the blog using “https://”; in fact, using “http://” (without the ‘s’) just redirects to the secure page anyway.

Marketing Purpose

This change has been on the task list for a very long time, but it finally became really important when, last July, Google changed Chrome to display “Not secure” next to any web site that did not have a certificate.  Given that Chrome now represents about 60% of browser usage across all platforms, that is not an audience we would ignore. Fortunately, at the moment, the little indicator in Chrome, and other small reminders in various browsers, are not too damaging, but this is likely just the beginning of more and more dire warnings.  Realistically, there is essentially nothing passed from this blog outside of Digital Gamecraft itself that needs to be encrypted, per se, but readers do not necessarily know that, and they should not be asked to know that, either. From a marketing standpoint, anything that causes a “customer” (in this case, reader) to have to make a decision (e.g., “Is this site safe?“) reduces the likelihood that individual will continue, which means that it reduces the audience.  Not desirable.

Technical Purpose

In the past (i.e., when this task was first added to the web improvements list), adding support for secure, encrypted communication via SSL/TLS/HTTPS was a complicated and confusing process.  Frankly, this is why it never quite bubbled up to the top of the list and, thus, never got implemented until recently. Without getting too technical (because I could not, even if I wanted to), SSL stands for Secure Socket Layer, which is a protocol for encrypting communications, and TLS stands for Transport Layer Security, which is a newer version of the same thing.  TLS actually supersedes SSL, but the latter is still used generally to represent both SSL and TLS.  HTTPS is the protocol used to do the actual communication. The idea is that everything transmitted over the internet (such as this blog post), if not encrypted (i.e., using HTTP), is readable at every server and router along the way.  Encrypting the data makes this (nearly) impossible, so TLS (or SSL) is used, and HTTPS tells the receiving computer that the message needs to be decrypted.  The process of encrypting and decrypting data relies on certificates that need to be obtained from a certificate authority (CA), which is where things were most complicated. In the “old days” (just a few years ago), you would have to contact a CA to get a certificate, and this process often required providing lots of information to prove who you were before (always) paying an annual fee for a certificate.  There are different types of certificates with various levels of verification and you can still spend upwards of $500/year on a certificate, or even $150/year or so for certificates no better than certificates you can get for free.

Implementation

You read me correctly: FREE.  Over the past few years, the cost of low-end certificates (enough to be considered “secure”) has dropped to the point of now being free and automated.  In particular, Let’s Encrypt is a certificate authority “run for the public’s benefit” that provides free certificates. Additionally, the automation provided by Let’s Encrypt and EFF’s Certbot makes this fairly simple to do.  After the fact, knowing how easy this was, I am somewhat embarrassed that I did not do it sooner.  So, here is how I did it… I started at the Let’s Encrypt site, read a little bit, and then was directed to the Certbot site, which (on the main page) just asks for your web server and system type.  Caveat: We run our own servers here, so I have full shell access to the system; I do not know how much more difficult it may be trying to do this through a web interface. Because we are using Apache running on Ubuntu (Xenial) to serve this site, I ended up on this Certbot page.  First, I updated my system, just to start with the latest components, and then I just followed the (5) steps in the Install section.  If you have ever installed Linux software from a command line, the process should seem quite familiar. Next, I typed in the first command under Get Started:
sudo certbot --apache
I answered the few questions (asked only once) about, as I recall, contact information and whether I wanted to be added to the EFF mailing list (emphatically not).  The meat of the program produces a list of domains served by the Apache installation and allows you to select which ones you want to serve as HTTPS.  After that, it asks whether you want to redirect all HTTP traffic to HTTPS (recommended), which seems to be working flawlessly. In our case, we have quite a few domain and host names all serving one of a relatively small number of sites.  I initially did just one site (https://sophsoft.com), which worked a charm, but I ended up recreating that certificate and including all of the other host names that serve up the same pages (e.g., www.sophsoft.com and sophsoft.info).  I then repeated the process separately for each discrete site.  Voila!  Done. Actually, the installation process, when finished, gives you a link to SSL Labs testing page so you can verify the security of your page.  All of our pages were given Overall Rating: A. As noted in the Automating renewal section, the certificates are only good for 90 days (gift horse and all that), but it looks like there is a cron job that can be installed to automatically renew.  I admit that, until I started writing this paragraph, I thought that it had been installed already, but it looks like I will need to do that myself.

Final Adjustments

We did still have one or two pages (OK, the whole blog 🙁 ) that initially served up encrypted pages but still showed a broken padlock, indicating lack of security.  This can be caused by residual HTTP references in a page, which result in only portions of a page being secure.  Often, image links are still insecure, so they need to be fixed. In our case, the blog needed the canonical address to be updated to HTTPS in the settings, the custom theme had a reference to an image file accessed insecurely, and many of my actual blog posts made explicit HTTP image references.  It really only took a few minutes to find and fix the issues, but there was a little sleuthing involved.

Conclusion

Sooner or later, and I imagine sooner, web pages that are served up without encryption will be the outliers and will have an increasingly diminished reputation.  I would be quite surprised if Google’s search ranking algorithms did not already favor HTTPS pages.  Given that the cost has now dropped to nothing and automation makes the process pretty easy, it seems like an obvious improvement for any business that values its web presence.

Elite Game Developer Needs More Paying Work

Don’t bury the lead.

Game Developer for hire

Digital Gamecraft: What I Do

I will make your game idea into a real product.  I will make your existing game much better.  I will instill a sense of fun into your team.  I will imbue your code with quality.  I can help get your project shipped to customers.

This game developer is seeking additional work.

I generally work on a contract basis, but I can also do hourly or even full-time salary, as needed.

What?

  • Game development (Windows, macOS, Android, iOS, Linux, online, …)
  • Programming (C++, C, Objective-C, Java, C#, PHP, JavaScript, …)
  • Software Engineering (API design, UI/UX, mobile, AR, networking, AI, …)
  • Project Management (agile, leadership, standards, marketing, quality assurance, …)
  • and much more (from concept through customer support)

Who?

My name is Gregg Seelhoff, and I have more than 30 years experience in the game industry.  I have worked on more than 30 published products, usually in a principal role.

  1. Peruse my current résumé.
  2. Check out my LinkedIn profile (especially the recommendations).
  3. See my online portfolio.
  4. Read the archives of this Gamecraft blog site (since 2004)
  5. Just ask (in the comments, or via email to seelhoff@sophsoft.com).

Note that I have many talented colleagues upon whom I can call, especially for art and music, to form a team of the necessary size for nearly any project.

Where?

Here.  I can travel to almost anywhere in the world, and I have clients all over the United States, but I am most efficient (and prefer) working from my comfortable home office.  That said, I will relocate (and have) for the right opportunity.

When?

I am available immediately.  My time is booked to about 25% of capacity right now but that can change quickly.  Act now, while I am still available for additional projects.

Why?

Love and money.  I love what I do and I need to have enough money to keep doing it.

 

Seriously

If you want to have a top quality game developer on your team, or you have a game project that needs to be created or improved, contact me now.

 

New Old Home Office

Michigan development at full strength.

This week we completed some basic remodeling of the main Digital Gamecraft™ headquarters.  After three years splitting time with Los Angeles, California, we have again consolidated here in East Lansing.

Before we piled too much equipment into this office, we took the initiative to clear it out, remove the nasty linoleum tile floor, repaint the walls bright white (from beige) to increase brightness, seal the floor to insulate the office from external odors, and install proper carpeting to muffle the ambient noise from multiple systems running in a limited space.  With the addition of another bright lamp, this space is now very (i.e., even more) comfortable and conducive to productivity.

Of course, over so many years, we collected lots of equipment that is not as necessary, or downright obsolete, and (I hate to admit) an abundance of cables running every which way, including some that were no longer connected to anything on one or even both ends.  Now we are reloading the office with only the necessary, convenient, and/or inspirational items (and the best ones, in the case of duplication).  At the moment, it is still a little spartan with just the fundamental development systems, but we will build it out for better efficiency as we perform our primary programming tasks over the next month or so.

Meet the working stations

We have a few different stations set up for development work:

Windows and Android station (dual-boots Linux)

This primary development station currently handles Windows and Android development, as well as Linux, Unity (desktop), Unreal Engine, HTML 5, or almost any other platform for which we build products.  It is positioned in the optimal location for seeing outdoors and minimizing reflections (to reduce eye strain).

Mac and iOS station (dual-boots Windows)

This secondary development station currently handles Mac and iOS development, as well as Unity (mobile), and other platforms when on the road.  It, too, is positioned for reduced eyestrain, with minimal reflections and a direct view outdoors.

Relaxation station (in progress)

This station facilitates development by giving an opportunity to relax and break away from direct problem solving, which often gives the unconscious mind some time to work the problem, or to simply blow off some steam.  This pinball machine is a Williams Fun-Fest, an electromechanical (EM) model produced in 1973, which is fully playable, but slowly undergoing some restoration.  It has been accompanied by an original arcade Galaga machine from 1981, but that cabinet currently needs a replacement CRT or board.

This room also houses our primary server, which is headless, and a mobile device station consisting of two multiple device docks capable of charging 15 mobile devices (including Apple Watch) simultaneously, though we still need to charge the iPad Pro pen separately.

Older makes way for newer

In the course of setting up and making room for the latest equipment, we find that there are older systems and devices to be retired from ongoing development.  In this go ’round, the following were retired:

  • Apple Mac Mini PPC
  • iPad (original, still on iOS 3.2)
  • iPod touch (2d generation)
  • Android 2.2 (Froyo) phone
  • Ouya
  • Microsoft Xbox 360

Some of our peripherals may be retired as well.  Our duplicate X-Arcade Tankstick, as well as the older Dual Joystick and (separate) Trackball devices, are destined for storage.  Our Microsoft Sidewinder joystick and Logitech/Momo steering wheel/pedals, force-feedback devices, will stay.  We have 4 printers, 3 scanners, and 2 external optical burners (all useful) to optimize, and we have extraneous monitors, speakers, and various network routers and switches to stash.  I guess we will retire the fax machine, too. 😉

Efficient usage of resources

Now that the remodeling, consolidation, and configuration of the office is (essentially) complete, we find that we have some extra time for external development projects.  In these slow, summer months, we are booked to only about 25% of maximum capacity.  If you have (or know anyone who has) need of a massively experienced game developer or team, please check out SophSoft, Incorporated at sophsoft.com.

Of course, we have (literally) 32 more game projects prioritized for development under our Digital Gamecraft brand, plus a separate productivity product (to be announced), but I would love to discuss how we can help you make your vision into a published reality.

Looking Forward to 2018

Happy New Year! 🙂

Digital GamecraftThe Roman calendar started in March (Mensis Martius), so by that measure I am not too late.

OK, so we are already two months into the Gregorian year, and this is only my second post.  Frankly, those of you who know me personally will appreciate that I often have a lot to say, but when it comes to setting aside time in my busy schedule to write it down, well, my preference always tends to actual development (and my task list reflects that preference).

So, SophSoft, Incorporated and Digital Gamecraft have been acting like a duck, appearing calm and quiet on the surface, but paddling like crazy under the water.

Yes, we have been ducking. 😉

That said, we have been doing a great deal of development work on a few fronts.

What We Have Been Doing

Recent development work has been divided pretty clearly into three categories:

  1. SophSoft has been continuing our long-term association with Goodsol Development, and there are a couple of products in the pipeline for release in the near future and, of course, more to come thereafter.  There is a major release scheduled for March 21st (stay tuned), followed shortly by our two products, the first of which is already “in the can”, and the other being completed now.
  2. Digital Gamecraft is going to be releasing Demolish! Pairs for Android soon, in conjunction with the refresh of Demolish! Pairs for iOS, which is currently in progress (as required by Apple).  Another game is prototyped and approved for full production once that simultaneous release is (successfully) completed.
  3. I have been leading a team, the Advanced Concepts Group, at DAQRI, to produce AR (augmented reality) software for enterprises (Professional Grade AR™), including the majority of the Worksense™ productivity suite, as well as the development tools necessary to build applications for the DAQRI Smart Glasses®.

With more than a dozen products actively developed already this year, not to mention also properly purchasing our Michigan home/office during the same period, perhaps that will put some perspective on my lack of blog progress.  Now…

What (else) We Will Be Doing

In addition to the work mentioned above:

  • SophSoft has another (unannounced) product designed and in the early (prototype) phase.  It is a slight departure from other projects we have previously done, but it should be groundbreaking.  The first version is scheduled for release in “late Q3”.
  • Digital Gamecraft has a planned and prioritized list of game projects to undertake, with four more expected to be developed during 2018.  However, we should probably emphasize the “agile” nature of this schedule.
  • With DAQRI, there are several exciting (but, alas, non-game) projects scheduled throughout the year and into 2019 and beyond.  I am not at liberty to reveal any of these plans, of course, but I have seen the future of industry.

Personally, I have two close family weddings and a big family reunion all scheduled during the summer (in three different months), so I should be increasing my air miles, too.

Conclusion

Everything is looking quite positive, and after Looking Back at 2017, I fully expect 2018 to every more productive and fulfilling.  In fact, composing this blog post reminded me why I should be doing it more regularly: it helps me increase both my enthusiasm and my focus.

Looking Back at 2017

Overall Performance Grade: C-

Digital Gamecraft / SophSoft, IncorporatedIt has been more than four years since we have done a proper ‘Year in Review‘ post and, frankly, it will be still longer before we do a proper one.  However, we should take a look back on the previous year and take an honest appraisal of our performance and the work we have done at Digital Gamecraft and SophSoft, Incorporated.

Overview

Excluding politics, 2017 was not a terrible year for us, and for the most part we moved in a positive direction, with no catastrophic setbacks.  However, it must be noted that our ostensible performance was disappointing.  While we made big strides with internal development, we did not publish enough product (nothing directly from Digital Gamecraft) and did a poor job of communicating and marketing.

When one is spinning plates, it does not take much loss of focus to allow things to come crashing down.  Right now, SophSoft is as “streamlined” as it has been since 1994, so with fewer manhours to utilize, we tend to focus on the crucial issues (e.g., paying bills) and the tasks that we perform best and enjoy the most (i.e., development).

What Went Wrong

Because I gave us a below-average grade, we will start with the negatives for 2017:

  • We did not publish any Digital Gamecraft products (or even updates).
  • One of our Demolish! Pairs products was removed (forcibly) from the App Store.
  • Our primary web server crashed (hard) in the summer and we are still recovering.
  • Time spent in Los Angeles is far less productive than East Lansing (for reasons).
  • The current US Government is attempting to destroy this country for generations.

What Went Right

Now, we can end this with the positives about 2017:

Conclusion

Ultimately, being disappointed with shipping an average of more than one product update per month is probably a good thing; however, we can definitely do better, and that will be the subject of my next post, Looking Forward to 2018.