Congratulations to Seth Godin for 10,000 blog posts. A phenomenal achievement. I’m a little further behind myself: this will be post number 2,666, just over a quarter of where Seth Godin is. Seth, I’m coming after you! πŸ˜€

Spent some time over the last few days working on that Godot game, mainly building new mechanics. This evening I started working on an interceptor, something that would jump out of the quicksand in order to disrupt the player’s jump. Here’s an example of how they look in the test bed:

And yeah, they’re pretty much a carbon-copy of the Podoboos from Mario. But I think there’s a reason they’re still making an appearance in games, years after their debut in Super Mario Brothers. They’re quite a versatile enemy, making jumping challenges a bit more interesting than just seeing whether the player the clear a gap. Plus they’re reasonably easy to make.

Another mechanic taken from Mario was a switch that revealed coins and tiles for a limited time. Hit it once and the child nodes of this “timed_limited_visible” scene are displayed and activated for 10 seconds, before they disappear again:

Much like the blue P switch this mechanic takes inspiration from, the switch can only be activated once. So it may be only useful for bonuses and areas the player can afford to miss.

I had to do some special handling for nested TileMap nodes, since the player could still collide with them even when they’re hidden. How I solved this was nothing too spectacular: basically I just walk the child tree looking for TileMap instances, and when encountering one, just enabling or disabling the first layer:

func _show_and_activate_children():
    visible = true
    process_mode = Node.PROCESS_MODE_INHERIT
    for tm in find_children("*", "TileMap", false):
        tm.set_layer_enabled(0, true)

func _hide_and_deactivate_children():
    visible = false
    process_mode = Node.PROCESS_MODE_DISABLED
    for tm in find_children("*", "TileMap", false):
        tm.set_layer_enabled(0, false)

Building these elements was fun, but the main problem is that I’m struggling to come up with a centrepiece mechanic for level 2-1, something that defines the level in some way. I have an idea for level 2-2 β€” this world is set in a desert so I’m hoping to introduce a thirst mechanic β€” but level 2-1 I’m hoping to keep relatively plain so as to avoid overwhelming the player with too many new things. The fear is to avoid making it little more than what the player encountered in world 1: a series of jumping puzzles over pits. Sure, that’s pretty much the entire game in a way, but some variety would be nice.

I’m hoping one of these mechanics could help here. I guess I’ll find one once I’ve start seriously building the level.

Blessed be the Mail.app View menu and the option to hide the useless Apple AI priority messages. My Inbox is now slightly more sane.

Auto-generated description: A computer screen displays a dropdown menu with various options such as Show Tab Bar and Show Priority, against a background of tall trees.

Airing Of Draft Posts

A collection draft ideas and reflections, amassed over the last year, highlighting a mix of topics ranging from technology insights to personal musings.

I just learnt that Nintendo is requiring at least 50 hours of game play on the Switch before one can preorder the Switch 2. That’s a pretty clever way to avoid scalpers. I approve, despite not qualifying.

In a world where every cafe opens at 8:00 on Sunday, the ones that open earlier are guaranteed at least one customer. That customer has two thumbs, and is using them to type up this post on a phone.

If maintaining code is harder than writing it the first time, maybe Perl had the right idea all along. Just write it once. Then when you need to change it, delete it all and just write it once again. πŸ˜€

On Go And Using Comments For Annotations

Some thoughts of whether Go should have a dedicated syntax for annotations that comments are currently being used for.

This week’s earworm: Chronology, by Jean-Michel Jarre. 🎡

Quick review Chronology, by Jean-Michel Jarre (1993). Rating: Liked it. Review text is as follows: I probably like this album more for the memories of when I play it: day-trips just outside of Woodend. But there’s no denying that it’s still good music to listen to.

It’s telling that the word β€œstupider” is growing in our lexicon. I’m all for language evolving, but seeing this is just making online reading β€œpainfullier” (10 points to anyone that gets this obscure β€˜90s reference).

My trumpet playing skills are what got me into the strings section. πŸ˜„

Free B-movie idea: you have a large multi-national company, like one of the large tech coorporations. One day, the CEO is away for an extended period of time. They might be on leave or something, but it’ll need to be for a few weeks or more. During that time, a new hire that looks exactly like the CEO begins working there. They start doing their medial tasks until one time during lunch, one of the executives mistakes them as the CEO, and starts asking for directions about company strategy, etc. Well, you can probably imagine how it goes from there.

Maybe give it it title like “The New Hire” or “The New Job”1 or something, and boom! You’ve got a blockbuster summer hit on your hands. “Fun for the whole family.” πŸ˜„


  1. Both of these are already the titles of real movies so maybe not these. Honestly, must be super hard for producers to come up with original titles these days. ↩︎

The Switch 2 looks pretty exciting. If I were ever to spend money on a game console, I’d probably go for this.

Tina Arena is a really underrated artist. Her music is really good.

Started working on world 2, and one of the main mechanics of this world: quicksand. It won’t kill the player directly, but it will make it difficult for them to manoeuvre, and getting too low could cause death. Might be one of the more annoying mechanics in the game, but that’s kind of the point.

The results of my first play-test are in. And overall, they were pretty positive: movement was good, hit-boxes were fair, and it was described as “quite fun,” which was better than I was hoping for.

One thing I’ll need to look out for is telegraphing secrets. The number of secrets is indicated at the end of the level, and based on the play-tester’s feedback, they seemed to have spent a lot of time running against walls trying to find them. There is one secret in the level 1-1 that I thought was telegraphed well, and I can confirm that the player found them all. But I will concede the others required the player to make a leap of faith, and fall into an area that the player will usually want to avoid, which is pretty unfair. So I’ll need to fix that.

Ugh, dealing with financial institutions is so annoying. Forms, solicitors, settlements; everything’s more complicated than it first appears.

Apple’s style of public writing is so grating. I’m sorry, but seeing thoughts written in a way to suggest that they’re made by someone who is “just a regular person” comes off as patronising when it’s backed by a three trillion dollar company. I just can’t suspend disbelief in thinking that these are genuine, off-the-cuff comments.

Saw my barista put a few coffee beans in the chocolate shaker when he refilled it this morning. He says that it helps break up the clumps of chocolate powder that form near the bottom. That’s brilliant! I’m going to do this when I get home.