Symbology Version 2

Published Saturday, April 30, 2022 by Bryan

My jaw is on the floor today as I learn that I have never mentioned on this blog a project that I have spent significant time on. I only learned this because I've just released a major update after a couple of years of inactivity. I was going to reference the original announcement in this one, but it doesn't exist!

Symbology (https://symbology.app/)

The unmentioned project is a puzzle game called Symbology. This latest release adds a completely new batch of levels, a new and improved random level generator, better hints, restyled pieces ... and support for many more platforms: Android, iOS, Mac, Windows, Linux - basically anything with a modern web browser. You can play it now, for free at https://symbology.app/.

This development is thanks to two things: getting kicked out of the App Store, and browsers becoming awesome.

When I chose technologies for the first version of Symbology, the one I never mentioned on this blog, in 2015, the Swift programming language was new and interesting. Since Symbology's primary gamer (my wife) was going to play mostly on iPhone and iPad, Swift was a fun choice. Add in SpriteKit, and development was a pretty nice experience. When I arrived at a fun, playable game, I listed it in the App Store.

After a few years of semi-irregular improvements, the game finally reached a point that could be called "complete". Symbology was playable, with no obvious bugs, and all of my ideas for improvements required more time than I was able to commit. It stayed in the App Store, getting a few downloads every couple months, for a couple more years.

But you're not allowed to linger on the App Store. After two years of skipping out on the requirement to post screenshots at the resolution of the latest iPhone, an email informed me I had 30 days to post an update. As getting good screenshots of active gameplay takes me a bit of time, and I was in the middle of gift-building season, I let the window expire, and Symbology was removed from Apple's App Store.

I was going to just let it go. It had had a good run. The app still worked on any phone that already had it installed. Yes, even the latest iPhones running the latest iOS, without App Store screenshots to prove it.

Then a relative gave me an old Android phone they were no longer using. When I first told everyone I was releasing Symbology, the most common request I got was for an Android version. I tried, several times, to make it happen. But every time, including after I received this hand-me-down, I recoiled from the awful tools and tutorials I found. I spent a little while telling myself that the few projects that talked about bringing Swift to Android might eventually make the work easier. Alas, none ever got to that point.

But receiving this Samsung Galaxy J7V happened right around the time that Wordle was the talk of the town. In working on my own Wordle-related app, I learned that browser technology had made some leaps forward since I last used it professionally. I'll say more about what I mean specifically in future posts, but in summary: if you can ignore support for older browsers (Internet Explorer, especially), you now have great support for animation, audio, storage, background computation, and native-like installation, without anything more than Javascript, CSS, and HTML/SVG. The browser really is an impressive app platform these days.

With a few weeks of learning the new tech, and completely rewriting the game from scratch to use it, Symbology v2 is now live, for everyone to play, without any App Store interaction required. Gamers get to decide whether they'd rather just play it in the browser, or add it to their home screen, to get an icon right next to all of their other app icons (not to mention being able to play full-screen).

And I get to deliver a game to multiple platforms from a single codebase. I also get to decide when I want to push updates, without fretting the review board. I can freely decide the game is enjoyable as-is, and doesn't need a refresh for a bit, without the threat of it being delisted for inactivity. (Though this development has brought many new ideas for future development, so inactivity might not be an issue for a bit.)

If you're looking for a chill casual puzzle game, please give Symbology a try. If you like it, please share it with your friends. Whether you like it or not, I'd love to hear what you think of it. And stay tuned for some posts about the tech making it work!

Categories: Development