Checking In (Patreon)
Content
Hey guys! It's been a while since I've posted anything so I just wanted to make sure I keep you guys up to date, even though I don't have a ton of stuff to share. I had some issues with engine level stuff in Hex, basically a certain core feature I was using is not supported by Safari, which I didn't know. Safari is quickly becoming the new Internet Explorer, and I did briefly consider just not supporting that browser at all, but I ultimately decided to just sit down and fix it. It would have been harder and harder to fix the longer I waited, so it was best to do this now.
Because I spent the last few days mostly doing this, I only made lateral progress on the game, so I don't really have anything neat to share with you guys, but the good news is that I believe the game will now work on Safari.
If you're technically-minded, the issue was related to regex. Safari doesn't support look-behinds, even though these have been part of the web standards for at least five years, maybe a decade at this point. The game engine uses a lot of regex in a lot of places and I had no idea this limitation existed. I do use Babel to transpile my code for maximum browser support, but I don't believe this affects regex, so I had to rewrite a lot of the game's regex patterns. It's not quite that simple though, I also had to use additional capture groups in place of look-behinds which means I also had to rewrite various functions that handled these patterns. Then I had to thoroughly test all this stuff, obviously, since regex is, at least for me, extremely bug-prone.
This sort of compatibility issue is fairly common when working with browsers, but tools like Babel typically can do a lot of the work for you, and even when they can't, it's often possible to polyfill missing features, and there's tons of free code libraries for this stuff if you can't figure it out yourself. Regex problems are just one of those things that can't be easily resolved without code rewrites, though.
So that's what I've been doing. Nothing too exciting, but important work to keep the game compatible with the largest number of users possible. Note that Succubus Stories works with a ton of even pretty old browsers. Like it should work on IE9, for example. Hex will not, I'm focusing on making sure it works on Chrome and its reskins (current Opera browsers and Edge), Firefox, and Safari. I would have dropped Safari but iOS users only have access to Safari. The versions of Chrome and Firefox et al. on your iPhone are actually more or less skins for Safari, so not having Safari support would have made the game truly unplayable for some segment of people.