I quit Pitbull before it became Epic UK.

Posted by | Posted in Uncategorized | Posted on 19-11-2014

It seems I never mentioned that I had quit Pitbull Studio before it got bought out by Epic Games to become Epic Games UK.

So yeah that’s a thing that I did :)

Why?” you might reasonably ask as it doesn’t seem like a particularly great decision on the surface.

There are a few reasons with the main ones being:

  • When we were going through the process I was getting the feeling they didn’t want to have people remote working regularly – which I did 100% of the time.
  • I didn’t want to be working on tools anymore and that’s all that I was doing – tools to me are a means to an end, it’s the END that I’m interested on.
  • Another chance came up at about the right time that was working on games, remotely, for more pay, with people I knew and liked.

So you see that it kind of makes sense towards the end there.

Pitbull was good to me, the guys who work there are great, dealing with Epic was mostly great and UE4 is very interesting and some of the best tech’ I’ve ever worked on. It was just time to leave and get back to doing the things that I wanted to do before I got dragged into Tools development by the drag anchor of my mortgage commitments.


OpenGL 3.2 in Pioneer

Posted by | Posted in Game Development, Pioneer | Posted on 19-11-2014

I just merged in my changes to update Pioneer to use OpenGL 3.2 on Windows/Linux/OSX and since I haven’t posted about anything in a while now seemed like a good time to describe those changes, and why I’ve made them.

Pioneer has been using OpenGL 2 for many years now, it even supported the fixedfunctionpipeline until not long ago and it’s rendering system has stopped Pioneer from being ported to run on mobile class devices which typically use OpenGL ES. It used methods that have become deprecated including the matrix stacks, built-in lighting and texture coordinate structures and had several performance sapping calls to glGet* functions.

Over time I have removed all of the glGet* function calls, which improved performance and consistency but put off the really big rewrite to refactor everything to use our own matrix stacks, lighting and texturing for a long time. Eventually the lure of modern Vertex Array Objects tempted me and I bit, sadly this broke the OSX version of the game and I didn’t even notice for a few weeks.

This was the straw that broke the camels back. I knew that OpenGL 3.2 would work on OSX/Linux and Windows for most people from experiments/rewrites I had done, but struggling along with all of the old crud and extensions was taking up a lot of time and making it almost impossible to progress.

Perhaps a better coder could have found the magic combination of incantations required to make everything work across of them and retain the OpenGL 2.x setup we had but I am only human so that Sisyphean task could go and kiss my ass.

There will be no talk of the “future” in this post since I’ve learnt my lesson that discussing it just means it gets sidetracked and won’t happen within anything like the timeframe I thought it would. Of course these changes means that there will be bugs, there will be performance issues and opportunities, there will be features that people will magically want adding in zero time ;) and so on and so forth. We’ll just have to deal with them as they occur.

NB: I have removed the links to the older 2.x compatible executables as they were removed from the download page at some point.