Category: administrivia

UserWay: Accessibility powerup

Today I discovered UserWay in use on a website I was browsing. I was impressed at the user-configurable accessibility options. I looked into it a bit and found that it’s available as a WordPress plugin, and so I have installed the free version of it. It took less than ten minutes to set up, and most of that time was just reading. I think it’s a great addition to the site. I love that it’s that easy to add accessibility options to any website.

The Accessibility menu is a new feature of this site.

To use it, click on the Accessibility button at bottom left. If you do use it, I’d like to hear from you. Let me know how it works for you, good or bad.

The UserWay menu gives you a bunch of options for customizing your experience with the website to make it easier to use for your specific needs.

Site update

I’ve done a little re-design to the menu for the site. My goal was to make older content more visible to visitors, and to make my projects more visible. I’m not done with this yet, but the first two menus (Game Development Tutorials, Projects) now have sub-entries.  Some of the entries under Projects all leave the site to go directly to where the project page is found on the GameMaker Marketplace, or elsewhere.  This seems to work ok in a desktop browser, however, on mobile or narrow screens the sub-menu entries don’t seem to be visible.  I will have to see what I can do about that. Please report if you have a problem navigating the site.

performance issues

Update: We’re back up.

If you can read this post, congratulations, it means the site is up.

I’ve been noticing a slowdown with page load times over the past few days, which have been getting worse over time. I am attempting to troubleshoot and resolve with my hosting support. My hosting service has confirmed that they are dealing with an issue, and expect to have it resolved in the next day or so.

Until then, the site may be very slow to respond, or even unavailable at times, and you may get timeout errors or other errors. Hopefully we’ll be back up and running fast again soon.

Code snippets and syntax highlighting

I’ve been looking for a decent WordPress plugin to handle syntax highlighting for my code so that it will format neatly. I’ve tried a bunch of them so far, and am still not completely satisfied.


  1. Has to correctly highlight GML syntax.
  2. Should support automatic line numbering
  3. Should work in both <pre> (for correctly-indented code blocks) and <code> (for inline textual elements in the middle of a paragraph that should be formatted as code.
  4. Nice if it treats <code> as an inline tag (this is definable via CSS, but it seems that WordPress’s TinyMCE visual editor will convert the entire paragraph into a <code> element, rather than just the content that is actually selected, making it annoying when you want to include some inline text in the middle of a paragraph and have it formatted as <code>.
  5. The font used for inline <code> tags should be typographically not-ugly when nested inside normal text.

After trying out a number of plugins, I’m currently using WP-Syntax, which seems to be the best out of the plugins I’ve tried so far. Overall this is a very good code formatting/syntax highlighting plugin, but for some reason the every-other-line background coloring doesn’t line up cleanly with each line of code, and it works using <pre> tags only, not <code> tags. WP-Syntax works with a couple other plugins as well, which integrates with the TinyMCE visual editor, and enables me to make a formatted code object downloadable.

I’m still looking for ways to improve the presentation of code, so if you’re reading this and have suggestions, please drop me a comment.

Driven to distraction

Top techy things I’m doing that aren’t game-dev (aside from my day job):

  1. Trying to root my Android device. Mission accomplished.
  2. In order to recover a draft from the local storage on my my WordPress for Android app that got eaten for some reason. Mission accomplished.
  3. Trying to get Chrome to allow me to download root-enabling exploits for my Android device so that I can get root. Mission accomplished.
  4. Temporarily disabling security features on Windows to allow the root-enabling exploits to unpack from their .zip archive and run. Mission accomplished.
  5. Seriously, Google, everyone knows you can root your device, and there are a multitude of legit reasons to do so, it’s open source, open source is supposed to mean freedom, so stop with the forcing people to hack their way into root already. It’s MY device, I paid for it, I’m it’s owner. I shouldn’t need to pwn it to own it. There should be a supported configuration “enable root” that should be all I need to do. It’s totally unacceptable from a freedom standpoint not to have this as a supported feature. By not providing it, you are making yourself an adversary to your customers.
  6. Figure out why when I try to log in to administer this site in Chrome browser on Windows, I get redirected back to the login form, but Firefox and IE don’t have a problem authenticating me. I mean, I have a pretty good idea why, but I just don’t understand why the setting I changed affects Chrome this way, but not IE or FF. Managed to get this one working, at least.

Seriously, I really need a staff of assistants who can do things for me so I can focus on game dev. Doing everything for myself is so inefficient. I wish it were feasible to have underlings. If not a servant class, then at least AI capable of understanding and doing what I want done without me having to spell out every last detail of how. re-homed, now served over https

The site is now running from, and I’ve tested old links from when the site was homed to /rants, and they should redirect automatically to their new location.

As well, the site is now being served exclusively over https. This is an important step toward eventual ecommerce. At present, there are still parts of pages that are not being served over https (ie, images, etc.) and I’ll be taking care of those in the near future so that the entire site is served securely.

Host migration

If you are reading this, it means that DNS transfer has completed successfully, and is now running on its new host. The main benefit to this will be greater uptime. The old host was having a lot of problems in recent months, and the new host should be more stable.

If you should happen to notice any problems with the site, please contact me or leave a comment below, and I’ll look into it.

A few quick updates

Did not complete Ludum Dare 28

I even liked the theme this time: You Only Get One. I came up with an idea pretty quickly: a platformer in which you are given the choice of several power-ups, but you only get to have one. Once you made your choice, you have to get through the level using that ability.

Alas, I did not get very far and did not complete the game. I started out trying to build a platforming engine from scratch, ran into bugs, and a few hours later concluded that without declaring a pre-existing base code for a working, tested platform engine, I just wasn’t going to have any hope of completing a game in 48 hrs.

really needed to do this in order to free me up to do things like come up with the various power up items, and devise level designs that would be solvable with each of them, just in some different, uniquely challenging way. That’s a rather tall order, really — level design in platformers takes a lot of talent and testing.

Once I realized that I wasn’t going to be able to finish that project idea, I could have scrapped it and started something else, but I opted not to — mainly because I was very frustrated by that point by a couple of technical problems.

This culminates a year of mostly failed projects for me: I was sick the weekend of Global Game Jam 2013 and didn’t partake, then the wheels fell off my computer just in time for our local Cleveland Game Developers Summer Jam event, when a dying hard drive put me out of commission for the weekend as I struggled (mightily, and successfully) to move my OS to a SSD. I blew off LD26 because I hated the theme “Minimalism”, and then skipped LD27 entirely because I hated the theme “10 Seconds”.

Of course on the plus side, I helped put out a book on GameMaker, and am currently working on another, but in terms of releasing finished products, this has been a bust year. Nothing to do about it but pick myself up and get back into it, though.

Site has been down a lot lately, hasn’t it?

Since I went and registered this domain name in 2010, I’ve been hosting on a server that a friend of mine generously provided me some space on for free. At first I had no idea what I was going to do with my domain, at all — I just wanted a web server of my own to play with in my spare time, and learn from. I dabbled briefly with trying to build a native HTML website before realizing how not-fun that really is, and switched to using WordPress, and have been blogging with it ever since.

This year, the server started having issues with downtime. I’ve been in contact with the server administrator, who at various points has explained that the outages have been caused by all sorts of things: database server disk storage full, upgrades, DDoS attacks, aging hardware, you name it. It seems the problems have gotten worse over time rather than better, and so a few weeks ago I began shopping around for a new hosting service. I’ve got one now, and am in the process of migrating the site over to the new server. I’m hopeful that I’ll be through doing that sometime this week, and then I can cut over the DNS registration to point to the new server, and all will be well again. This weekend there was another bad outage, and the site was down for about 24 hours. Dealing with that had me distracted, anxious, and frustrated, and not at all in the right frame of mind to be focused on my LD48 project.

Despite the ease of setting up WordPress initially, I’ve found it fairly difficult to migrate the site over to the new host, mainly due to differences between the hosts, but also due to my relative lack of experience in doing this sort of thing. So I’d like to say I’m learning a lot from this, but really at the moment I’m just learning that it sucks to do something when you don’t really know how, and the documentation and tools that you have available to you are not all pertinent to what you want to do, and it’s up to you to figure it out. I’m muddling through, and perhaps by the time I’m done I’ll understand how stuff works a lot more than I did before I started, but I haven’t seen that payoff just yet. I haven’t yet resorted to the tech support at the new host, but I plan to this week when I can get to it. Getting the current host to be up at the same time when I have a large block of time to throw at migrating seems to be an issue, and I don’t want to waste my time talking to tech support when the old host is down and something that I may need to pull off of there isn’t accessible.

So that sucks.

YoYoGames Support rocks

On top of that, I also had a bit of frustration with GameMaker Studio this weekend while I was still trying to work on my LD48 project.

Somehow or other, the auto-suggest feature in the GML code editor went glitch on me, drawing a super-tall suggestions box that drew off the top of the screen, and wouldn’t allow me to scroll up to see any of the suggestions.

Tl;dr: it turns out that the autosuggest box is resizable by dragging the edge with the mouse, making this quite easy to fix. However, I did not know that at the time, as there’s no UI widget that hints at this functionality, and I expected that it was like a regular “Tool Tip” widget in Windows, which are not normally resizable. I tried exiting/relaunching, and even removing/reinstalling GM:S to no avail, before resorting to tweeting my SOS. I also submitted a bug report with YYG.

Within an hour or so of my SOS tweet, xot of had offered me some suggestions which fixed my problem. I really appreciated him taking the time to do it. I don’t know who xot is in real life — if he’s connected in any way to YYG, a former employee, or just a long time GameMaker developer, but I’ve gotten a lot of use out of over the last couple years, and so I donated $25 to him for providing such a valuable resource to the community, and since then he’s been quite friendly and generous with his time — he also contributed quite a bit to the draw_text_rtf() script that I posted about earlier this year. So, three cheers for xot, wherever you are — you’re a great guy.

This morning, I woke up to find an email from YYG Support in my inbox:

Hi there,

Reading through the twitter feed you linked it looks like you managed to solve the issue.
Is this correct?


YoYo Games Customer Support Technician

Since the bug report tool doesn’t let you upload files, I had pasted the url of the twit pic, and Peter had apparently followed up, reading the conversation, and, seeing that I’d apparently sorted things out on my own, checked in with me to make sure I was doing OK. Awesome!

I wrote back to him:

I don’t know what caused it to happen in the first place, though, so you still may want to investigate that end of it, in order to prevent a recurrence of the issue. It seems to me that while it makes sense for the height of the auto-complete suggestion box to size itself dynamically, it ought to have some “sanity checks” to make sure it’s not sizing itself larger than the display resolution, and more specifically to size itself to no larger than needed to display the suggestions.

To which, he replied:

I’ll let our coding team know about this issue so they can add some checks to prevent this sort of thing happening again.

I’m extremely pleased with this exchange.

A year or so ago, back when YYG’s Mantis bugtracker was still open to anyone to submit bugs, it often took a long time for anyone to respond to a bug report, and often that response was unsatisfying — you felt like you’d annoyed someone with a concern or question that they felt was stupid, or that you were guilty of misusing the bug reporting system to ask for help merely using the tool rather than reporting a genuine bug, bug reports would often be closed prematurely, before allowing you to engage their developers who were working on it to communicate about the issue, and if the issue did merit a fix, it could be months before someone got around to it, because there’s a zillion bugs and they have to be properly prioritized, planned, and implemented.

By contrast, this experience left me feeling that they cared about my problem, not just the bug report, that they were interested in taking care of it the right way, and that it was their pleasure to do so. Submitting issues is also simplified compared to what it used to be in the Mantis system, which is also appreciated.

I really, really can’t say enough good things about how it feels to be using GameMaker these days.