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 :)

Tuesday, 2 December 2025

2025 Review

As it is nearing the end of the year I thought it would be nice to write about what I've been up to this year. This is mostly a list of things I've done and reflections on how things have been going.


Egypt

One of the biggest events of this year has been going on a trip to Egypt in September. This is the first time I've gone on a trip abroad for years which was quite exciting.


The main thing I wanted to do in Egypt is visit the archaeological sites and museums. I got to see the actual pyramids and sphinx which was very cool. I even got to go inside the largest pyramid which really felt like dungeon delving with how small and narrow the access tunnel was.


I visited both the old museum of Cairo and the fancy new one. It was impressive just how many artifacts there were and I got to see the mask of Tutankhamun. The new museum was very nice and it was a shame that I didn't get more time to look around it.


Ludum Dare 

Now and again I've tried taking part in the programming competition Ludum Dare over the years. Now often I don't manage to finish but now and again I do. 


I did manage to complete something for the competition in October. It isn't anything special but I was happy that it gave me a chance to try writing a dialog system and work on how to have npcs say different things based on your progression through quests.



One of the nicest things about Ludum Dare is the reviewing period. During it you get the chance to play and rate the games that people have played and leave feedback on their entries. In turn people review your game and it is lovely to receive feedback from people who have played your game. The experience is very positive with people leaving nice comments.


There is a ranking of games afterward and whilst I would never expect to score that highly I was pleased to see my game doing better than the average. It actually scored its best rating in humour which was cool. I guess people liked the dialog I wrote for all the npcs.


Nanowrimo

Nanowrimo, the novel writing event might not be a thing anymore but I still wanted to take November to be a month where I write a lot. I've been getting into writing a journal every day this year and I wanted to see how far I could push myself to write in it.


Nanowrimo is meant to be a novel writing but I decided I would allow myself to write anything so whilst I did write some notes and prose of a fantasy story the main bulk of my writing was in my journal. 


It was lots of fun to just write as much as I could and it felt nice to express myself. There is a goal wordcount for Nanowrimo of 50,000 words and I managed to absolutely crush it by writing 100,000 words!


Reading Books

Over the last year I've made it a habit to spend time reading physical books everyday. It is a lot easier to get through a large text if I'm not at a computer and distracted by the internet. Although having said that it has given me an excuse to do some microblogging by writing about what book I've just read on twitter.


I read a wide variety of books this year, not only fiction but some non-fiction textbooks too. I essentially have been going through all my old university textbooks and reading them again. It has been nice to refresh my knowledge of what I studied all those years ago.


Playing Music

Just over the past few weeks I've been getting back into something I haven't done since I was learning back when I was a kid which is playing the piano. I used to find it so difficult to sit down and practice each day so it's been really nice to be able to do that now I'm older.


Playing the piano isn't a skill you really forget and I can still play some of the pieces I really practiced from way back. I have had to remember a lot of the old theory and have been approaching it with new eyes which means it has been very interesting to learn more.


Summary

So all in all I've had a pretty busy year as I've also been getting to the gym and exercising every day. The previous years I had been going through a spell of bad mental health so it is nice to see improvement over the last year.


Hopefully I'll be able to keep up these good habits and even add some new hobbies to my collection. I was learning a new language, Japanese, last year so perhaps I could get back to language learning with Chinese? I'd also like to get back into doing some art such as drawing.


We'll have to see what the future holds and I might write more here about what I get up to.

Thursday, 9 March 2023

March 2023

making full fledged game projects on itch.io is tough. I'm going to try something easier by making little scripts that can be embedded on these blog pages :)

Sunday, 12 February 2023

February 2023

This month's theme: the constructed language Toki Pona :D

Wednesday, 18 January 2023

2023 A New Year

 This is pretty much just a placeholder post.

I might add to it or I might just delete it later.

Depends if I can create a better post for January between now and the end of the month.

Contemplating going 'goblin mode' on this blog and just posting whatever to overcome trepidation over having a gap between posts. (assuming goblins have a poasters nature, they certainly like to create piles of trash I guess)

Monday, 19 September 2022

PocketCiv is now playable on itch


Low effort post today as I've not managed to finish any longer posts over the last few months. Having enough energy to create things is hard :/

Monday, 6 June 2022

Programming Projects, where are they?

 

I think it must be a common situation for any person who creates things that you start a whole lot more projects than you actually complete. I've been messing around with programming projects for a significant fraction of my life and have lost count of the number that have reached a certain amount of progress and just... stop.

Even among the projects that enjoy good progress and reach a point where I want to share them there can be issues in terms of what form to share them in. There can be quite a lot of work involved in uploading and presenting projects online. Often the impulse can be it throw them up on the likes of itch.io and be done with them.

I, uh, should probably have mentioned sometime in the last couple of years that I have an itch.io page with projects on it... https://alexmulkerrin.itch.io/


So many fine projects that have never gotten a dedicated blog post are there.

Having been posting about programming projects online for about a decade now the form of how I've uploaded them to be shared has changed over time:

  •  Initially I would just put the JavaScript inline on the page to be rendered into an html element which was neat but it did run into issues when more than one projects code was on the page at once and there were variable name collisions. 
  • I could alleviate that somewhat by making it so only the intro to a post appeared on the blog homepage and you had to click through to see the running program. The issue then became when I wanted to write bigger projects and the code became too big to have all in one html file.
  • I could split my code into dedicated script files if I had someplace to host them. Initially there was such a hosting functionality built into Google Drive that let you not only host files publicly but also embed JavaScript projects directly in another webpage.
  • Alas this was only provided for a short time, then discontinued leaving mysterious Google error messages on the pages that used it, such as my initial post here about Swarmlord. Looking for an alternative I came across rawgit that let you host projects from a repository on Github. I already had a GitHub account so it was an excuse to be a more dilligent developer and use git as part of my development process.
  • Sadly last time I checked a rawgit link it wasn't working either. At that point itch.io had become a thing so I eventually moved to hosting projects on that including old and recent Ludum Dare entries, another thing I have been neglecting to blog about!
Long story short, from now only any programming projects I share will be hosted on my itch.io page where, hopefully, they will remain accessible and continue to work.

I would also like to get back into the habit of posting on here about projects I am currently working on. Even going so far as to provide links to in development projects not 'officially' visible on itch.io. For example this:


It's a world map generator which lets you zoom in super close just like Google Maps :D
Super secret link here

There's a whole lot of work to do on this but the essential algorithm to allow you to zoom in and out focused on the mouse cursor's position is solid. For now I simply adapted the Civilization terrain generation algorithm and tile types. It's crazy to think that on a properly scaled planet each tile is 500km across :o