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

Gratuitous Space Shooty Game is now on steam

Bit of a low-profile sudden launch, because its only a little fun hobby game. But I do think its rather good, and it is also super, super cheap, especially with a launch discount. So go grab a copy :D Its fab. Try to beat it on WTF difficulty level.

A productivity boost for everything you are trying to do

A million years ago, my ambition was to be as good a guitarist as Richie Kotzen, in his pre-poison, shred days. I thought he was super cool. I then started guitar lessons with the teacher who, at the time, was considered the best heavy metal guitar teacher in the country. His name was shaun baxter. It was a 3 hours trip each way with a guitar, walking, getting a bus, then 2 trains, then walking, then the reverse. The lessons were expensive. I was very determined. I learned lots of things, and one of them is broadly applicable to everything you might ever want to learn, improve at, or get done. I will share it with you for FREE. How amazing.

Firstly Shaun exposed me to how amazing yngwie malmsteen was as a guitarist. He could play some malmsteen stuff at the full tempo. This blew me away, although nothing in the universe is as insane as the way Chris Impellitteri plays… but anyway the main thing is that yngwie played guitar very very very fast. I had reached my limit and couldn’t get any faster.

It doesn’t matter if you hate heavy metal, or know nothing of guitar playing. The thing I’m about to share IS relevant. There are a lot of things you need to do to play fast metal guitar, and its very hard, and involves a crazy crazy amount of practice. However, one thing I was taught, totally changed the way I approached practicing. Until learning this trick, I would practice guitar scales at the fastest speed I could manage and still hit all the notes cleanly and in time. Lets call this 120 bpm (beats per minute). I would go through all the scales, in every key, to a metronome, for hours at 120 bpm. I would then try to do the same at 122 bpm, and struggle, and so on…for hours. and days and months.

Lets say my target was 200 bpm. The thing is… 200 bpm is NOT a faster version of 120 bpm. Its a totally different fucking universe. This is crucial. There are lots of things you can ‘get away with’ at a slower speed, that will totally fuck you up at high speed. At 120bpm you can flail your 4th finger about a bit. You can not have your left hand positioned correctly, and you can move your right hand wrist too much. These are all flaws, but they are flaws that can be excused at 120bpm.

Hopefully you can see where I am going?

Because those flaws are structural, you will never get beyond 120 bpm. It feels like you maybe *could* if you just tried harder. But you are fundamentally fucked. You will never get to 200. Never, because playing at that speed has zero room for error. This is absolutely transformative. You need to work out all the things that are stopping you getting better, and the only way to do that is to leap forward in time.

YES I AM DIVULGING THE SECRET OF TIME TRAVEL HERE IN A BLOG.

In order to work out what is going to screw you up at the faster rate, you have to imagine life at the faster rate. The only way to leap forward to that rate (or level of skill or commitment) is to completely jettison quality, temporarily. So what I learned with shaun was that to learn to play at 200bpm, I had to EXPERIENCE the reality. In other words I had to set the metronome to 200 bpm and just play at that speed, and finish all the notes on time, even if it sounded like a complete train wreck, and was stressful as fuck.

After the initial speed-bump of going “wtf? this is impossible, I cannot do this”, you eventually get the hang of making 600 notes a minute (triplets) more-or-less in time. Its a cacophony of errors, but you manage it. Its a mess, and you are fumbling everything, and it feels pointless…. and yet…

Doing this massively highlights everything you are doing wrong. You simply cannot wave that finger around if it needs to be somewhere else in a tenth of a second. You cannot be making exaggerated wrist movements with the guitar pick because your right hand will shake itself to pieces at that speed. All of the bullshit you got away with at a lower rate is suddenly staggeringly, blindingly obvious.

And then when you set the metronome back to 130 bpm, it feels fucking easy. You are totally in control, to the extent that you are able to work on all that stuff you now know was holding you back. Oh and was that a typo? NO. 130 bpm now feels trivial, whereas previously 122 bpm felt impossible. It helps massively to stretch your ambition. You will NEVER achieve a goal, if you cannot ever picture yourself being able to do it, and have no *feel* for what its like to be at that goal.

So thats great, but how the hell does that help me ship an indie game / write a book / learn spanish or whatever?

This is a universal technique! It works for everything. If you are trying to force yourself to walk 6km a day, try walking 18km one day. The next day will feel hilariously easy. If you are trying to write 100 lines of code every day, write 1,000 one day. The important thing is to set the higher goal WAY WAY HIGHER than the progress you want to make. You will find this works for everything. Writing 1,000 lines of code a day requires dedication, no distractions, a comfortable office chair, possibly complete silence, maybe a coffee machine in your office… who knows! but the point is, you will not know what optimisations and efficiencies you need to make until you push the process to its limits. Maybe you CAN walk 5km a day in your normal footwear, but walking 18km is agony unless you get new trainers/sneakers? Ok, cool, you are now in agony, but you have learned one thing that was holding you back.

Sometimes, it means a completely new approach entirely. The ‘marginal’ improvement approach might be fundamentally flawed. Trying to put a man on the moon by building bigger and bigger trampolines will not work. It always seems like the trampoline could be just a bit bigger… but until you try to get 5 miles high, you wont realize you need a bloody rocket.

There are a TON of reasons why some people seem to struggle to ever make progress in what they do. Some people mistake ‘putting the hours in’ with the much more important ‘deliberate practice’. Some people are experts at inventing justifications and excuses for why they fail their goals. Some people psychologically do not have enough self belief to ‘allow’ themselves to achieve their goals, and my god there are a lot of books that you can read on these topics as a displacement activity from actually getting stuff done…

…but I do think that this technique is especially under-utilised. When you try it, you realize what a game changer it is. You have no idea what prevents you 10x-ing your achievements, because you never think beyond 1.1x-ing the way you do things now. Another way to think about it is to treat your goals as something done in a factory. It doesnt matter how quickly you run around and slave away making stuff in a workshop, if you never realize that the ONLY way to make 1,000 widgets an hour is going to be a conveyor-belt production line with division of labor, then you will waste a ton of effort (and shoe-leather) sprinting between different bits of equipment. Only by envisaging the final rate of production and TRYING it, will you ever really have a chance of achieving it.

Good Luck :D

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.