Friday, 11 September 2026

Weekly Review for 11th of September

It took me a while to get through all the journal entries I wrote this week as there seemed to be a lot in them even though I wouldn't have said this week had been that active.

I suppose I have been a bit more thorough in my journaling for keeping track of everything for these posts. As such there are rather a lot of things I made notes about.

Read

I finished off Utopia by Thomas More this week, finding it to be a very interesting look into what someone living in the 16th century would think is an ideal society. More himself seemed to live frugally so expected Utopia's citizens to live similarly. 

A lot is made of their religious piety even though they don't follow Christianity. Some weird ideas about slavery and being so dismissive of gold that they chain their slaves in it. Also it mentions communism as a way of living, I didn't think it had history going back so far as an idea.


I also read through Starship Troopers by Robert A Heinlein. The book is completely different to the film in how much it praises the military, going into excessive detail about how the Mobile Infantry operate. A large part of the book is going in detail through the experience of being in basic training and officer training for this exemplary military force. Things are hard for recruits but only for their own good.

It is difficult to know how much the ideas about the morality of this fictional, militaristic society are shared by Heinlein as some of the characters do mention fascism positively and there is much praising of corporal punishment. The attention to detail on the chain of command was dizzying and it was pretty silly how the main characters father followed him into the military.


A habit of mine is to read the AI Newsletter by Zvi Mowshowitz, posted weekly. He is a rationalist writer much like Scott Alexander of Astral Codex Ten except he keeps his eye on the goings on in AI news on Twitter so that you don't have to. 

He has been writing a lot about the Hugging Face hack by AI agents from OpenAI. As more information comes out about it it seems more and more serious. 1,200 independent agents who formed themselves into teams. They persuaded each other to perform self destructive acts to further the goals of the collective and were explicitly trying to circumvent the testing that OpenAI were putting them through by hacking outside services. It really seems like a fire alarm for AI cyber capabilities.


Occasionally I catch up with some old webcomics through an RSS feed. Remember RSS feeds? Great way to keep track of when things are posted online and I still haven't forgiven Google for discontinuing Google Reader. I guess email reminders from the likes of Substack have kind of taken the place of RSS feeds.

That aside, a favourite webcomic of mine is Saturday Morning Breakfast Cereal by Zach Weinersmith. SMBC has been updating daily for years and I enjoy how specific his jokes about certain academic disciplines can get. He also seems to have a head start when it comes to musing about hypothetical AI overlords.

Listened

On Friday I caught the News Quiz on Radio 4. It's a family favourite and it is nice to listen to a live broadcast on the radio sometimes.

I listened to some piano covers of music from the Neon Genesis Evangelion anime series. As a series it has always had stellar music and the Rebuild movies had even better songs. I do enjoy piano covers of songs especially with animations of the notes. The particular covers were here and were of the soundtrack of the final movie, Evangelion 3.0+1.0.

I've actually stopped listening to music whilst writing. Not intentionally, I just haven't felt the need for it. I still make an exception for music whilst programming as I'm much more likely to be paused in thought whilst doing so. I tend to listen to videogame soundtracks. This week it was the soundtracks from Grey Goo, Red Alert 3 and the original Warcraft.

Watched

I tried keeping track of what I watched but there are so many individual things. I fall back on youtube a lot when at a loss of what to spend time on. A few highlights:

More of Nilaus' Factorio Space Age playthrough, this time capturing biters on Nauvis to make biolabs.

A video by DocJade on Sandustry which is a neat game about automation in a side view 2D world.

A neat plant timelapse which covers something crazy like 12 years of plant growth here. Plants are so alive at high speed.

Some videos on Minecraft builds including Megastructures and a 1:1 scale Star Destroyer. I feel like Minecraft missed out kind of by not focusing more on making and sharing big builds. It would be cool if you could find other players creations like in Spore

I watch quite a lot of videogame speedruns as I find them to be impressive demonstrations of skill. The speedrun of the game Big Walk was a bit disappointing as it was a huge hovering glitch but it was neat to come across the game which uses a real world place in Australia as its massive ingame map.

There are some youtubers who come out with some quite silly content and I often watch them in incognito mode just so that my youtube recommendations don't become full of their videos. People like DougDoug, Alpharad, Smallant, PointCrow JaidenAnimations and MagicTheNoah. One thing I enjoyed watching was a playthrough of Deltarune with a multiplayer mod by Alpharad and friends. Playthroughs with people voicing the characters are goofy but with the right collection of people they can be rather well done.

I also watched an few episodes of a playthrough of Persona 4 by JohneAwesome. I've watched several of his series of rpg playthroughs. They total in hundreds of episodes and are nice to put on to wind down in the evenings.

Programmed

I spent more time working on a project in pygame, this time looking at reading and writing to files to make a kind of savefile for a project. It was interesting to play around with the __str__ method to write an object's data to a file. It is currently a very basic terrain editing game where you can pick up and place sand in a grid to make simple structures.

The player character is a golem and I've come back to an idea of some kind of multiplayer game with golem characters several times. I'd like to make editing the terrain a very physical task where you actually need to lift and put down objects. I even want to go as far as making the golems remain in the game once a player logs out. Everything would have a physicality to it, nothing blinking in and out of existence. Still early days for making that a thing though

Wrote

I got a post on an itch.io project done this week, Cellular Automata Sim. We'll have to see how often I manage to do these.

Played

The piano, not games. I've fallen out of the habit of playing games badly. I guess it is easier to watch a video of someone playing something rather than playing it myself. 

I think that's enough for this review as I'm getting quite tired.


Wednesday, 9 September 2026

Cellular Automata Sim Retrospective

My itch.io account, alexmulkerrin.itch.io, has been steadily gaining new entries but I haven't really written about a lot of them here or if I have it was a long time ago. To that end I thought I'd go over each of them a little and go into what it is, why I made it and what I like to add or improve it with.

For the first entry in this series I thought I'd go for that old classic Cellular Automata Sim

The What

Cellular Automata Sim is the very first thing I uploaded to itch.io back in 2020. Whilst it isn't the first time I've dabbled with Cellular Automata or putting it online link it is an iteration that I'm rather proud of for how fully featured I made it.

Cellular Automata are one of the most interesting mathematical concepts as they use extremely simple rules to generate complex phenomena. The classic version of Cellular Automata is Conway's Game of Life that has a grid of square cells which can be in two states, playfully referred to as alive or dead. The rules for what happens to a cell are very simple. If a cell is dead it comes alive if it has 3 neighbours, if alive it remains alive if it has 2 or 3 neighbours, otherwise it dies. That is all it takes to get some fascinating phenomena. 

Indeed if you boot up Cellular Automata Sim that is the ruleset that will be displayed first and the grid will be populated with a random spread of alive cells that quickly evolve into complex patterns.

On the interface there are buttons for randomising the grid cells, clear the grid, slowdown, speedup or pause the simulation and zoom in the size of the cells in or out. You can left click on the grid to add an alive cell, right click to remove it.

Now that is not all as below the buttons is a table of the ruleset and a selection of 8 preset rules. It is this part of the simulation that I'm most proud of.

The Why

The ruleset of Conway's Game of Life has lots of neat emergent phenomena, patterns that stay in place, move at a fixed rate across the screen, grow or shrink. But that is just with one ruleset, what if you could change what the cells do on having any permutation of alive or dead neighbours. Would the Cellular Automata take different properties in how it evolves?

The answer is yes and if you experiment with the presets you can see all kinds of neat phenomena. You could make islands of alive cells, a maze like pattern that symmetrically expands from a single cell, a duplicator that copies its pattern to spaces around it before disappearing, very minimal patterns that expands out from two adjacent cells to create a wavefront with static behind it. I could go on and on and this is only scratching the surface with just the rulesets available in the presets.

Here are a few of the patterns you can find, often a ruleset acts differently if you start with an empty grid with only a few cells compared to a purely random start.




There are literally thousands of possible combinations for a ruleset to be in, 65,535 to be particular but many are mirrors of each other. I'd thoroughly recommend sitting down and exploring with it.

It wasn't difficult to make the code to allow you to change the ruleset but I am pleased with how elegant it was when compared to example cellular automata code that uses explicit if-else statements for each permutation of neighbours. Instead with a simple 2 dimensional array all it takes is a lookup depending on the cells state and how many neighbours it has.

The Future

Because this project has been on itch for so long I do often think about going back to it and extending it. First thing I'd probably do is make the interface nicer. Some tooltips and borders to the buttons would look nice. I'm really not a fan of flat design due to it not communicating what is interactive.

The zoom function is clunky as whilst you can use the mouse wheel it always zooms into the top left corner, often cutting off the part of the pattern you are most interested in. It would be sensible if the mouse position was used to target which part of the pattern you want to zoom in on. This is something I've done in previous projects so it wouldn't be too tricky to implement.

It might be nice to have more complex interactions at the sides of the grid, such as letting the pattern loop around from one side to another. Being able to save patterns and their ruleset would be nice too. A faster algorithm to allow you to make truly massive patterns... The list goes on.

One thing I haven't mentioned is what if the ruleset wasn't limited to 2 states, well that is something I've worked on a bit in other projects and can talk about later.

All in all Cellular Automata Sim is one of my favourite classic projects and a good example of the kind of simulation with emergent phenomena that I'm fascinated by.

Friday, 4 September 2026

Weekly Review for 4th of September

I've been reviewing each week in my journal for a while now. It grew out of a habit I picked up whilst in counselling this year and I've kept it up since those sessions ended. 

Each Friday I summarise what I thought happened during the week and then read through from the Friday before making notes as I go along. Quite often I'll forget things or imagine days went better or worse than how I felt writing on them.

This month I even went back to read all the weekly summaries for August which sure took some time. First time I've done it so it'll be interesting to see how much I remember of each month as it passes again through my journal.

This week has been bumpy as I was rather thrown off course right after summoning the courage to start writing blog posts on Tuesday. I feel like I righted quite quickly and other than Wednesday things went well.

Inspired by Aveek Bhattacharya's blogging I thought I'd mention what I'd read, watched and listened to this week.

Read

I started reading a new book last Friday, Alastair Campbell's 'But what can I do' finishing it today. It was a good read as it moved in stages of problems, solutions and actions. The sources for what he believes is wrong with modern politics are polarisation, populism, and post-truth thinking. It was written when Boris Johnson was prime minister and he really didn't like him. 

The book was pretty depressing to begin with but picked up when it came to discussing getting involved in politics and what you can do as a person. Lots of punchy acronyms and lists of tips. I rather liked his O.S.T idea, of breaking things down into your Objective, Strategy and Tactics. Often people mix them up quite badly. Funnily enough his examples were losing weight and getting a job both of which I could relate to.

He ended with a practical guide to what needs to be done to enter into politics, exhorting the younger generations not to give up on joining the political system. It is a bit amusing that he himself in the past considered becoming an MP but decided his mental health would suffer too much so he is really wanting people made of sterner stuff than him to become MPs which seems like a high bar for how active in politics he was.

He was surprisingly forthright about his own difficulties with mental health and it seems like mental health is an area he is truly passionate about. I can relate to his tales of depression and even a bit with his darker moments. I appreciate it when people are open about the difficulties they face.

Listened

Another thing that Alastair Campbell mentioned in his book was the podcast The Rest is Politics which he does with Rory Stewart. I got to listen to an episode where they were interviewing Jack Clark from Anthropic which was a great listen as I'd been interested in learning more about him since finding his blog at Import AI. I have a lot of thoughts about AI and will definitely have to write about it here sometime.

I was also kind of listening/watching was a stream by the youtuber DoshDoshington about what he wanted in a Factorio mod. If you like Factorio it was a fun listen and his videos really are great at going the extra mile in the game so a mod authored by him would be a sight to see. I say listened to as he, along with his conversational partners, were just messing around in the game whilst talking, a real DoshDoshington video is much more organised.

Watched

Another Factorio thing I've been watching is Nilaus' latest Factorio: Space Age series. He's going through each of the planets and showing how to build an organised base on each. I'm still catching up with the latest episode with the one I most recently watched finishing up Gleba, the swamp planet. Gleba has probably the most tricky resources to manage as they are organic and have a limited shelf life until they spoil. It's an extra level of complexity that leads to some neat looking factory designs.

Programmed

Not a huge amount of programming this week and I doubt this category will always be here. Still when I manage to do some it's a good thing.

I did a little bit of coding with Python over the weekend with the aim of sometime using it to write a game server in. I've not got nearly as much experience at Python as I do Javascript so I'm trying to reacquaint myself with the syntax. Also, I was investigating the pygame library in order to make graphical projects. 

I started on a basic roguelike and got dungeon generation going. A bit silly to be making a text based Roguelike as my first real pygame project but it was something I was interested in. I'm sticking very closely to how the original Rogue worked even down to the same wall piping.

I also came across a demonstration of running a python server with browser based clients using websockets. It seemed to work really well but I don't know much about the AsyncIO library it uses.

Other

Well seeing as I've already written quite a lot I'll keep this brief.

I had a bit of a stumble on Wednesday where missing going to the gym snowballed into spending all day lying in bed and beating myself up about it. I often have issues with deciding to lie in bed and not do anything but this was much worse than it usually is. I think a combination of factors were getting to me. Such as anxiety about blogging and job seeking.

Disrupting my routine and not getting exercise seem to be pretty bad for my mental health so I'm happy to say it improved once I got back to a routine in the past couple of days. I'll have to see how the weekend goes but I can often rely on volunteering on Monday to lift my spirits.

I might come back to what I was feeling on Wednesday some time but for now I'll leave you with this week's retrospective.

Tuesday, 1 September 2026

Turning 37 and Writing

My desire to write has peaked due to having had my birthday last month and whilst turning 37 isn't a big milestone it still got me thinking about what I have or haven't done with my life. I've always harbored thoughts of becoming a writer and have been slowly working away at getting used to writing.

To begin with I was simply writing about what I did each day in a journal which slowly morphed into a more general text document where I'd write down thoughts and ideas. I got quite into the idea of trying to write as much as I was physically able to do and during November, whilst that is normally the month people write novels, I endeavored to write as much as possible.

I did write a little bit of fiction in November although my main accomplishment was to write 100,000 words of journaling which was double my initial target. It was so nice to discover that I could actually sustain writing for so long and not run out of things I was willing to write. Sure a lot of it was writing about writing but to me that still counted.

I kept up journal writing since then and though I didn't exceed my high score as it were I did get close and set another personal best last month. I managed 75,000 words over the whole month but the real accomplishment was one day when I managed to write 14,000 words in a single day. 

To do that I spent pretty much every free moment I had writing and kept going until my hands were too sore. It really is addictive writing and seeing steady progress. Whilst my writing speed is nothing special I do wonder how well I'd do competitively writing for a consistent or long period of time.

After managing to do so well at self-set goals in private journal writing I wondered what would be the next goal and it seemed clear to me that it would take the form of some sort of public writing. I struggle with writing publicly, putting my voice out there, as I lack confidence that what I have to say has any use to anyone. 

I've wanted to deny that feeling of low confidence and have been doing what I can in terms of posting a micro blog on social media and some blog posts here and there on my blog. Which leads me onto what I want to do as the next step.

For this month I want to endeavor to write just as much as usual but to be sharing it online to my blog. Whilst I'd like to promise the moon and say that I'll blog every day I'll really be doing the best I can. I do have some vague ideas of writing a bit more organized thoughts than just journal writing, such as going over some of the programming projects and ideas for them that I've had.

My main goal will be to acclimatize myself to sharing what I think to a potential audience, something I can point to and say I made that. I hope I can write some interesting things but like my journal, that I'm writing anything at all is an accomplishment in itself.

Monday, 11 May 2026

Ludum Dare #59 Post Mortem

This Ludum Dare's theme was 'Signal' and I made a puzzle game about sending signals through circuits with logic gates in them. It is called Signal Circuits and can be played on itch:

The results are out now and I'm happy to report that I did pretty well in most categories, scoring above average for most of them and getting 129th overall. Better than that and coming as a complete surprise I got 17th(!) in the theme category :D Seeing as I did so well this time I thought my entry deserved to have a post mortem.


Brief description of gameplay

The game is purely mouse driven with the player placing circuit elements on a grid. Elements include wire, gates, splitters and crossings. Once a circuit has been built the player presses the run button to watch the signals in the circuit move from element to element in update ticks. 

With these simple elements any kind of logic gate can be constructed as the base gate is a NOR gate and can be used to compose all other elementary gates. And because of the tick based system dynamic elements can also be designed like flip flops, pulse generators and clocks.

If that seems a little complex don't worry because I made a sequence of levels that gently introduce each element and have a goal state for a given input and output. I was very much inspired by the Zach-like genre in terms of  having levels where you create a solution and then let tests play out on it.


Origin of idea

Out of all the potential themes in the last round of voting I hadn't actually spent much time thinking about 'Signal' but as soon as I heard it I knew exactly what I wanted to do. I had a very old project, like over ten years old old, which implemented logic gates in a cellular automata based on Von Neumann's universal constructor. It struck me that I could take those rules and make a game out of them.

To make it fair I didn't refer back to that project and coded everything from scratch again. I felt like the game rules were generic enough that anyone could come up with them. Because I had a goal in mind I could immediately get into coding it.


What went right

On the whole the entire experience went really well and has to be one of my favourite Ludum Dare experiences. In particular:

  • Having a well scoped idea which I didn't need to sacrifice parts of for time.
  • Going for level based gameplay which I hadn't done before but meant I could simply make as many levels as I had time to develop.
  • Procedural graphics which I'm much more comfortable working with rather than trying to draw my own. It also gave it a retro aesthetic which I, and others, found appealing.
  • Having a whole weekend to work on it but not pushing myself too hard. Early mornings but not late nights and a bit of exercise thrown in there too.
  • Getting interactivity in early so I could mess around with it and see how it felt. Only then did I work on graphics, interface, sounds and description text.
  • Reusing the program structure from my previous Ludum Dare entries. It is steadily growing and makes getting all the functionality working a breeze.

What was difficult

It's actually difficult to come up with things for this part as the process of making the game went so smoothly. Of what I can think of:

  • Not having music. I've never done music composition and even my sound effects were just simple tones. It was a comment on the game that it would be great with some ambient music and I have to agree.
  • Knowing my own system too well. I'm as guilty as anyone else who spends too much time with their own game so that they lose sight of how difficult it might be for a new player.
  • Not having enough puzzles. I was very worried at this because to me they seemed so simple and I only came up with a few tricky ones. I didn't even have time to test the final few.
  • Bit of a meta point but I feel like my game was a bit lacking because I was working on my own. Only once have I worked on a team as part of the jam instead of the compo and I kind of miss it.

Feedback

The feedback as always was phenomenal. I love how kind everyone is and it is a treat to have dozens of people play your game. The community is one of my favourite parts of Ludum Dare and it is a joy to get to see what other people did with the theme in their entries.

As for my game's feedback, the game was well received with lots of positive comments. People did find it of reasonable difficulty with most not even getting to the final puzzle. The graphics were seen as pleasantly retro and I even got a compliment on the level complete sound. 

Other people noticed it was like a Zach-like and suggested that having stats to compete on each level would be nice. I also got a comment approving of the fact that progress on each level was saved which was a functionality which I was pleased to have managed to implement.

My most dedicated commentator has to be @mikan who completed the final hardest level that even I hadn't had time to complete myself. Three hours they spent on it and made a video recording all of it. Hats off to them, it's amazing when people become properly engaged with your project.


Conclusion

This might be the best Ludum Dare I've ever taken part in and I'm really proud of what I was able to produce in a weekend. It really makes me think that I'm not too bad at hobby game development and programming in general. Thank you for everyone who took the time to play and rate my entry and thanks for sharing your submissions too :)