Some health issues.

Posted by | Posted in Life | Posted on 08-10-2016

I wasn’t going to bother posting about these but they’re dragging on for so long that it’s … well it’s just time like I feel I need to talk about them I guess.

The minor health issue is that I had a lump on my head, for a year now. It’s nothing serious just a cyst, lots of people get them, sometimes they go away but at other times they need removing or become infected.

I went to the doctors after putting up with it for about 3 months and he said to come back in 3 more months. That was October last year so when I got it removed on Friday (7/10/2016) it has been there for almost 15 months. It has annoyed me every single fucking day of that time, and night. It’d probably still be there right now but thankfully I started seeing another Doctor (about health issue number 2 below) and she actually did something about it, including the minor surgery to remove it. In the end it’s made a mess because it had not only burst and gotten infected but had done so repeatedly over those 15 months and thus had made a mess of the area.

The second issue is a little more serious but we’re hoping that it proves to be relatively minor and easy to treat, maybe even temporary! (optimism!).

I started feeling faint and having to stop some of my exercise / training sessions back in June (yes this is ongoing, yay for the NHS) so after doing the obvious stuff like taking a break and making sure I was getting enough vitamins etc I went back to exercising and … had exactly the same problem. Since then I’ve only had a few things done: Blood tests, ECG, worn a heart monitor for 7 days, but this has taken absolutely fucking forever.

  • General health check, drink, diet, glands etc health interview 10 minutes – 1 week wait for appointment.
  • Blood tests – 10 minutes – 2 week wait for appointment then 2 weeks for results (the results showed nothing amiss so they didn’t bother to phone me, idiots).
  • ECG – 10 minutes – done same day, instant results! (done at the Doctors surgery).
  • Heart Monitor – 6 weeks waiting list, 10 minute appointment (2 hours waiting), 7 days monitoring, up to 4 weeks for results.

I’m still waiting for the results of the heart monitor and probably will be until NOVEMBER! No rush anyone it’s only my HEART. There’s not even any guarantee that the heart monitor will show anything and that’s beacuse it wasn’t really “monitoring” anything.

You see the device you wear has a two sticky tabs that connect the wires to you, you must apply them correctly yourself twice a day which is pretty easy but also stupidly simple to get wrong. These sticky pads come in two forms, really itchy and “AARRRGH GET IT OFF ME!!!“, they don’t give you many of the “really itchy” kind because they cost more…

Next up is the issue that it only actually records something when you press a button it, and you only have 10 slots in the devices memory to record things, the button is very badly placed making it easy to press it by accident when for example:

  • You need to move it because it’s clipped to your belt stupidly and you can’t sit down wearing it
  • You need to move it back onto your belt because the wires are short and you can’t stand up when it’s clipped too a pocket
  • It’s fallen off your belt because the clamp is weak
  • You’ve gone to the loo and need to drop your trousers so have to either unplug it or hold somehow whilst you “go”
  • You roll over on it in your sleep and try to move it
  • a thousand and other situations that make you despair of actually having any slots left to record anything

Also this requires you to realise that you should be recording something, the device does no recording or monitoring of it’s own, just a 30 second long window of memory so that when you do press the button it *might* have caught the thing that just passed by that you wanted it to record. In total it records 1 minutes worth of data in each slot because after pressing it records that previous 30 seconds + the next 30 seconds.

Of course if you’re me you only get these problems when doing things like exercising, which I’ve been told not to do… so guess what I did?

  • The day after I got it I deliberately ran up and down the 6 flights of stairs in our building until I nearly collapsed: and pressed the button.
  • The next day we went for a long tiring walk around the nature reserve: another press although not sure that was worth it.
  • Then the first accidental press round at a friends… great.
  • Finally on the Monday I went to see my personal trainer where I used to do group sessions and exercise and we did an hour of very tough training with the result: I had to press that button 3 damned times! I count that as a positive though since that was the point.

There might have been other times that I should have pressed the button, but I’m the patient, I don’t know what my heart *should* be doing, it’s always been in here thumping away and apparently that’s not always been right so how do we know that I’m getting the correct data?

Hopefully by November (NOVEMBER FFS!) we should have an answer to whats wrong and then maybe I can get treatment and start to be more active again, I can stop feeling so tired and worn out as often.

I don’t want anyone to worry, we’re pretty sure that it’ll be some minor form of Tachycardia which will be treatable either with a short course of something, or pills forever.


Here finally is that point of this post though, this whole process has been a fucking joke to go through and I know for a fact that it costs peoples lives. I’ve never been worried that it would claim mine but it HAS weighed in mind just because it’s taken so long.

We’ve all seen videos / images of people wired up to ECG machines, with a mask on, running on a treadmill whilst a Doctor makes notes, yes? Well that would have been more effective than the little device I wore to monitor my heart, I know because I sat next to one such setup whilst getting that fucking device and chatting to the nurse. Apparently they don’t use those much anymore because it requires a doctor to be present.

Let me rewind briefly, to June when this started. Thankfully I started by seeing a different Doctor than usual, my usual Doctor (who I will never see again) would just have sent me away with a “come back in 3 months” which he has done for everything I have ever seen him for.

Anyway I’d been having these issues for several weeks by that appointment and it started with the health checkup/interview, then bloodtests and the resting ECG. Since then progress has been pretty glacial and in nearly 2 months I’ve only submitted the heart monitor device for analysis, by the time I get results it will be 3 months and then? Well then lets assume it shows nothing amiss … so I’ll need the next set of tests like a cardio echogram which i dread to imagine what the waiting list is like for that, after that it might be ..? I dunno an X-ray or CT scan or something?

The point is that each of these will have another waiting list, with another appointment with another wait for the results. So how many people die between “Ow my chest, I feel faint” and the diagnosis? Nevermind treatment just diagnosis.

I know someone who died on the waiting list for the very heart monitoring device that I’ve just given back and it freaks me out because I am the same age now as he was then. For what has actually been just 7 days and 30 minutes of tests I’ve had to wait 5 months and will still be waiting for another for the results meaning 6 months from that first doctors visit which was already a couple of weeks after the first problems.

Lets say that instead of the heart monitor I’d had the exercise ECG which takes about 15 minutes. The total time would be 45 minutes of tests, throw in the cardio echogram and call it 1 hour 45 minutes… why isn’t this a single appointment? You’d still have to wait 6 weeks for it but that’d be the whole thing done and dusted. Lets say instead that you need to narrow it down rather than throwing all the possible tests at people, because I’ve been simplifying and there’s a few of them. Split this into two and do the easy stuff first like blood test & resting ECG at the doctors surgery. If that shows the problem then great you’ve got out of the testing loop early, simple optimisation isn’t it :)

If you haven’t gotten a diagnosis though then you’d move onto stage 2, and a battery of non-invasive/non-surgical tests at the hospital done in a single appointment. Spend 6 weeks waiting and 2 hours being prodded and poked. That’d probably deal with 90% of patient straight away, many filtered out at stage 1 with the simple stuff like viral infections, stress, hormone issues etc. Stage 2 would get most everyone else. The remaining few though could be sent onto the specific test(s) that would help them guided by the data they just got.


Then there’s the piece of shite heart monitor that I just had.

I’m fucking appalled by it’s existence, there are devices which actively monitor your heart, and remember it’s just a waveform so you can analyse it easily probably in realtime to detect any issues that might be occuring.

It stores so little data, it costs so much for what is some sram, a tiny cpu, ADC and a op-amp to boost the signal totaling perhaps £10 in parts, it’s usability is somewhere between insulting and a joke, the software that they use is archaic and does absolutely no analysis of it’s own, NONE. At work we were discussing more advanced beat detection in open source audio programs! It’s shocking, even the disposable pads for the electrodes cost £30 to £50 per pack! The result is a costly piece of shit device which probably won’t capture the data needed and has resulted in them no longer using the Exercise ECG machines very much.


So I’m ranting because I’m pissed off by the lethargic, half-arsed process of it all. The waste, the stupidity, the time it’s taken, the rip-off costs for the piece-of-shit equipment that the NHS is using and nowhere that I look can I find an answer to the question: How many people die whilst waiting for a heart condition diagnosis?

We know that it’s non-zero, it’s at least one.

I’ll be fine, this will get diagnosed and it’ll be something simple that can be treated or it’ll be complex… but can be treated. The process to get that far though, is shite, and I bet there’s plenty in the NHS who know that but are powerless to change it.

OpenGL 2.1 vs 3.x

Posted by | Posted in Game Development, Pioneer | Posted on 14-09-2016

Back in the heady days of… erm, the past, when I wrote the OpenGL 3.2 post I didn’t think I’d ever be adding support for OpenGL 2.1 back in, or revisiting the mess that is multiple OpenGL version support.

Skip to right now though and I’ve got a PR in adding in support for OpenGL 3.x + 2.1 which is getting reviewed piecemeal and I’m playing whack-a-mole with the various issues that arise from it.

OpenGL 2.1 seemed like a logical place to start for this. Not because I want to see it back but because I wanted an existing code base that has previously worked to update rather than write a new one from scratch. It was also important to determine how much of pain the mixing of OpenGL version would be. The answer to that last part turns out to be very painful, at least using glLoadGen.

What I wanted was to have everything namespace’d and separated so that the GL2.1 renderer only had access to OpenGL 2.1 functions and extensions, likewise for GL3.x but this proved to be much more complex than I like.

The final goal is to have support for other renderers but right now I’m trying to wrack my brains for the dregs of energy needed to switch away from glLoadGen to… well that’s the problem.

  • GLEW still has the same problem that caused me to switch away from it and the maintainer seems determined not to merge anyones repeated attempts to fix it.
  • GLee appears 100% dead in the water.
  • libEpoxy – I’m starting to evaluate this now but it looks like yet another slightly overly complex library and there’s no discussion of multi-version GL support.
  • glBinding – looks bureaucratic.

There’s limited time in the evenings to do this in and a tonne of other projects in Pioneer to be digging through. It is so disheartening that it’s all in this fucking mess and that’s before I go into a rant about how poorly manufacturers support older graphics chipsets by backporting feature and support. nVidia outshine the rest here massively but even they can’t push technical fixes back onto some of the older chips.

Back to the coal face

Pioneer Clouds

Posted by | Posted in environment, Game Development, Pioneer | Posted on 03-06-2016

Some time ago I tried slapping a texture of the Earths clouds onto a sphere around Pioneers planets. It didn’t look awful but it was a static texture meant for just the Earth itself and having a selection of high-resolution textures to pick from would look very repetitive uncomfortably quickly.

As usual in a thread like that I immediately got asked why it wasn’t better, why aren’t I doing like X,Y or Z, etc but the idea is still bubbling away in my head. The thread itself was really just to gather resources and ideas rather than to track anything.

Now I have a small gallery of test images based on some noise based shaders which update over time but look rubbish.

See, from the ground:

From the ground

From orbit:

From Orbit

To get better looking clouds, ones that look like they’re generated by the planets surface and properties, you need to analyse that planets geography and the energy inputs/sinks.

There are a couple of interesting pages like the Stainless and Dungeon League sites who really dig into and iterate through ideas to produce some very interesting results.

Heat & Friction

Heat & Friction

2D normalised wind direction

2D normalised wind direction

I fairly sure that I can combine them already to get some interesting results but I hope that more than using them raw like this I can do some more processing to generate evaporation, rainfall (precipitation), rain-shadow style maps that will look even more compelling.

Right now I am basing the number of “bands” of weather on the Earth’s global atmospheric circulation which will not hold true for other worlds, so having some way of determining the number of “cells” to divide a planets circulation into will be necessary. Take Jupiter as an example, it has numerous “cells” which all have different gases being mixed into them giving it that distinctive layered look. Depending on the planets size, rotational velocity, atmospheric density, viscosity, heat absorbtion, angle of inclination to the nearest star(s), etc there could be anything from 1 to 100’s of cells dividing up the atmophere.

That would be something amazing to see, different on each and every world with corresponding weather systems and biomes.

That still won’t be the end however as all of this so far is excruciatingly slow to generate, requiring as it does a decent level of heightmap detail.

Generating those heightmaps is the most expensive single process in Pioneer, which is why the development of the multi-threaded processing made such a big difference.

Some simplifications, optimisation and cleverness will be required before this can ever make it into the game proper.

PS: IN parting I should also add that working on this came about because I needed to generate from of this data for the new JSON driven terrain generation system and because of the XFrontier forum thread which just looked too damned good to pass up.


Posted by | Posted in Life | Posted on 13-12-2015

There are times when I hate my own brain.

This isn’t a depression post by the way, that’s a different way to hate your brain ;)

No this is when I hate my brain because there’s 3 or 5 or 10 different things competing for my conscious attention and it does nothing to filter or quiet them all down.

I start on one task to try and clear the load a little but cannot concentrate due to the competing volume of other things. This I know is the ADHD I’ve always suffered from, the inability to just hold onto one thought for long because the interruptions aren’t from outside, they aren’t pressures, there’s just this constant deluge of things you feel need your attention right now, like RIGHT NOW ANDY!

This is why I actually have 3 different Git repo’s for Pioneer, plus the branches for them all and keep them all sync’d. I know that sounds crazy but it means that I can have multiple instances of VS2015 open and the moment that one thing starts screaming the loudest I can just alt-tab and satisfy that disturbance for a few minutes.

As any coder can tell you though task switching is itself a productivity killer. So I’m less productive overall, yes, but more productive than if I just waded on through trying to ignore the screaming insistence and feeling of urgency.

Sometimes though, it’s just too much, the demands just come constantly and there’s no single loudest impulse for more than a few seconds.

Even concentrating on writing this it’s difficult to maintain the focus.

So i’m going to have a shower, that sometimes quietens it for a bit, maybe make some lunch.

Unspeakably rude.

Posted by | Posted in Game Development, Life | Posted on 11-08-2015

The Incident:

The other night (Friday, 7th Aug) I was in the RoundHouse pub with some friends when I spotted a group of former work colleagues sat at another table.

I exchanged the usual pleasantries with one I know a bit better & thought nothing more of it.

At the end of the evening as they left someone I didn’t know came over and said “Hi I’m ####, you’re Andrew Copland?“, and I said – whilst reaching to shake hands – “Yes that’s me“. He shook my hand and said “I fix all your bugs“.

He let go of my hand and left laughing leaving me in silence with my hand still in the air, stunned.

A friend that I was sat beside asked me if he really had just said that and I, slightly dazed, simply confirmed he had.

This has been bugging me more than it should so I want to get why off my chest.

The Past:

When I started at this former workplace I was broke. It was after another company I worked for had gotten into financial difficulty and not been able to pay, simultaneously several big studios in the UK had gone under and made about 800 developers (in total) redundant in the UK.
There was a massive glut of talent and finding work got really hard, really fast at the worst possible time. I was unemployed from early July to late October that year.

Eventually I went to this place out of desperation, I’d heard bad things about them, so even though they were based very conveniently I’d instead chosen to go up and down the length of the country before applying to them. Partly this was also because it wasn’t a games role but a Tools one and my first time doing more than just tinkering or bug fixes on development tools.

It started fairly badly with some office politics treating the outgoing developer I would replace unfairly. Thankfully the Tools team themselves were great and the guy who was leaving (that I knew already) made that whole time work despite the bullshit.

Sadly about 6 months into this I started to suffer from depression and a little anxiety. It took me a while to realise this of course, anyone with these things will know that they don’t come with an easily identifiable rash or something to give themselves away, they come on slowly and discreetly.

The pressure was on at work due to company finance problems, project deadlines, a new tool that needed creating – which should have been a simple affair and conceptually I had no problem with. However by now my mental health was affecting my work. This was when I realised what was wrong and went to my doctors.

To cut all that short, I got help.

The Fix:

I got some very mild anti-anxiety tablets to stop me having panic attacks and elected not to treat the depression medically but to get counselling (CBT to be precise) instead and to keep medication an option for later if that wasn’t helping.

I also started to look for another job as it was clear that the way the company worked, and the work itself, didn’t suit me at all.

Getting the anxiety under control really helped my work but during the time leading up to this I had written some of the worst code of my entire life. Even with things being better I was still under a lot of time pressure to fix existing bugs / features and to write the new tool so this code also suffered quite badly. I have no doubt that I left some absolute stinkers in that codebase.

Since I started as a technical QA (bug fixer) I’ve been on the receiving end of code like that too. In fact the code I was replacing was already pretty hideous and bug ridden but only because it too was written whilst it was being used in production with all those same time constraints.

What I have never done is approach someone else and mock them for their bad code.

I’m Normal.. No, Really:

Perhaps it’s because I am an average coder, I strive for excellence, I achieve average but I don’t see a reason to beat myself up for that as I always strive for excellence regardless. The attitude that you should only code if you’re some kind of code-magician is only held by the most deplorable of shit heads. Sadly I’ve worked with a few, being openly mocked in a company wide email by the lead programmer of another studio, as junior coder, for asking for help comes to mind. I shrugged it off as my own lead was far more supportive and the better man, it was his opinion (to paraphrase: “Don’t mind him, he’s a dick”) that mattered more. I’ve remained friends with many of the people I’ve worked with, and have been rewarded in my work by always being recommended and thought of highly, sometimes even for my skill and not just my dedication.

Over time I’ve learnt that I’m not alone, other people have gone through periods like me, outside influences in their lives that have affected their proficiency at work. It seems obvious when you say it aloud, but if you’ve been dumped by your girlfriend, divorced by your partner or separated from your children, maybe you suffer from depression or anxiety for any reason, then yes your work will suffer because you are suffering. You shouldn’t be mocked for that, not then and not unfairly in the future when some 20-ish-year-old University graduate has to see those bugs you wrote at one of the lowest and most difficult times of life you’ve yet faced.

My subsequent job was also in Tools, I found out that at least that hadn’t been the problem. Just some combination of the company / tasks / projects / environment had combined badly with what was going on in my personal life at the time to affect so horribly. The next job went well and I enjoyed it until the company was being bought out and I saw an opportunity to get back into developing games themselves. Tools development just isn’t for me, Tools are part of the process of making a game, and it’s the game I wanted to be making.

These days I do contract work, we re-launched an older PC title on Steam with some bug fixes and improvements including replacing the old networking with Steam’s system and I wrote a lot of improvements and additions for it. Now I’m still working with that company and with my friends because everyone has been pleased with my work, for the most part I am too. There are disappointments, I am after all just average and I make mistake or do stupid things, but I’m also successful far more than I fail.

The, let’s be generous and assume nothing malicious, “witty-put-down” I experienced the other night out with friend has been slowly gnawing at my mind now not because I’m without fault but because of that time, because of those difficulties I faced and how much everything hurt…

…well, that and it was a just a really shit thing of them to say ;)



NB: Yes you can probably look at my LinkedIn page and figure out where this all happened but I’ve deliberately omitted that stuff so keep it out of the comments please.


Posted by | Posted in Game Development, Pioneer | Posted on 08-02-2015

These are some screenshots of a test asteroid created via procedural methods for Pioneer Space Sim.

Work, DLC & DRM

Posted by | Posted in Game Development, Life | Posted on 22-01-2015

So, back from Xmas I get my PC working again at long last, several parts later but what the hell eh?

This means back to work too and immediately I am reminded of just how clueless this industry can be. Take our DLC releases, or rather the DLC we’re releasing for other companies for our game. Confused yet? Not as confused as I was since this wasn’t supposed to be on the cards for quite some time yet. However due to the games success it’s been pushed forwards from “many weeks” after launch to… well we’re about to release the 3rd DLC pack on Tuesday! How’s that for a change in timetable.

Maybe it wasn’t a change and the client are simply goddamn awful at communicating with us what is going to be happening, or indeed when it will happen. Having dealt with this now for a few weeks, and through my exhaustion, I can confirm there’s nothing malicious just sheer ineptitude.

The reason I am exhausted is because I’ve been implementing the initial DRM system we’ll be using for future DLC. Yes even whilst we’re releasing DLC that I have to double-check for problems I am writing the DRM for that same system. This is a DRM setup that I explained could take upto 3 months to write, but they wanted it in a hurry so I stripped it down and said “How about 3 weeks?” to which the reply was “Great! We’ll start testing it in 1.5 weeks then!” … that’s not how it works, 3 weeks means it will start working in 3 weeks. No I am of course now committed to doing what was initially a 3 MONTH task in 1.5 weeks because some people can’t read who sadly are also the ones who pay the bills :(

Then there’s the DLC, I’ve had them turn up without you being able to see outside of the plane, then to get a “fixed” version, where the plane was completely invisible. Or when asking for the raw original why is it that we nearly always get the installer? Meaning we must install the thing, get past it’s DRM / license then extract the changed files then build the DLC from them and hope we didn’t miss anything? That’s assuming that anything works. We’ve fixed issues in each and every DLC we’ve received, issues that were in them when they were sold as standalone products for the last 8 years! Simple text file and naming issues that take seconds to fix.

All the while I’m trying to create this whole new DRM system and my mind is staggering under it all.

Thankfully Rocco has finished most /all of his bugs and has taken the DLC checking off my hands, Steve does the initial unpacking/packing and testing, then Roc’ does a sanity pass on it in the Debug build to see what asserts, which given that they’re mostly conversions from an even older version of the game means that lots of things assert.

The lack of professionalism is confusing, nevermind staggering, and tiring to deal with. Files arriving at the very last possible second when testing them properly is impossible because it’s so late in the day, or last minute changes the morning before launch abound. It’s risky and it’s unnecessary.

Mostly I am enjoying this work but as ever the parts that suck are the parts where your deadlines are driven by those who don’t have a clue and don’t seem to have the nous to acquire one.

Back to work.

What to do when your PC goes Kablooey on you.

Posted by | Posted in Game Development, Life | Posted on 06-01-2015

Obviously your first response should always be to panic.

By “Panic” I don’t mean furiously try and solve your problem. I mean that you should take a long time to just sit there, scream, cry, wail, gnash your teeth at the wall of horror that is the demise of years of effort and a couple of thousands of pounds of hardware. Really wallow in that despair because lets face it: You’re fucked.

Just before Christmas I was faced with this and I made the classic mistake: I didn’t panic. No what I did was carefully diagnose the issue, then the reality crept up on me. The costs to fix it began to mount, the work and personal data I had that could be irreparably lost followed by that absolute sadness that is the demise of your personal PC.

Maybe I should explain that last item. I built my PC. I didn’t make the chips and circuit boards that are in it I just picked them, carefully and after lots of choice. I weighed up all of the costs, the implications for the future, the path that choosing a particular chipset would set me upon. Those decisions were heavy and the impacts are still being felt now.

When everything was chosen, bought and delivered I sacrificed my old machine. It was another custom built one but I couldn’t afford to buy all-new and had to re-use certain components. This is fairly typical for the budget tight PC builder but it does have one terrifying downside: fuck-up and you have no PC at all, and no money left to get one. Things went well though and I built my new PC. it was awesome compared to the old. Over the years there have been numerous upgrades, memory, GPU(s), harddrives and even the CPU. An attempt at water cooling using a closed loop cooler is best forgotten but hey, I tried!

It’s been through 3 operating systems too and a couple of monitors, and multi-monitor setups, I’m probably missing out a lot of things. I think I had SLI GPUs for a while, I forget, there’s been a lot of things. Things I have done, with that machine, we have spent time together. More time than anyone spends on a car, more personal than any static musical instrument, more involved and consuming than anything I can think of beside having children. I don’t have children.

I’ve earn’t money with that machine, it has been my personal PC, my work PC, my hobby PC, my gaming PC, my learning PC, my development PC.

Right now it’s switched off. Inert, inoperative, lifeless and waiting for me to make it function again. People that I discuss this with tend to think I’m a bit special, then harp on about there own hobby, the one they spend the odd evening once a week/month doing, and how it makes much more sense to feel involved with that despite spending a tiny fraction of the time and energy on it. Yes it is “only a  PC” in much the same way someone might say to a musician that something is “only a guitar” – I wouldn’t, I have at least half a fucking clue.

The last time it turned out that it had fried the GPU, an expensive component by itself but thankfully under warranty.

By the way customer service were great, I phoned, told them the problem, they immediately sent me the return information and issued an RMA. They sent me a replacement card the same day that they received the broken one. I couldn’t have asked for better. They gave me the option of a refund too but I chose the replacement. Cheers anyway if you ever read this.

This time it’s looking like it might actually me even more serious, and more like the problem I initially believed it to be before Christmas. I think the motherboard might be toast. Not completely toasted yet, but getting a bit crunchy and too dry to call bread anymore at this point… I may have to abandon that analogy. The motherboard being the most central component of the whole machine means replacing other parts like the CPU and RAM too. At this point there are only a few other parts I’d want to bring across. That shiny-shiny GPU, the harddrives (2x SSD, 1x HDD) and erm… that’s it actually. Even the case is old and newer ones have some much better layouts and… I’m justifying aren’t it? I can hear the imaginary pound coins being sucked out of my bank account “full” of imaginary money.

When it initially went kablooey before Xmas, once I’d stopped not-panicking, I priced up a replacement machine. Then I went looking for how much a loan would cost me.

Time to dig out those figures and get a PC built then? Something a lot less Personal, less PC more Computer. Something with … a warranty.


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.