Made some more progress on that Godot game. I haven’t gotten any further with the first level of world 2, so I’ve been spending much of my time making mechanics. One of them was the slow moving “level 2” mechanic that I stole wholesale from Super Mario World. That mechanic, despite it being frustrating to speed-runners, was always slightly interesting to me. To have areas of a level become accessible or hazardous just due to a layer of it oscillate up and down, it promised to make for some interesting timing challenges. At least in theory.
I decided to put that theory to the test, and start work on one the later levels. And despite being a little skeptical about whether the mechanic could carry through a level on it’s own, I came up with one that I’m reasonably happy with. The mechanic is introduce slowly, and in a rather non-threatening way, proving the player the means to get to higher ground. This leads into the second half, which will be a long underground section which will ramp up the difficulty by introducing the risk of getting crushed or missing platforms.
To compliment this is a new enemy that rushes the player. The player cannot do anything to defeat this enemy: combat is not really a thing in this game. All they could do is evade it before the enemy gives up. I am reusing the same “green slime” sprite for this but I’m hoping that the differing animations provide some hints of how this enemy’s behaviour differs from that of the simpler one.
Finally, it was time to consider checkpoints. While the first few levels were too short to justify adding them in, this one is just that bit too long without one. And given the difficulty ramp-up in the second half, having the player go through the slower first half every time they died would probably lead to frustration. So checkpoints are now a thing. They’re not free — costing 5 coins to activate — and they are sometimes mandatory, blocking the player from progressing until they pay the toll. But I think their presence helps with eliminating the areas of the level that would just be boring to play through again and again.
So yeah, I’m quite happy with this level. And I’m also happy in realising that I’m not bound to building this game in the same progression that the player will experience it. It’s better sometimes to just work on the areas that you’re ready to. I mean, it’s sounds obvious to say that now. Not sure why it took me this long to actually do so.
Some more #big-spending going on around here with the arrival of my brand new TV… remote control. 🤑

Yeah, I finally got a replacement remote control for my TV. And honestly, doing so was a long time in coming. The old one (right) has been failing over the last few years: with certain buttons, particularly Power and Enter, requiring significantly more force that others before responding. About a month or so ago, the Power button stopped functioning completely, and the only way I could turn the TV on was to use the Netflix button (making that button useful for the first time in years) and quickly switching to AV 2. That, plus the volume, were the only buttons working by the end.
Ooh, how interesting: Vivaldi is offering blog hosting. I hear blogging is all the rage now, so I gave it a bit of a test. And it’s nothing Earth shattering: it’s basically Wordpress. But it’s interesting seeing Vivaldi do this.
I haven’t tried this myself — I don’t have an Sqlite DB handy — but it looks to be interesting.
Via: Simon Willison
🔗 Introducing Kermit: A typeface for kids
“A typeface for kids.” Hmm, I’d probably opt with a better tagline, as I’m suspicious of anything that claims that they’re an X for kids, as it tends to imply that it’s of lesser quality than it would’ve been if it were for adults. That unfair thought aside, it’s a font designed around helping those with undiagnosed dyslexia, and that may not take to reading. So the motivations are sound.
Looks like a pretty nice font, too. Sort of understated fun.
Python, ES Modules, Deno, JSR all feel like justified forks to me. They attempt to move the status quo forward in significant ways. And yet every fork is justified. They all happen for good reasons. This doesn’t change the fact that the costs of forking are high, very high.
It’s extremely hard to change an ecosystem, software or otherwise; and you’re most likely going to kill it in the process if you try.
Via: Jim Nielsen
🔗 AI 2027
Well, that was… interesting. And terrifying. Bookmarking this for 2 years into the future, to see how it’s all going.
Via: Manton Reece
Here’s a life hack: if you’re listening to a podcast, but not paying attention, and wishing you were listening to something else, stop listening to the podcast and listen to the other thing.
Amazing, I know. Subscribe to my newsletter for more amazing life hacks. 😜
Got a bit bored today. Fortunately Acorn comes with an eye-dropper and Galvji, the closest to SF Pro I had available to me.

It kind of blew my mind that this currency exchange rate “API” is nothing more than just some static files on a CDN, along with a cronjob that updates them daily. I guess it’s technically still an API. If the interface is stable, then there’s no reason why it needs to be backed by a database.
It’s amazing, when you consider the vast computing resources that AWS has, that it still takes tens of minutes to deploy several lambdas at once.
Fixed spelling of canceled
My last commit message. With the linter requiring US spelling for all code artefacts, I never had more of an urge to put scare-quotes in a commit message as I do right now.
On time arrival at Albury, NSW.

At “Broady 3,” waiting for the XPT to Albury. 🚂

🔗 But what if I really want a faster horse?
Overall, consistency, user control, and actual UX innovation are in decline. Everything is converging on TikTok—which is basically TV with infinite channels. You don’t control anything except the channel switch.
This… “trend,” let’s say, is bad. I’m seeing it myself: media consumption apps are turning into glorified magazines, trying to push you to consume media they think you might be interested in (or have an incentive to have as many people as possible consume), rather that what you actually want to consume. That get’s buried in carousel that you need to scroll to, or search screens populated with random junk until you start typing in full what you want to watch. It’s awful, and it makes these apps unusable.
Via: Pixel Envy
Received another toy the other day: a new Keychron keyboard. It’ll take me some time to get use to the keyboard layout, and I’ll miss the numeric keypad; but it looks, feels, and sounds great. It’s also my first external keyboard with Apple keycaps: all the ones to date had Windows keys.
The weather is stubbornly refusing to turn autumnal. Fortunately the trees are happy to oblige.

That small lizard that occasionally gets inside my house is back. Got a bit of a surprise when I saw it in the hallway today. It ran as I reached for my phone to take this picture.

Does Vivaldi Mobile for Android have GIF support? Yes… I guess? Not entirely sure who’s asking. Or why. Are these the same people who want to know if Vivaldi has paid stickers or file sharing support? Is this for a hypothetical messaging app?
