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

Solar farm 4th site visit: Substations!

Its been a long time since my last visit to the site, and work stalled for ages due to arguments and analysis regarding earthing. Finally at LONG LAST, that was agreed upon, and we could recommence work. I went up there with a friend yesterday in pretty bad wet weather to see what progress there had been. Hopefully this is the start of the final leg of getting the farm finished and connected. When I was last there, most (85%?) of the panels and frames were installed, and most of the inverters, but that was it. This time there was some more stuff done.

The most obvious progress on that day was that the DNO (distribution network operator) people were actually on site installing their substation which includes a transformer. There will eventually be two substations, one for the DNO and one for the site, which will contain the meter and ‘switchgear’. The substation is kind of built on site, out of 4 wall panels and a roof. Here are some cool pics:

Thats the roof being lowered onto the DNO substation, which contains their transformer and other stuff,

A shot taken from my drone (in high winds!) showing the location of stuff. The hole at the bottom of the image, filled with stones is the base for the site substation, which will be built any day now, with our switchgear, and eventually meter. This is where all the underground AC cables from each inverter will meet.

Another drone shot of some of the panels. It was windy and I wasn’t able to get a nice clear image of all of them. The gaps between them in the middle here are where the overhead high voltage cable goes. Once that cable comes down, those gaps will be filled with more panels so there will be nice long uninterrupted lines. Those dotted white lines are actually deposits of snow that have slid off the panels a few days earlier.

We also have a lot of ditches. There are ditches that have been dug for a new underground high voltage line (we queried why this had to be underground, as it costs us WAY more, but were basically just told we had no choice… grrr.), and there are lots of ditches (a ridiculous amount it seemed to me…) for the earthing for the site. The earthing as been a huge, monumental pain in the ass.

So in a sense, this looks like good news right? Not really. There are two huge problems still standing between me and this ever getting finished. The first one is an eight week delay that is being insisted upon before the power can be BRIEFLY cut off to 4 houses so we can remove the overhead line. This is beyond insane, and there is ZERO (I checked) legislative need for this, but as with anything relating to a DNO, you have zero choice. (private monopolies suck). That 8 week delay has not even started yet, because it is, itself being delayed because of lawyers. Yes. Lawyers. FFS.

But the SECOND big problem and nightmare is importing energy. We need (In theory) energy supplied TO the site in order to power the CCTV at night, and I suspect to also actually run the meter itself. This sounds trivial but ALL of the big six energy companies I talked to were incompetent, clueless buffoons who couldn’t even understand what I was asking for. The few clued-up energy companies who did offer a quote to supply energy are quoting a standing charge of £55 a day. Yes thats pounds, not pence. The actual energy usage will be under £50p a day. Yes, I have checked. Yes, this is absolutely totally and utterly insane. There are other charges added too which mean the bill would be about £28,000 a year to run 4 CCTV cameras.

Now you might ask “how the fuck can the standing charge for a business at location X be over a hundred times more than the standing charge for a house at X?”. You might also ask why the fuck the DNO can not provide the power. You might also ask why the fucking fuck we cannot use the power we generated ON SITE and use a tiny backup battery to ‘buffer’ some of it. These are all valid questions, and its driving me insane. Let me explain a bit…

There are two types of electricity meter. A standard domestic one, and whats called half-hourly meters. These are for big businesses and stuff like my farm. They have a different system of standing charges, which are calculated on something called a line-loss factor (LLF). Basically companies stuff power into a line, and meter whats taken out, and note the difference. Remote locations will have high LLFs, as a significant amount of power is lost in transmission (also theft).

In a remote location, a high LLF will mean a high standing charge. Initially we were quoted £186 PER DAY. Now its down to £55 a day, because we had to remind them it was now LV not HV. No, they had not even made that change in their database. Anyway, this is irrelevant, because the whole idea of a LLF affecting a STANDING charge is nuts. I don’t care if 50% of the power on that line is wasted, thats fine, bill me PER UNIT OF POWER 50% higher, I understand. And also…I don’t care because I’ll be importing a trivial, trivial amount of power… but thats not how the UK energy pricing system works. Its for some boneheaded, stupid, illogical and insane reason being placed as a lump sum on the standing charge.

This is beyond stupid. If the LLF is 50% (stupidly high example), and I place an aluminum smelting plant in the Scottish highlands, then I will laugh at your £50/day charge as I demand 10MWH of power every day and you have to stick 20MWH on the line for me to get it. As a large, wasteful, remote high energy consumer, I laugh all the way to the bank. But a tiny, energy efficient company in exactly the same location will pay between 50 and 100x as much for their energy as they should. Absolutely bonkers, insane crazy nonsense. And nobody in the industry gives a damn, or shows any enthusiasm to change it.

Welcome to reason #349 why your UK energy bills are so high, but you can expect the daily mail to blame it on wind turbines or something…

Anyway… there is progress. Its super slow, and unbelievably frustrating and is driving me mad, but there is small progress. One day when all this is done I will celebrate by drinking so much alcohol and eating so many cakes I pass out.

Gratuitous Space Shooty Game released!!!

And you probably thought I wasn’t still making games right?

After the long and intense development of Democracy 4, which is a HUGE sprawling game with a LOT of code, and a ton of content, and is now in about 10 languages and has 3 expansion packs… it was nice to be able to make something small, and simple, and not at all commercial or serious. With that in mind I started messing around making a space-invaders style vertical shooter, using the art assets I have from an older game of mine: Gratuitous Space Battles.

GSB is pretty old now, but TBH the spaceship graphics for it still look incredibly good to my eyes. I generally think its very wasteful that the games industry hires so many people to make music, SFX and graphics, and then makes a single game with them, never to be re-used in any way. Frankly a spaceship is a spaceship, whether its used in an RTS or a shooter or a turn based grand strategy game.

I know some people worry that gamers will bombard you with abuse for daring to use the same artwork in another game, because they will feel ‘cheated’. This strikes me as utter nonsense. Sensible re-use of assets just makes sense. As a general principle I hate waste, and I love efficiency. Also, not doing something because a tiny, tiny percentage of vocal gamers may complain about it is definitely a losing strategy in gamedev. There are always people who complain about any choice you will make.

After working on this game for a bit, and initially thinking it was a little throwaway thing I’d probably keep to myself, I started to really enjoy its development. I have never made a vertical shooter, but I loved Star Monkey, which is very old, and I am old enough to remember the first space invaders arcade cabinets as a kid, as well as Galaxian (far superior imho) and then Phoenix and the rest. I also spent a lot of time playing Astrosmash on our intellivision console as a kid.

Gratuitous Space Shooty Game is a bit of a mashup of a lot of those shooters, with some extra ideas that occurred during development. My wife playtested it a lot, and HATED the asteroids, so I added a repulsor beam to keep them away from you. Once implemented, it became a very cool new gameplay mechanic, as it allowed you to ‘balance’ attacking ships above you to get some extra shots in before they leave the screen.

During development I experimented with a bunch of ideas, and after a lot of playtesting, I’m happy with what I chose to do. The fact that you can accidentally shoot ship bonuses gives the player an incentive to keep moving and not risk a volley destroying a bonus. Penalizing you for every ship that escapes, INCLUDING the left-right ‘saucer’ ships also adds to the challenge. Making it so that the best power-ups are only dropped by those ships was also a good move from a design POV. Adding friendly ships you have to avoid is an evil mechanic, but its still in there!

In the end I went with 25 levels, and the levels get slightly longer as you go along. I don’t do any adaptive difficulty stuff, although I considered it. I do offer 3 difficulty levels from the start though. The top one is seriously hard. In-between levels you get to spend your cash, earned from shooting aliens and collecting bonuses (and a cool 10% bonus if nobody escapes) on upgrades for your ship.

Right now the game is only on itch, for $3 with a suggestion of $5 if you want to. It will not be a big financial success :D. Because I was doing it for fun, its currently windows only, and fixed aspect ratio of 1920×1080, or scaled to fit fullscreen. Windowed option literally went in the day before release :D. Its English only for now. I may try a google-translate for the limited text at some future point if I do an update to it.

So there you go, its another game by me! the first non-strategy one for a long time. I’m quite proud of it. Its a fun short laptop-friendly game you can play in lunch hour or multiple coffee breaks. If you like the look of it, get a copy!

Tesla model Y performance after 1 year. My review

So tomorrow marks 1 year to the day that I picked up my Tesla model Y. Previously I was driving a 2015 black model S 85D, which was still excellent, still had decent range, and which I resold for about half what I bought it for 7 years earlier. I was pretty happy doing that. I used webuyanycar which isn’t the best way to sell, but I hate dealing with people and wanted a zero-stress quick sale. FWIW I bought the model Y cash, not lease, and I had to wait a YEAR to get it. Damn you crazy foreign people and your driving on the wrong side of the road!

Specs wise, I basically picked the ‘go ahead and take my money’ version, because I chose red, performance, and Full-Self Driving. FSD gets you nothing but traffic light recognition in the UK for now, but I expect to keep the car 5 years and wanted to lock in FSD for £10k as I expect it to offer more soon.

Here are my general impressions after a year of driving. No massive road trips beyond some 5-600 mile round trips to my solar farm, and only driven in the UK. I live in a rural location in England, lots of narrow roads, dirt tracks etc.

The Good Stuff

It feels MUCH better put together than my model S. The S had panel gaps, because it was an early Tesla, and it was to be honest a little rattly. The new one feels chunkier, sturdier, and feels pretty solid and indestructible. This was a Shanghai built one FWIW. The finish is excellent, the panel gaps non existent. It feels very much like one they made after they have already made a million+ identical ones. Very sturdy. Its also much quieter inside. It has stiff, sporty suspension. Both suspension and noise are apparently even better with newer ones.

Its FAST. Like insanely fast. Its really tricky driving a car like this in 20mph zones. Its like riding a chariot. Its overkill, but its fun. I’d probably be more shocked at the speed if I hadn’t already owned the model S.

The software/UI/infotainment is fantastic. None of the bugs and quirks and failures I experienced in my model S before I upgraded the screen. It feels really slick and easy to use.

The charging is insane amazeballs fast. I actively do not want a car that charges faster than this. This is the ideal rate for me to grab a coffee and a pastry before getting back in the car. People who obsess about charge speeds must have excellent bladders and incredibly tight schedules. Seriously, this is definitely fast enough. Its a fixed problem now!

The sound system is superb. Really quite shockingly good, especially for bass. I noticed this immediately on the very first day. I’ve never heard better in-car sound.

The Bad Stuff

No ultrasonic sensors. This is dumb as hell. It uses ‘tesla vision’ parking assist, which is currently rubbish. It may well get better over time, but right now its inferior to my old model S. Working parking sensors are essential for a big car in the tight parking spaces and lanes in the UK. OTOH reversing is trivial, thanks to 3 rear facing camera views on a huge screen.

Its too fast. Its really major overkill. I should have got the much cheaper long range one. Its so fast that even just lightly tapping the accelerator, I often think cars around me at traffic lights have stalled or not noticed the lights change. Its mad. As someone who is not into ‘track days’, I definitely went too far on this choice. If I had to buy a new one, I’d pick long range.

The Rest

A lot of the other thoughts I have on the car are just personal preference stuff. I nearly got a model 3, but wanted the latest model, so went with the Y. (The new model 3 has come out during my first year of ownership). I do like sitting higher up, but the car is an SUV crossover so its still a bit big for me tbh. The luggage space is absolutely huge, and not something I ever really will need. YMMV, esp if you have kids or dogs or take sports equipment places.

Style wise, I adore it. I love the minimalist interior, although some people hate it. I am totally onboard with the high tech, simple design. Other modern cars now feel hilariously fussy and ridiculous to me inside. One not-obvious benefit is the Y interior is trivial to clean. Cars with 627 buttons on the dashboard must be a nightmare.

In general, I give the car 9/10. I would make it a 10 if the park assist stuff worked better. I would also prefer the auto-wipers to be more reliable than they are, but this is a trivial niggle. I cant think of anything else the car needs. TBH I cannot imagine needing another car, unless it has some amazeballs undreamt of feature. Overall I’m massively happy with it.

Would I recommend it to people? Absolutely if you think the price/specs/size is what you want. As a family sized sporty EV it is unbeatable. The tech is amazing, build quality excellent. Its probably overkill unless you love fast cars and have the cash to spare, and a lot of people would probably see their money better spent on a Nissan leaf or MG4. For people with kids/pets who road trip and need luggage space, its perfect, although for 95% of people the performance option is going to be totally unnecessary, and the model 3 is still cheaper, and almost as good, sacrificing just space.

If you are thinking of getting one, pester me on twitter for a referral code that gets you some freebies! @cliffski.

Solar farm update: earthworks!

Its been a while since there has been any progress update on the farm. I could write at length about my frustration on this topic, but to sum up what I think about the general lack of urgency in the world to get stuff like this actually BUILT, I’ll just use one graph:

Anyway…

We are actually back working on physical stuff, rather than just people arguing over email, which is a change of pace. I am still waiting for the REGO application, which everyone in the industry I talk to says ‘is tedious and bureaucratic and torturously slow’. Amazingly, nobody has ever fixed this, and our government actively despises the environment, so it will likely not be fixed until after a general election (ha…not even then I bet). So no, I do not have ANY progress after MONTHS in trying to get a bureaucrat to say ‘yes, those are definitely solar panels’. Amazing.

The last few MONTHS have been basically a lot of back and forth arguing about earthing design. The site itself needs to be earthed, in case of lightning strikes (almost inevitable given 25+ years of 60 tons of solar panels on a hilltop), and the substation building also needs earthing. There are 2 substations, one owned by us, and one by the DNO (distribution network operator). They have totally separate earthing designs, and electrical experts fret a lot about if they could interfere. They also get very concerned about metal perimeter fencing, CCTV camera towers, and anything else metal in the vicinity.

After a LOT of email back and forth, which frankly drove me crazy, we seem to have finally agreed on everything. That means that we can build the base for the substations, which is the only bit of concrete involved on the farm (except maybe a tiny, tiny amount for CCTV tower bases). Because the substation base has to happen before we install switchgear, the substation itself, or move the overhead line which eventually allows the last few panels/frames…. its been holding up the entire project.

Here is a thrilling picture of a digger digging some substation foundations:

Here is an even more exciting picture of a trench being dug that will be needed for cabling to the substation.

There are also trenches needed for CCTV communication and power, and of course the trenches that link up the final cable runs from each of the inverters to the main switchgear stuff. Obviously its cheaper to get all your earthworks done in one go, and also we have the horrible English weather to battle against. Its been bad.

I have tried exceedingly hard to make this whole project run faster by doing things in parallel. I was hoping to get the PPA (power purchase agreement) sorted at the same time as the earthing, at the same time as the legal stuff, at the same time as the REGO stuff. It seems impossible to do this, unless I spent my whole life trying to hard to stay calm on the phone while literally begging people to get things done. Its infuriating to the extreme, especially given the hugely bureaucratic nature of all the involved businesses. Nobody at the DNO, or Ofgem, or any law company gives a damn if this project gets done on time, or at all. The potential for improving the whole process is epic, but it would require a change in culture.

I have high hopes that we may actually get the earthing done, the switchgear done, and the substation done in the next month. It looks like we wont be connected to the grid until next year. Don’t worry. Its not like we have a climate emergency, or sky high energy bills.

Programming in just ONE language should be lauded.

I recently read about the news that garbage collection support, which was added to C++, is now actually being removed from it. Apparently most people didn’t use it, or even knew it was officially added, so it is no great loss. It always shocks me to read articles about C++ with a version number, because as far as I am concerned, C++ has no version number and never will, in the same way that a language such as English has no ‘version number’. I’m 54 and its pretty rare that I add a new word to my English vocabulary, and its even rarer for me to learn something new about C++ that I start to use in my code.

Back in the early days of modern computing. I worked in IT. My CV was basically: CNA, MCSE. That was it. That was all you needed to earn £54k a year 30 years ago in IT. There were basically 2 big computer systems, run by Microsoft and Novell, and your IT dude ideally knew them both. That was a long time ago now, and the amount of buzzwords and brand names the average IT admin has to put on their linkedin profile is probably quite ridiculous. However, I think its worse in the land of software engineering.

Again, go back a while and you were probably pretty employable if you could just mention C and C++. Then Java became a big deal, then a bunch of other stuff appeared. I have no idea whats cool now, but it feels like Python, Rust are much in demand. Then you have to add all of the recent methodologies. Do you know Agile and Scrum? How familiar are you with AWS? Whats your AI/ML skills like? PyTorch? Do you know the buzzword technologies that will get you hired this year? You better get a job quick, because the buzzword technologies will change every 2 years. Did I say 2? I meant ever year. No sorry, month.

I recently found myself thinking about poetry and code. My wife writes poetry, so I am exposed to this stuff. As a writer, she spends a lot of time… a LOT of time deciding what words to use in a sentence. Its a big deal. Sentence-by-sentence writing is an absolute skill that takes most people there entire life to perfect. Its worth noting that few poems are praised because they use the latest hip words. Good writing is not a matter of having a large vocabulary. Needlessly obscure word-choice is rightly seen as pretentious and alienating.

We really need to take some of that perspective and apply it to code

Take this sentence: “It is a truth universally acknowledged, that a single man, in possession of a good fortune must be in want of a wife.”

Thats considered literary genius, and it is. But its not using arcane language. Every word is commonplace. And idiot could have put that sentence together! but it took Jane Austen, and considerable experience, and huge skill to do it. We do not mock Jane Austen because she could only write in English. We do not mock her because she only wrote from a woman’s point of view. We do not mock her because all her novels were contemporary, in a similar setting, set in a single country, with a linear narrative. We accept all of those limitations and accept that she brings incredible skill to use a limited set of tools to create genius.

Imagine a modern programmer trying to get their first novel published. “English, yup I could write it in English, French, Italian, Chinese or South Korean if you like? I can do all the genres, yup, no problem. I can do first or third person if you like, and I’m familiar with fractured narrative or linear. If you want it funny I can do that, or harrowing, or in short story form too if thats what you are looking for.”

Madness

For some reason, people think that ‘proficiency’ in a programming language is something as superficial as being able to say ‘hello’ or order a beer in another language. This is insane. I am able to say ‘Hello’ ‘Thankyou’ and ‘Sorry’ In Korean, but you wont see me apply for a job writing Korean-language fiction.

If you have under ten years experience in using a programming language, let me be blunt and tell you that you don’t REALLY know that language. 20 years is better. 30+ years is ideal. Do you really think you speak French like a native after speaking if for a few hours a day for a few years? Of course not. Thats laughable. And here is the thing: A mistake in a language can cause confusion and maybe embarrassment, but unless you are a lawyer writing contracts, its not CRITICAL. Miss-using C++ can cause rockets to crash, reactors to overload, and god knows what else.

Why do we accept a superficial understanding of a language that is safety critical, but expect mastery of a language by anyone paid to use English?

I know C++. Thats it. A little bit of php, but a trivial amount. I use container classes and std::string from STL but thats it. A very few macros. My C++ vocabulary, even after 28 years using it, is tiny. The amount of std library stuff I know is very small. And yet… I can type C++ with as much confidence and speed as I type this blog post. In fact I can write C++ faster, with fewer mistakes than I can English. In many ways, I am MORE fluent in C++ than English. I code almost every day, and love it. I feel absolutely that I know what I’m doing, after 28 years, and a subset of C++.

The world is full of people claiming to have that fluency with 12 languages, and they are often literally half my age (I’m 54). This is utter bollocks. None of those people should be allowed ANYWHERE near mission critical code, or any code even tangentially involved with safety or security. I am sure that they ARE doing those jobs, every single day, because they all confidently think they are experts, and the people hiring them do not know any better. It a recipe for disaster, and its why year-after-year, software gets WORSE. Windows 11 runs dramatically worse than Windows 3.11 did, and it does it on hardware ludicrously faster. Skype is running at about 0.1% of its potential efficiency, has scrollbars that do not function as well as windows 3.11 did, and uses easily 100 times the RAM it needs.

Your computer is an absolute trainwreck of clusterfucks crashing into a dumpster-fire of wasted resources. All the people involved in arranging the trainwreck think they are multi-skilled geniuses, but hardly any of them have any real understanding of the code they write.

It doesn’t have to be that way.

We don’t appreciate Picasso based on how many colors he used, or how many styles he knew. We don’t berate any musician for only knowing one style. In Japan, people who make the SAME SUSHI DISH their entire lives, without variation, are considered legends, and experts. Its the norm in South Korea for restaurants to only serve one dish (but do it WELL).

I beg of you: If you are involved in recruiting software engineers, for the love of god only employ people who have real, genuine experience, measured in years but preferable decades, for stuff where you expect them to be able to code from day 1. No, they will not ‘pick it up quickly on the job’. Hiring interns or juniors is different, obviously.

I know I’m an old man yelling at a cloud, but sometimes old people know a lot about the cloud. I’ve been coding since I was 11, and its taken me this long to realize that programming languages should be treated like any other language. It might not be a popular view, but I want to put it out there. Experience really matters.