Palliative Bug Fixes

A palliative is a treatment that soothes even if it can’t cure the illness.

By all means, whenever you can, fix the problem, go to the root cause, come up with a better design…

But when you can’t (and that’s most of the time, because the straightforward problems have already been solved), the effort you put into providing a palliative will not go unnoticed or unappreciated.

~ Seth Godin

I’ve been catching up on Seth’s blog (I’m woefully behind on pretty much everything at the moment) and this post in particular caught my attention, largely because it reminded me of the reason why I haven’t really been reading/posting/watching anything much lately: Pokémon Go. I’d still like to do a full breakdown of that game, which isn’t this, but Seth’s words really summed up one of the aspects of the game’s development that has impressed me.

Anyone who has had anything to do with Go by now has probably come up against one of their many bugs. When the game first launched there were dozens; the game would freeze when you caught a Pokémon, when you didn’t, when you span the map too quickly, when you randomly encountered the wrong species or item. It crashed routinely, the servers were completely unstable and core features, such as the Pokédex and tracker, straight up didn’t work. The game was a mess and often very frustrating, but many people saw the gem at the core and decided to stick around anyway (yours truly, clearly, included).

Over a month later and many of these issues persist. However, quite a lot of the bugs have been addressed. Sometimes, as with the now infamous “three footsteps” glitch or the more recent issue where some Pokémon randomly changed upon a successful catch, it seemed like each fix broke something else. Despite this the game is now far more robust than at launch and barely ever force quits for me any more. I can tell several of the bugs still exist, but wonderfully were they couldn’t instantly cure the problem they’ve introduced palliative solutions.

Sometimes, the game hangs when loading. When it first launched, you couldn’t do anything when this occurred except either wait it out and hope or force the app to crash and reload. Now, after a certain time has elapsed, a “Sign Out” button automatically appears. Press it and you’re returned to the initial splash screen where you can reattempt to connect. It’s not a fix – the loading screen can still hang – but it presents a much less frustrating solution than the previous alternative. Same goes for one of the earliest bugs where the “rocking Pokéball” animation would just fail to load, locking you into a useless screen and forcing you to (again) force quit the app. This bug still occurs for me from time to time, but now the app deals with it, forcing the next animation to trigger and ignoring that the previous one never did. These are simple, easy “fixes” that don’t solve the (I imagine) rather complex underlying root causes of these issues, but make the game infinitely more enjoyable to play regularly.

I’ve never seen a games developer or software company really take this approach before, but Niantec seem to be making it work for them and personally, I think I’ve learnt something about how to handle problematic code.

Edge of Frustration

For about two years now I’ve become increasingly annoyed at my PC screen. The left-most edge has been “clipped”, missing about 2mm across all programs. I’m not sure when the issue first occurred, I just noticed it one day, so trouble shooting was a complete nightmare. Secretly, I theorised that a Windows Update screwed up some settings and resigned myself to live with it. It was annoying, but not massively problematic.

I hoped upgrading to Windows 10 would fix it, but lo!, the problem persisted. Frustrated, I re-installed graphics drivers, display drivers, nVidia’s programs; basically anything I could think of. I fiddled with resolution, changed all the settings on the monitors own control panel, rotated the screen, downloaded apps… no dice. Once again I gave up, defeated and bored.

Fast forward to two two days ago, when a friend introduced me to the browser based RTS/Risk analogue: Call of War. It’s a fun little game, running a freemium model with an active and friendly community (who are largely against using the “paid for” perks, which is nice) and a level of complexity I really wasn’t expecting*. Unfortunately, some of the menus are pretty thin and almost entirely disappear off the edge of my monitor!

As a result, this afternoon, I re-attempted a brute force attack to fix the display. I refreshed drivers, updated control panels, searched through dozens of Windows menus and eventually, thanks to a comment on this forum thread, I found my solution. Irritatingly, I’ve likely hit upon it before but not noticed, as it requires a specific combination of settings/refreshes. The culprit was not Windows, as it turns out, but nVidia, whose (normally very useful) Control Panel had scaled my screen based on their “Aspect ratio” setting. That, it turns out, was causing the issue. I hadn’t noticed it before because just turning the setting off doesn’t fix the issue, I also had to refresh my monitor directly. With that weird combo learned it took 30 seconds and snap! my screen popped back into it’s rightful place.

I guess there’s some moral here about not giving up, persevering or thinking outside the box, but you know what? I’m not bothered. My screen finally looks “right”, everything’s a little sharper, menus are no longer absent and I can’t help but feel the “call of war” (ahem). So, with technical issues defeated, I guess Central Africa is next on the list. Bring on the weekend!


* On that note, the provided tutorial and guides are fairly woeful, but the in game chat is a pretty good place to go if you have any questions.