In my last report, I updated the buttons to significantly improve the look and feel of The Dungeon Under My House, my non-violent, first-person role-playing game and my second Freshly Squeezed Entertainment project.
While much of last week was spent attending to other tasks, such as creating a devlog video about the last two months of progress, I did spend a little time on automating my iOS builds for Toytles: Leaf Raking and Toy Factory Fixer.
New mobile requirements
This work is generally applicable to all of my projects, not just The Dungeon Under My House, but it will benefit as well.
I like to ensure my game is available on as many devices and platforms as possible, so I write cross-platform code, avoiding proprietary technology as much as possible. By doing so, I am able to publish my games for Linux, Mac, Windows, iOS, and Android.
Unfortunately, Apple and Google like to update their requirements for keeping your apps in their stores, even if your game hasn’t changed.
For Google Play, it’s not so terrible: I simply get the latest NDK and SDK and build, fixing whatever little changes might be required that usually doesn’t affect my game’s code so much as the various Android-specific scripts and configuration. And I can do it on my normal development computer, which is a Dell PC I bought in 2013 running Ubuntu that has had some of the internal hardware upgraded and still works just fine.
But for the App Store, I cannot easily do the same. In fact, not only does Apple require that apps need to support iOS SDK 17, but that the apps must be built with Xcode 15, which means it needs to run on an Apple computer.
Both iOS SDK 17 and Xcode 15 were released about a year ago, and both are free. What’s the big deal?
Well, unlike previous updated requirements, this one comes with baggage.
See, I have a Mac Mini. I bought it in 2017, and despite it being fairly underutilized and otherwise perfectly working hardware, it’s old enough now to be considered officially “vintage”.
If you’re not familiar with Apple hardware life cycles, vintage means Apple stopped selling the product between 5 and 7 years ago, which limits how much support they provide for it.
In this Mac’s case, it stopped getting OS updates after macOS Monterey, which means the latest Xcode available to me is definitely NOT Xcode 15.
Next year, my Mac Mini will be considered “obsolete” because it will be after 7 years since they last sold that model of Mac Mini.
Ok fine, I just need to buy a new Mac, right?
Well, I’ll get to that. But first, the computer I have still processes bits and bytes just fine, and so I’m more than a little frustrated that Apple’s policies are forcing me to abandon the as-already-mentioned perfectly working hardware.
Yet Apple won’t provide new OS updates to this machine, which means no Xcode updates, which means I cannot use this perfectly working hardware to create and publish apps in the App Store anymore.
You know, if Apple sales were a real money-maker for me, I could see the investment in a new computer being a no-brainer cost of doing business. But they aren’t.
In fact, between paying $700 for the Mac, $400 for the iPhone SE to act as a test device (which of course is also now vintage), plus $170 for a used iPhone 7 to act as a second test device when I couldn’t reproduce an issue on the SE that was being reported to me from a customer, plus $100+/year for the Apple Developer program since 2019, I’ve spent a lot of money to ensure my games can be available on the App Store as it is.
In return, I can say that I’ve only earned back a total of a little over $100.
To be clear, that amount is the total since my first sale on the App Store in 2020.
I have not earned back my investment the same way I have with the one-time Google Play $25 developer program fee.
Now, you can say that I should be doing more promotion, that I should make the game more attractive, and it is my fault and such, and you’re probably right.
But it still makes me wonder why I should spend hundreds more for a new computer just because Apple insists that I need to use one.
Which is why I signed up for Mac in Cloud’s services. If I can successfully build and publish my games through THEIR modern Mac, I can pay significantly less than the price of a new Mac that Apple will call vintage within a few short years, and the only thing I need to worry about is testing on a real device.
The real challenge is that my iOS development up until now has been fairly manual.
I have a CMake file that allows me to generate an Xcode project. For some time I had pieces that I still had to update in Xcode such as adding images to the resources folder and setting up code signing, but eventually I updated my CMake files and other configuration to set those automatically, too. The only thing left that I did in Xcode was building and archiving the project, then uploading to the App Store to publish it.
But I’ve never liked feeling like I need to use Xcode. Almost all information and help out there assumes you are building through the IDE for some reason.
While I don’t find it to be a very fun IDE to use, the main concern is that I like scripting and automation better. Having a script you run to build your games can be a more consistent experience, and I don’t need to worry about forgetting how to do something when the scripted command is in version control.
So my work this past week has been trying to figure out how to automate the building of my project with xcode-build. I’m doing this work on my Mac Mini, because again, it is otherwise perfectly working hardware, but also because I don’t need to use up my Mac in Cloud hours.
Once I get it figured out on my own Mac, then I’ll switch to using the Mac in Cloud service, where I expect I’ll run into minor Apple-specific configuration requirements that I’ll only discover when Apple rejects my app for not having them or when Xcode 15 turns some optional configuration into a requirement.
Wish me luck. I hope it won’t take me long, and if Mac in Cloud works, the price is much more affordable, but I am wondering if next year’s $100/year Apple developer program fee will be worth it, and we’ll see how my efforts to sell my game in the coming year work out to change the equation.
Thanks for reading!
—
Want to learn when I release The Dungeon Under My House, or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and download the full color Player’s Guides to my existing and future games for free!