Game Design, Programming and running a one-man games business…

What happens when a storm hits a solar farm

My solar farm got hit by a big storm. The storm was pretty bad, lots of property damage across the UK. For the whole of my life, I have never worried about such things as long as my house is ok and no trees fall on us. What else would I have to worry about? Its not like I have had a huge number of very expensive to install sheets of silicon and glass standing on a hilltop is it? Wait…

One text message you don’t really want to get is one from the landowner your solar farm is on telling you that panels have been ripped off their frames by high winds. This is scary news, especially before you see pictures. At that point, you worry how many have been destroyed? 100? 500? And how much will it cost to fix? and how much other damage is done.

As it happens, it was not too bad. The total damage is about £8k. Annoyingly thats the cost to actually fix and replace things, not the actual material cost of new panels, because we happen to have 30 spare ones on site anyway. This seems super expensive to me, but I have not personally visited the site to look at the damage. Its not just that ‘some’ panels are destroyed, others would have been scratched by flying debris, and also actual metal supporting beams were twisted and broken by the force of the winds. Yup, it was super windy. It looks like among the other costs we need…

  • 25x M12 fixing sets (wholesale about £10 each, so about £250)
  • 50x M8 fixing sets (not sure, about £2 each? so about £100)

Which means a lot of it is going to be labour, and no doubt travel expenses. Its a REAL PAIN that the site is so far away. Also of course all of this is through 3rd parties. I pay a construction company who pay contractors. Those 2 extra profit margins add up. If I was younger and more ambitious I’d hire a bunch of people and build my own solar farms with my own employees, which would be much more efficient…

The storm was bad enough that the power was down in that area anyway. The farm got shut off, and for reasons that are not clear, was switched off for a long period before people got up there and switched everything back on. At one point, the farm was briefly reconnected but not transmitting data, so in the chaos that ensued it was not clear if even switching it back on worked. This was very very stressful for me. I would have liked to go a year before I had any major bills for anything relating to this project, but there you go… As a result, the power output chart looks like this:

Thats quite a gap. The site did actually come back on and generated on the 19th as I can see from the pure meter stats instead of the inverter reported stats:

But even so, we had just under 2 weeks of downtime with zero generation. By absolute luck, this was in December, the lowest point in the year for generation. If this had been mid summer it would have a been a catastrophe.

There are other solar farms that were massively damaged and half destroyed by the same storm, so I actually think we got off lightly. Also it seems like the damage was to a specific strip of the farm on the very crest of the hill, so its likely that this is just ‘the weakest point’. We are looking at strengthening some bits on those areas given that we now have real world data that this is the part of the farm most at risk.

Mounting systems for solar panels are rated for certain windspeeds, but although ‘the windspeed’ on a certain day might only be 60mph, there may be specific small pockets where it will hit much higher. The only real defense against this sort of thing is going to be accepting some occasional storm damage and factoring it into the budget :(.

Of course the real kicker in all this is that the climate emergency is meaning extreme weather events like this will get worse and worse and worse unless we take drastic action. I have made a 25 year investment, and who knows how bad the peak storms will be in 2050 unless we actually do something. Of course this is not just a renewable energy problem. Roads, railway lines, power lines, and all infrastructure gets very vulnerable once rain, wind and temperature levels move outside the normal boundaries. The UK almost lost its marbles when we had some 40 degree days a few years back, but sadly thats likely to become the norm.

It really is about time people started giving a damn, but recent ‘drill baby drill’ rhetoric from the USA suggests that we are rapidly heading in the wrong direction. This is insane :(.

On the positive side, £8k damage on a £1.5m installation is not the end of the world. Its a pain, but hopefully a one-off. We shall see. I am looking forward to the power output of the site creeping up in the coming months. I am also close to getting certification for REGOs, which will boost the income a bit. You would not believe the detailed forms and paperwork required just to prove I own a solar farm.

Update hell. How did we get here?

I have a web server that runs my website, this blog, the back-end stuff for some of my games (which report bugs or browse mods etc). I also, sadly, have a ‘smart’ TV, a samsung galaxy phone, a kindle and a laptop and desktop PC. As a result, I am in a state of perpetual update hell.

Long ago when I worked in IT, we were very obsessive about updating everyone’s PCs. The danger of having a virus run rampant on a corporate network was always a concern, and when I worked on city trading stuff, obviously security was the first priority. We were super paranoid about everything being updated and patched. We were the IT gods of security, who would update everyone’s PC to the latest patch for everything before they even knew they were needed. Updates were essential and good. Otherwise all hell would break loose.

These days my attitude has become: Fuck you, updates. I’ll update only if I have no choice.

How on earth have we fallen so far? I think, speaking for myself, its because software has just generally become so staggeringly badly made. To pick on just one example, I’ll describe the hellscape of bug ridden crap that is Battlefield 2042. This is a game I try to play every day, and sometimes it even works. On a good day, I can launch the game, and it will show me a splash screen trying to sell me shit which I can ‘dismiss’, except the coders are too inept to record that I skipped it, so I see it every day. Every time I launch the game this wastes my time and makes me hate the developers.

So then I can select a game and start playing. HAHAHA. Don’t be so naieve. This is not 2001, I don’t get to choose which map to play, or what server to play on. That functionality was ripped out of the DICE engine so it could matchmake for me, to make my user experience 100x worse. Routinely that means joining a game with 30 seconds to the end, and maybe 75% of the time, it kicks either me or my squadmate back to the menu anyway, so I have to start again. Obviously I have zero idea what map we will be playing, because the developer has thought ‘fuck the player, who cares. They will play what we tell them’.

Actually I’m kidding, its way, way worse that this. Because when the game ends, I then have to watch a load of tiktok inspired US bro-culture dance-move/posturing bullshit before being dumped right back at the main menu. Back in the days of Battlefield 1942 or Call of Duty, I could just stay on the same server and keep playing, but not any more. Why? because fuck the player, thats why.

Speaking of which, in call of duty 2, you could play modded maps, in their thousands, and they would auto-download as you connected to the server. The mod tools were free of course. There was no attempt to sell you stupid fucking hats. A server browser, mod support, flawless multiplayer code, and no anti-consumer F2P pay-to-win game-ruining immersion breaking bullshit. That was the peak era for gaming, unlike now. As a gamer, I am just cannon fodder for F2P whales, or someone to be exploited, marketed at and used. Why? because fuck the player. Nobody at the top of EA even plays games anyway, they might as well be selling fucking washing machines.

So…thats just trying to use an existing bit of software. Imagine the joy of being FORCED to download a 6GB ‘patch’ to play that same game, with zero notice, and finding out that this 6GB is a new weapon ‘skin’ and some ‘balance changes’. Who the hell is in charge of the patch process? How the hell can any software be this badly made? I will never buy any game made by DICE or published by EA ever again. Fuck them.

But forgetting games, and returning to PCs and Smart TVs and phones…it gets even worse. I must have updated the Disney app for my TV 20 times in the last year. Why? What new functionality has been added? Anything? I cannot see any difference whatsoever, but we are expected to constantly run updates. With skype its even worse. Skype’s software is so appalling now that it cannot even patch itself. Every time I reboot my PC skype reinstalls itself. And those skype updates have done nothing but make it worse, and slower. Every single ‘upgrade’ is a downgrade.

I will continue to use Windows 10 on my main PC until a bunch of software police smash through my front door with guns. Windows 11 is another 50GB of bloated crap that manages to make all of the UI WORSE but now you get very slightly rounded window corners. Amazing. Truly the work of 1,000 software engineers for a year. Meanwhile it cannot even synch video to sound on video playback on any website, and the ‘upgrade’ to windows 11 permanently halves the volume of all speakers, with no way to ever fix it. The windows 11 upgrade is just a way to wreck your PC. In 2025, Windows cannot play video, or control volume. Things Windows 3.11 could do just fine. Its embarrassing.

Do I worry about malware? yes, and I have a paid anti-malware suite running on both PCs. But over the last ten years the worst malware I have experienced is Windows update. The second worse is probably my samsung phone. Updates take about 20 minutes, never add ANYTHING I want, but randomly change the icons of every installed app, just to aggravate me. Its a phone. The calculator app does not need an update. Ever.

Right now, I have a laptop that works (apart from video and sound, which is unusable) and a desktop that works. I do not want ANY updates from microsoft on anything, ever again. I simply do not trust the people working there to be able to write code. Ditto samsung. Just leave me the fuck alone. If it was possible to globally opt out of all updates on my TV I would do so. These are not new games getting cool feature improvements and new content. They are apps that work. My expectations of software in 2025 are now so low, that simply having programs that vaguely work is the gold standard, and I will not risk any new code written by people who clearly have zero clue what they are doing.

Home battery storage expansion, not quit resilient…

Just over two years ago, I took the plunge and added a lithium-ion storage battery to my home. It went in the cellar. Its been doing its job faithfully ever since, and has been pretty cool. I reckon 85% of our energy usage has been either free or off-peak electricity since we got it installed. Here is a pic:

The original blog post is all the way back here. Anyway, today we had someone come to the house to talk about doubling it, and having not 9.5kwh of storage, but 19kwh, by sticking another one right next to it. Cunningly I had forward-planned this, by asking them to make that big wooden backboard big enough for two batteries during the initial install.

At the time, I was not sure what the right size of battery would be. We nearly got a Tesla powerwall, but they were hard to get hold of. They had a 13kwh capacity at the time, so we ended up with slightly less at 9.5kw. It also has a separate inverter (some modern batteries have the inverter in the same box now) and the inverter is limited to just 3kw input/output. So that means if at any point we draw more than 3kw by cooking/heating/whatever, then we pull power from the grid EVEN IF the battery has tons of charge in it. Now with our solar panels, its a bit different because if they are producing at their peak (about 4kw), we can in theory use 7kw of power and still not touch the grid, but that involves being very organised :D.

I mention the 3kw limit because that is not changing. We could in theory get another inverter but thats a lot more hassle. With a second identical battery its just attached to the wall and then connected with a phat cable and thats it. So we will then have 19kwh of storage, that we can use 3kw per hour. This is not ideal, but we are doing it anyway. Why?

We are likely going to get a heat pump soon, probably this year. Heat pumps are very environmentally friendly, but they do increase the amount of electricity you use. In our case it will mean getting rid of an expensive and emissions-heavy oil boiler and oil tank, so its definitely a win, but our actual electricity usage will rise a fair bit. Right now, we have everything balanced perfectly. In a dark cold winter, we get almost nothing from solar (0.67kwh today), and we use about 11kw. So we can buy 10kw overnight at cheap rates, and combined with some solar, we can still just about get through the day without using peak electricity.

The heat pump will change this. We will have a higher average daily electricity consumption, so in order to have the same fully off-peak strategy, we need more storage, and its cheap enough (£3,900 supply+fit) that we may as well double it. I think we don’t NEED double, but I’d rather have 2 identical batteries for compatibility reasons and would rather be too big than too small. We should get the battery fitted soon, way before we get the heat pump. If you wonder about charging the EV… thats done entirely during off-peak times, so its never a problem.

In an ideal world, we would also have re-wired the entire house to survive a power-cut and run off the battery. In practice this is REALLY hard to do. Its not the kwh that is the problem, but the kw and the amps. Houses can draw up to 100amps in the UK, and no, no home battery is going to provide that. What SOME home battery installs do is wire ‘some circuits’ so they work in a power-cut. So basically you can have all the sockets in one room, or all the lighting. Thats likely low amps and low power. However it does involve running extra cables and a new fusebox in the cellar, and when we looked at what fuses were behind what sockets… it all turned into a bit of a nightmare. So we went for a bit of a bodge…

We are going to (pending the quote) have 2 sockets fitted next to the battery in the cellar on a separate battery circuit. In a power-cut, they will still work. So we can charge up a laptop or phone quite happily down there, although its a cold 1650s brick cellar with a well in it, more suited to a lord-of-the-rings re-enactment than leisure time, so no, we won’t be living down there. On the plus side, thats still better than having NO power in a power cut. We had power out for 6 hours a few months ago, so its a thing here. I also think that given climate change and extreme weather, this will be more likely. All our power cables here are overground on poles, so vulnerable…

It might sound ‘not very resilient’ but we have two log-burning stoves here, so not short of heat, and actually we can always charge phones in the car anyway (even watch netflix and disney and apple tv in the car), so we are not totally bereft :D.

BTW if you follow me on X and saw THAT POST about the solar farm, I have not forgotten to blog about it…I just need more information…

So is 2025 another game dev year for me?

I am currently in a sort of limbo, which will explain why my blog posts have been less frequent. When I was working around the clock all day every day on Production Line and spending the weekend doing blog videos, there was a ton to talk about. The same was true of Democracy 4. But the last few years have been a bit of a strange period for me because my life has changed quite a bit, and I haven’t really blogged about it, so here we are.

Firstly, I have been making games and selling them online since 1997. Its sounds ridiculous to me that I might be about to retire, and yet the truth is that I sort of already have. Kind of. Not really. I had a number of other jobs prior to games, including mad ones such as window-cleaning, boat-building, guitar-teaching and IT support. When I finally made it into game full time I worked at two triple A studios, and THEN I finally went full time indie and made the games most people know me for.

So I’ve been around a while. For the record, I’m 55. Young to retire, but not young for gamedev. Not many people in videos about game development have grey hair (and not much of that any more…).

Somewhere along the line, as I was building up my portfolio of games, two things happened. Firstly, I had enough hit games that I had kind of made retirement money, and secondly I invested that money, and spent a fair bit of time managing the investments. To give some context, I used to work in IT for city trading floors, and did a degree in economics, so markets come quite easily to me, and I am fascinated by the stock market.

To cut a long story short, I did quite nicely from that, and managed to save up the money to build a solar farm. There are many posts by me about it, and I now own two companies: A games one and an energy one. On top of this, the investments fluctuate so much that it means that the ‘average’ year now, I am about as dependent on the stock market for income as I am games. Weirdly, games has gone from a teenage hobby to a full-time job back to a hobby again. This is strange.

Plus I have finally come to the conclusion that what I really need is a stress-free and happy life. There are studies that show that any income over £70k a year no longer increases your happiness. I can state that this is absolute bollocks, and the number is higher, but its not THAT much higher. My current goal is definitely happiness above all else. So given that early retirement is an option, what would you do?

Well it turns out that this question is MUCH harder for me than most people. I just read a book on hypomania, and although I’m not hypomanic… I am a bit. probably more than I care to admit. The idea of me sitting in the garden with a cup of coffee and a book each afternoon seems ludicrous to me. I just can’t do it, or at least I can’t do it every day.

So I ended up making a little game to keep myself busy. I even released it on steam for a laugh. Its a vertical shooter, the exact kind of game that never sells on steam, so nobody makes any more. It took a few months. Here is the trailer:

I think its kind of fun, and I enjoyed making it. Obviously I had a lot to do to build a solar farm, but it wasn’t even 10 hours a week, let alone 40. Now the farm is up and running its likely under 2 hours a week. So what to do? At one point I actually completely re-designed my entire website from scratch, which took a few weeks, but no more (and I am SO glad I did it). Also during this time I started making a new game…

…and I seem to have taken it a bit too seriously. I’ve written code that takes up 1,607,029 bytes of text. I guess the average line is maybe 40 bytes? So 40,000 lines of new code? I now have a complete strategy game that is playable, although not balanced, and likely a bit buggy, and has some missing content. I reused some assets from an old game for some bits, and I will change all those, and also I’ll need new music, although I might even buy stock music licenses for that. You may have noticed that I have not announced this game, let alone shown a screenshot or trailer, although I have a ton of screenshots and it sometimes looks pretty awesome in trailers. I’ve been working on it for about a year now, and do work on it most days. Its not a hobby any more.

I would LOVE to just announce it and paste some screenshots here, but I am teaching myself to be careful, and patient, and only do that when it is ludicrous not to. There is a lot of attention, and stress, and instant feedback you get when you announce a game, and TBH I am not really up to handling any of that right now. I guess most people would say they are exhausted or overwhelmed, and I probably am, but simply do not recognize that.

So anyway, this is the very start of 2025, and in theory this should be an easy year for me. The solar farm is almost 100% done and should just tick along and make me content and happy. I do not have any pressure to release a game this year, and I can chill out. Obviously I won’t chill out, so the nearest thing for me is to just work on the thing I am secretly very proud of, but not expose it to the world for judgement until I am 100% calm and content.

A lot of words to type to say ‘I’m working on a thing’ but I have spare time to type them :D.

An experienced coder’s approach to fixing business mistakes

I was the victim of an email today that was basically an invoice that was wrong. A company that has sent me a wrong invoice in the past has sent me it again another 3 times now, with increasing levels of angry demands and warnings about credit ratings. This raised my heart rate and anger level to extremely high distressing levels, but this is not a rant about how some companies are just awful, that would be too simple. This is more of an investigation into why stuff like that happens, and how software engineering can help you learn how to not fuck up like that.

I have been coding for 44 years now, since age 11. In all that time I’ve only coded in BASIC, C, C++ and some PHP, but 90% of it has been C++, so that’s the one I’m really good at. I don’t even use all of C++, so lets just say when it comes to the bits I DO use, I’m very experienced. This is why I’m using the term software engineering, and not coding or hacking, which implies a sort of amateurish copy-pasting-from-the-internet style of development. I’ve both worked on large game projects, and coded relatively large projects entirely from scratch, including patching, re-factoring and a lot of debugging. I coded my own neural networks from scratch before they were really a popular thing. Anyway…

Take the simple example of my experience today. An invoice is wrong, and sent to a customer anyway. This has happened three times now, despite the customer replying in detail, with sources and annotations and other people copied in, AND including replies from other people at the offending company who openly admit its wrong and will be fixed. Clearly this is a smorgasbord of incompetence, and irritating. But why do companies do this? what actually goes wrong? I think I know the answer: Once a problem like this is finally flagged up (which often involves threats from someone like me to visit the CEOs home address at 3AM to shout at them), the company ‘fixes’ the mistake, maybe apologizes, and everyone gets on with their life…

This is the mistake.

Companies want to ‘fix’ the mistake in the quickest, easiest and cheapest way possible. If an invoice was accidentally doubled, then they ‘go into the system’ (they just mean database) and they halve it. Problem solved, customer happy. Now I don’t give a damn about the sorry state of this company’s awful internal processes, but I am aware of the fact that companies like this try to fix things in this way, rather than the true software engineering way. So how SHOULD it be done?

Before I was a full time computer programmer I worked in IT. I had a bunch of jobs, gradually going up in seniority. I saw everything from ‘patch it and who cares’ mentality (consumer PC sales) to ‘The absolute core problem must be fixed, verified, documented and reported on with regards to how it could have happened’ (Stock trading floor software). I can imagine that most managers think the first approach is faster, cheaper, better, and the second is only needed for financial systems or healthcare or weapons systems, but this is just flat out wrong.

When a mistake happens, fixing it forever, at a fundamental level, will save way, way more time in the lifetime of the company than patching over a bug.

Spending a lot of time in IT support taught me that there are many more stages to actually finding the cause of a problem than you might think. Here is a breakdown of how I ended up thinking about this stuff:

Stage 1: Work out what has actually happened. This is where almost everyone gets it wrong. For example, in my case I got an email for a £1k bill. This was not correct. Thats the error. Thats ALL WE KNOW RIGHT NOW. You might want to leap immediately to ‘the customer was charged too much’ or ‘the customers invoice was doubled’ but we do not know. Right now we only know the contents of the email are wrong. Is that a problem with the email generation code? Does the email match the amount in the credit control database? Until you check, you are just guessing. You might spend hours trying to fix a database calculation error you cannot find until finally realizing the email writing code is borked…

Stage 2: Draw a box around the problem. This was so helpful in IT. Even when you know what you know, you need to be able to define the scope of the problem. Again, right now all we know is the customer ‘cliff’ got a wrong invoice. Is that the problem? Or is it that every invoice we send out is wrong? or was it only invoices on a certain date? or for a certain product? Until we check a bunch of other emails we do not even know the scope of the problem. If its systemic, then fixing it for cliff is pointless.

Stage 3: Where did things go wrong. You need to find the last moment when everything worked. Was the correct amount applied to the product in the database? was the correct quantity selected when entering the customer’s order? was the amount correct right up until the invoice was triggered? Unless you know WHERE something went wrong, you cannot work out WHAT or WHY.

Stage 4: Developer a theory that fits all available data. You find a line of code that seems to explain the incorrect data. This needs to not only explain why it screwed things up for cliff, but also explain why the invoice for dave was actually ok.

Stage 5: Test a fix: You can now fix the problem. Hurrah. Change the code or the process and run it again. Is everything ok? If so you may be preparing a victory lap but this is laughably premature.

Stage 6: Reset back to the failed state: Now undo your fix and run it again. Seems redundant doesn’t it? Experience has taught me this is vital. If you REALLY have the fix, then undoing your fix should restore the problem. Maybe 1 in a 100 times it will not. The ‘random’ problem just fixed itself for some indeterminate period. Your fix was a red herring. A REAL fix is like a switch. Turn it on and its fixed, turn it off and its broken. Verify this.

Stage 7: Post Mortem: This is where you work out HOW this could ever have happened. This is actually by far the most important stage of the whole process. If you just fix some bad code, then you have just fixed one instance in one program. The coder who made that mistake will make it again, and again and again. The REAL fix is to make it IMPOSSIBLE to ever have that error again. This takes time, and analysis. The solution may be better training, or it may mean changing an API to make it impossible to process bad data. It might mean firing someone incompetent. It might mean adding a QA layer. Whatever the mistake was, if you do not go through this stage, you failed at the task of fixing the problem.

Coders and organizations that work like this have fewer bugs, fewer mistakes. They need smaller QA teams, and less time devoted to fixing mistakes and implementing patches. Their complaints department is tiny, and yet still provides great communication, because there are hardly any complaints. In short, companies that run like this are awesome, popular, profitable, and great places to work. Why is everywhere not like this? Because it requires some things:

  1. A culture of giving people fixing problems free reign to follow the problem everywhere. If only the department that sends the emails is allowed to get involved in complaints about email, database errors or coding errors will never get fixed because they CAN never be fixed. The phrase ‘not my department’ needs to be banned.
  2. A culture of accepting that someone is STILL working on a proper fix, even after the complaint has been handled and the customer is happy. When there is a bug, there are TWO problems to fix: the customers bad experience AND the company process failure that allowed this. Managers who pull people away from bug-fix post-mortems to fix the next thing right now are a curse.

Of course your mileage may vary. Be aware I am a hypomanic workaholic who works for himself so my ‘advice’ may not be applicable to everybody, but I hope this was interesting and thought provoking anyway. Too many coders are just copy-pasting from stack overflow or asking chatgpt to quickly patch their bad code. Working out how to fix things properly is a worthwhile pursuit.