SpriteRecolour, an open source sprite recolouring tool

TL;DR: SpriteRecolour project page Download binaries (Mac, Win x86/x64, Linux x86/x64) SpriteRecolour example project in Unity Background While doing 2D gamedev work this week, it came to the front of my mind how nice it would be able to easily have multiple colour variations of sprites, without having to have multiple copies of the sprites themselves. There are various ways to do this, but the one I wanted to explore was a classic palette swap technique; the sort of thing we would have used in the 16-bit days.

Read more →

Choose your own environment

development mac windows

I alluded in a previous post to the fact that I’ve chosen Mac for all my development activities. I’m aware that in game development (outside iOS games), this is perhaps not the most common choice. Apropos, I saw a tweet thread last week, not gamedev related, where a heated debate broke out about what platform/editor/language ‘real’ developers use. I’ve lost track of the number of times I’ve seen threads like this, where opinionated developers try to tell others what choices they should be making.

Read more →

Engine choices

development gamedev

In my recent post A new journey I announced that I was moving into game development. Some people immediately followed up with questions about what engine I was intending to use, because developers 😉 Plot Twist! So let’s get this out of the way early: I won’t be using Ogre 😱 Hold your incredulity for a moment. 😀 The reason is not because Ogre isn’t great; since I retired, the team has been doing some amazing work.

Read more →

A new journey

I’ve thought about having a proper go at making games of my own for quite a while. There’s always been some reason why I’ve never quite gotten around to doing it seriously; all good reasons but when you line them up in serial, you suddenly realise a lot of time has passed. I’ve decided it’s time I stopped just thinking about it. As of today, I’m stepping down from most of my other responsibilities to dedicate serious time to making games.

Read more →

Building git from source on El Capitan (OS X 10.11)

Development Git OS X

A quick post today because I didn’t find an easily accessible reference for building Git from source on Mac OS X El Capitan, and I needed to. Maybe there’s another post out there just like this one, but I didn’t find it, so maybe this will be useful in future for those who similarly come up short on Google. After you’ve cloned the source from, open up a terminal. I’m assuming you’ve got Xcode installed, and that you’ve already installed the command line tools - if not, execute this on the command line now:

Read more →

Auto Layout and tab ordering

Because SourceTree has continued to support versions of Mac OS X back to 10.6 (Snow Leopard), we’ve still been using the ‘springs and struts’ approach to user interface layout up to now; we couldn’t adopt the newer Auto Layout without restricting support to 10.7+. So I’ve only just started experimenting with Auto Layout recently, and I ended up getting stuck for a while on something that seemed like it should be really simple, and yet I couldn’t find any hard information about it on Stack Overflow or via Google: how to specify tab ordering.

Read more →

Friends don't let friends use ClickOnce

I’ve had a fair amount of experience with Windows-based installers in the past, including non-Microsoft Installer based systems like NSIS and the open source WiX, but most of the time I’d been working with one-off installers for native code projects, like the Ogre3D SDKs. I pride myself in not pre-judging the best toolset to use for any given problem - which is why I switch languages a lot - so when I came to write SourceTree for Windows, which is based on .

Read more →

Why I'm a software developer

How often do you stop and think about why it is you do what you do for a living? Maybe it’s a mid-life crisis thing, but of late I’m acutely aware of the finite nature of time, and that there are an infinite number of ways I could spend that time. I’m also aware that ‘software developers’ are a quite diverse bunch of people, despite the persistent stereotype of math geeks huddled around technical toys talking in obscure acronyms (OK, we do that too).

Read more →

Follow-up: OS X privilege escalation without using deprecated methods

I posted a few months ago about the problems I’d encountered with performing privileged actions from a Mac OS X app - in my case, installing a command line utility in /usr/local/bin - and that all the examples of this that I’d come across used an approach which was now deprecated. You can find my original post here: Escalating privileges on Mac OS X securely, and without using deprecated methods.

Read more →

Why 'software engineering' is a misnomer

These days I’m a free agent, and I’m lucky enough to be able to choose what projects I work on, but in a past life, I was what I suppose is properly referred to as an ‘enterprise software developer’. Yes, I once functioned in an environment where terms like ‘mission-critical’, ‘project life-cycle’, ‘stakeholders’ and ‘change management’ came up quite a lot. I’m grateful for the experience I gained over 12 years of doing that, but I’m also very glad to be free of it now.

Read more →