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

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

Monday, 28 March 2022

Dropfleet Commander Kickstarter Fleets


 I'd like to share some photos of a slightly different hobby project that I've completed recently. Miniature spaceships for a tabletop wargame called Dropfleet Commander. Firstly, here's a shot of all the different faction's fleets together:

The complete collection

That's 28 ships in total over 4 different factions, including light frigate sized ships and bigger cruiser hulls. I'm pleased with how the colour schemes I chose for the different factions came together and make it clear which ship belongs to each faction as well as make it apparent what the different armaments are.

As an aside the kickstarter that launched Dropfleet Commander as a game (page viewable here) in my opinion is the most successful kickstarter with the most benefits from additional milestones ever seen. They blew past their initial goal of £40,000 in less than a day and reached a staggering £629,000 raised from 3900 backers in total. Their success was such that they were able to bundle in additional ships for each an every backer. I only backed at the lowest level to receive one fleets worth of ships; the PHR (the ships in orange above) giving me 4 frigates and 3 cruisers. But because of the addons I received an extra frigate sprue as well as a cruiser sprue for each of the four factions, meaning I have a small force for each! :D

The kickstarter funding period ran for a month over November 2015. I actually received the package containing the rules, extra backer rewards and unassembled miniatures still on the spruces around November 2016. While it didn't take me too long to assemble the models and play a few games with them I didn't get them painted until last month. They have spent rather a long time being packed away in a box under my bed but that is a not too uncommon fate for such miniatures I find :P

Anyway, here are some photos of the individual faction fleets:

UCM fleet

 First the UCM (United Colonies of Mankind), the main human faction. After the Scourge invaded and occupied the core worlds, including earth, the UCM was formed to take back the worlds lost. I gave the ships a very utilitarian colour scheme based on a plain white undercoat with a black inkwash over the model to pick out the seams of the armour plating. I took the time to pick out some of the plating on the tops of the models in grey and white to denote different ship types. Other details to note are the railguns with a light blue inkwash over a metallic colour, missile pods picked out in red and engine pods metal with a yellow inkwash and bright yellow thrust.

One part I was particularly pleased with how it came out were the hangar bays on the cruiser. Painted in white and then given a light blue inkwash to give the impression of light streaming out of the opening. Here's another closer view:

Cruiser closeup

Next are the Scourge themselves:


Very organic looking ships that reflect the fact that Scourge pilot their vessels by merging with their machines. Their playstyle revolves round being sneaky with stealth systems or hiding in atmosphere to get close to their targets before unleashing devastating weaponry at close range. I'm really happy with how the combination of a light blue basecoat combined with a purple inkwash looks. The models have all this cool, organic detail that an inkwash works really well on. The Scourge main armaments are oculus beam weapons which I've done as reflective red eyes by using a transparent red paint over a metallic base colour.

Another alien fleet are the Shaltari:

Shaltari fleet

Aloof and mysterious their ships look and act very differently to the other factions. They get lots of special rules such as shields and most importantly utilize teleportation technology for the gameplay of getting their troops to the planet's surface. This is done through Void Gates, the little circular ship in the top left. Being such an advanced race their ships have a really alien look to them and it's difficult to work out what parts are ornamental or functional. I experimented with different base hull colours on the small frigates at the front but if I were to paint more of this faction I would probably use the colours on the large cruiser at the back; a earthy yellow with a brown inkwash. I went for a wooden look to these ships with browns and greens. The little lights were fun to do being just white dots with a wash of a ghostly green contrast paint.

Lastly but by no means least are the PHR:

PHR fleet

The PHR (Post Human Republic) are a different set of humans who got involved with a mysterious alien artifact and are big on robotics and self-modification. Their ships look absolutely great, highly advanced, sleek hulls with manoeuvring fins and loads of guns in a broadside configuration. The official colour scheme is quite subdued with a bleached bone look to the hulls so I decided to go for something a little more exciting; bright orange with stripes. They already look quite fishlike so why not go the whole way and have a fleet of tropical fish in space? :D

Like the UCM I gave the launch bays an inkwash to depict light sources, green in the case of the PHR which can be seen on the ships in the top right. The PHR ships have lots of detail along the sides and the rear which were easy to pick out with a bright metallic base layer with a black inkwash. I love inkwashes, they work so well on highly detailed miniatures like these :) For the orange hulls I used masking tape to block off where the stripes would be and then painted the rest in the brightest orange I could find. As a finishing touch I put a layer of varnish over the hull to give it a reflective quality which I'm rather pleased with.

Well that's what's being keeping me occupied over the last month or so :) I've also been playing a few games of Dropfleet with family and being enjoying that too. Perhaps in future I'll find some people locally who are interested, fortunately I already have painted fleets which we can play with. There are loads of new models which have been released since the success of the kickstarter, including a whole new fifth faction so I'm likely to pick some of them up to paint sometime. Thanks for reading!

Monday, 28 February 2022

Part 2 of Insyrosept

Second part of Insyrosept, in which we are introduced to more of the crew in the run up to the space ship's launch, enjoy :D


Part 2


The crew of the Insyrosept spent ten real-time weeks running on the Oxbridge computing cluster. During this time they experienced one week of subjective time. Even with the world’s fourth most powerful supercomputer it was impossible to run a simulated mind faster than this. Not needing to sleep saved them some time but the classic slow-sim problem left them out of step with the outside world.


The week of experienced time was run mostly to make sure the crew had adapted to their new existence. There were tests to be made on how well a simulated mind could interact with the spacecraft’s system. With the proper assistant programs, a human mind at a tenth normal speed could handle orchestrating the entire spacecraft’s systems. In theory at least.


Practically however, Ivonne was finding that the emergency drills were much more difficult to deal with when everything could go wrong ten times as fast. Even though she had helped design them she complained to Kim that the sub programs he had provided were useless for the task at hand.


    “Did you fiddle with their workings while my back was turned?” she angrily said to him as they viewed the grim results of another containment breach simulation. 


    “They're so twitchy it’s like picking up a grain of sand with a toothpick!”


    “I can turn down the feedback sensitivity on the locomotion,” Kim replied. “but I think we're really going to have to add another layer of automation to the reactor controls.”

    “We both know that would never work, I've never seen a meltdown go down in the same way twice.”


    “Well if you help me with the agent settings-”


They continued like this for several more minutes, each one tired of the string of failed simulation runs. Fusion torch drives were marvellous pieces of technology but required quick, decisive action to stop a breach of the reactor from destroying the entire vessel. Ivonne had been piloting experimental space craft for years and was renowned for her ability to judge when a fusion drive was about to go critical. The debate they were having was mostly to protect her ego, both knew that there wasn't any way to get around their slowed down reaction times.


    “Fine then, have it your way,” Ivonne relented, “try distilling a lifetime of experience into just a few lines of code. If it messes up in even one test I want it scrapped.”


    “Of course. So, the same tests tomorrow?”


    “That long? You take too long to code these things Kim. Isn't there anyone else you could ask for help?”


    “Well James is no good, too busy trying to cram the 'sum total of human knowledge'  into the ship’s memory. I'd ask Claire but she's never outside her quarters.”

    “Oh yeah, our resident computer genius. Think she could come up with a way to make us run faster?”

    “Hey, be nice to her ok?” Kim replied as he exited the simulation space. “She seems awfully young to be on a trip like this and mock hero worship won't help.”


*


Claire Sinclair had been holed-up in her quarters for most of the crew's simulated existence. It was not a case of her being work-shy. The ship’s Doctor had been in constant correspondence with her as she reviewed the minutia of the crew's simulated body readouts. Claire felt very out of her depth discussing deviations of neuromuscular response with someone who had so much real world experience. Her research had always been about the mental side of simulated human experience. 

Sally, the ship’s psychiatrist, had been less stressful to talk with. Her queries were more about mental states the crew might experience. Claire had to be careful not to let too much computing jargon slip into her replies. Sally had not approved of her suggestion of rebooting from a backup mental state in the case of a crew member’s mental breakdown.

Tonight she had some free time as her meeting with the captain and the ship’s pilot had ended early. Both had been brief in asking about the potential simulation capacity of the spacecraft whilst in flight. The captain had seemed happy with her explanation of the number of minds supported at once being inversely proportional up to normal limits. He was nice, Clark the captain. The other man Lewis made her nervous with his stony expression. 

Claire was reclining in the soft lighting of her quarters, absent-mindedly manipulating the neural net hovering in the space above her. She had been meticulous in laying out her furniture in the same manner as she had back at her office at Oxbridge Computing department. An neat ordering of desks and terminals that she had refined over years of work. Other than the furniture the space of her quarters appeared empty with no visible walls or floor. She floated in the centre of her sphere of displays and holographic projections in a simulacrum of zero-gravity. Ever since she had visited low orbit Claire had longed to escape the Earth's gravity. Her simulated body might not have the dull joint aches her organic body had but the subconscious desire was still there. 

As she was panning around a particular fractal network design, there came a knock at the door. Or rather the sensation of what a knock would sound like if there was a door into her personal space. One promptly appeared hanging in the blackness, beyond Claire's circle of light. As the knocking came again, this time from the newly instantiated wooden door Claire connected to a visualisation of the corridor outside. The person standing there was a crew member she had seen at the initial group meeting but had not had any contact with since. According to the crew manifest she was Ivonne Blaskowicz; head of engineering.


    “Uh hello,” Claire projected into the corridor “can I be of help?”


    “Hi there,” Ivonne replied, startling her by looking straight at the default camera’s position at the top of the door “how about letting me in, got a question you might be able to help with.”


Somewhat flustered, Claire mumbled her assent and the doorway blinked open. Ivonne only hesitated for a moment on the threshold before confidently leaning into the zero-gravity of the interior and pushing off from the floor outside. 


    “Cool room.” Ivonne said as she floated forwards, “Didn't realise we could pick the interior decorations quite like this.”


Claire could do little but mutter as she orientated herself upright and scattered the various programs she had open back to non-existence. 


    “Coming through!” Ivonne exclaimed as she headed towards a desk piled with minimised files and folders.


    “Wait-” Claire squeaked, “you'll hit it!” sending the halt commands to Ivonne's simulated form.


    “Huh, weird.” Ivonne said as she slowed to a stop, hovering in empty space after accepting the simulation commands. “I did wonder how you managed to keep everything hovering like that.”


    “It’s, uh, just the same commands you, er, you could use to move in any simulated space.”


    “So I don't have to walk everywhere?” Ivonne's eyes lit up as she grinned. “Sweet.”


    “Well, um, only in environs without gravity, elsewhere you'll just locomote as normal,” Claire replied, “But you really don't have to be walking around inside a simulated space if you have teleport privileges...”


Ivonne was grinning ear to ear. “I knew the creator of all this would have all kinds of secrets to share. So what else do I have to learn?”


    “Oh no, I didn't create any of the simulation agent interface, that was around long before me. I hardly did anything except work off what had been done already.” Claire instinctively deflected the praise she felt was unearned. “Ah, I forgot. Do you want a seat?”


Flustered, Claire summoned an office chair into existence beside Ivonne.


    “Thanks, so can I sit by doing the same thing you did before?”


    “Oh, um yes. If you define it as your target and um...”


Ivonne floated down onto the chair, coming to rest as if she were still on the Earth's surface as her hair continued to drift in zero-g. Ivonne gave Claire her ‘best-friend’ smile as she began to speak:


    “I was hoping you would be able to help me with a small problem I've been having with reaction times as we are now-”


    “Oh you too?” Claire chimed in without thinking, “Lewis- I mean... It’s quite a common issue when operating machinery adapted to human response times.”


    “Anything you might be able to do, make us able to run faster perhaps?”


    “Oh no, no, no. A full human simulation puts definite limits on how fast it can- the barrier of Moore's law at subatomic scales- I can't do anything about all that. It’s just a fact of computing that any sufficiently complex process reaches limits of parallelisation and, and...”


    “That’s okay,” Ivonne replied, putting up her hand to stop Claire's rambling, “I was just wondering if there was a way to make snap judgements faster. You know, the way that a human being can react faster than thought due to muscle memory.”


    “Not really, well I guess...”


    “Oh?” Ivonne remarked leaning forwards.


    “I suppose if it were for only a very brief moment, less than a second. There is perhaps a way, I don't know for sure.”


Ivonne gently nudged her along, patiently returning Claire to the topic at hand when she got lost in thought. Together they planned out a method to give a simulated human much improved responses.


Half an hour later: 


    “It’s all down to balance right?” Claire reiterated, “So much of a human mind simulation is keeping the feedback loops inherent in the organic nervous system from going out of control. If the algorithms for calculating the stable equilibria of simulated brain chemical concentrations aren’t exact-”


    “It all collapses into noise in a matter of moments.” Ivonne finished, “But if you don't need a simulation to stick around for that long.”


    “Right, then you could get significant speedups due to using a cruder approximation. It'd be a kind of look ahead function of the simulated mind’s response."


    "So how hard would it be to set up such a thing?"


    "Well computer storage isn't really an issue, the changes to the whole crew's minds are recorded every thousand cycles with complete backups made every hundred thousand." Claire pondered for a moment, "I don't see why one of those snapshots couldn't be passed as input to a software assistant to act upon."


    "Brilliant Claire" Ivonne said, "I knew you'd be able to help"


Claire could only smile nervously at this compliment.


***


There are a lot of characters in this story so I did my best to bring across their personalities in their introductions. Writing their dialogue has been fun!


I've been busy with other projects over the past few weeks so it took a while to get this written up. I've still got lots more of the story to go but the next part is mostly just a rough outline and notes. It may take a while to write but I am determined to post all of it.


Thanks for reading and I'd be happy to answer any questions or hear your feedback :)



Friday, 11 February 2022

Part 1 of Insyrosept: a science fiction story

Last update to this blog was in 2017 which is, yikes 5 years ago. Things have been difficult since then for unhappy reasons. Regardless I always wanted to come back to blogging, one of the reasons being for the likes of this:


Insyrosept was a short story concept I wrote about for NaNoWriMo in 2015. It was unfinished but the first serious attempt I gave to writing a full short story. I never shared it with anyone since, yet it was a piece I was quite proud of. So here for the first time is Insyrosept, part 1 of 10(?)




Insyrosept

The journey to the stars

By Alex Mulkerrin


Part 1 Launch


    “-Continuing in the footsteps of the Daedalus probes of the 22nd century the LSA, along with cooperation from the rest of the solar system, will be launching a new mission in two months time. The Insyrosept, the largest near-FTL craft ever built, will be the first ever crewed mission to another star. The target, Alpha Centauri, has received renewed interest ever since the Daedalus flyby revealed that two of the inner planets had a-”


Pauline closed the stream, having lost interest in watching the Lunar cooking show now that she had been reminded of the upcoming life-changing event. Looking out of the apartment window she could see the evening sun shining through the Autumn leaves of the park outside. She had never been to Earth before, let alone London and had been taken aback by the urban sprawl intermingled with so much nature. It had none of the tidiness of Arboretums back on the moon and looked so different from most of the images of Earth you saw on TV.


Still thinking about how odd it was to be in an almost rural setting on the most heavily populated planet in the solar system she shifted herself to sitting upright and began writing about the corners of the Homeworld that seemed to be throwbacks to an earlier time. She had no interest in publishing this piece, content to unwind her train of thought as she browsed images of the rural British countryside on the net. Her professional writing had become rather single focused since the announcement of her acceptance, this was a way to take a break from that.


It was a relief when what she had come to think of as 'day 0' finally arrived. Travelling to the Oxbridge campuses she was invited into the Medical Imaging facility by Dr Erin Hirst. She escorted her to the changing room and ran through the imaging procedure with the same warm enthusiasm that she had shown on the guided tour only weeks before. Pauline liked Erin and was glad she got to talk with her as she lay down within the concentric metal rings of the scanner.

   

    "Now that you're comfortable let's start on the first questionnaire." Erin said brightly. 


    "I suppose you couldn't ask the same questions as last time could you?" Pauline replied.  


    "I could but it wouldn't be of much use then."    


    "Well at least I get to have a nap afterwards."


    "Now question one, oh I'm afraid we're starting with the numeric puzzles again-"


After half an hour of general knowledge questions on everything from language to Intersolar sports teams Pauline was already yawning before Erin had time to administer the sedative. She had tried to answer as many questions as she could but, like most 23rd century citizens, she really struggled on topics outside her own area of expertise when denied net access. Erin didn't mind when she ummed and ahhed over an answer saying that they were some of the most useful responses for this scan.


    "Right, that will make you nod off in a few moments. I'll be seeing you on the other side then."    

    

    "Whichever side that is." Pauline muttered in response before entering a dreamless sleep.


*


When Pauline awoke it was to find herself in a medical bed in an adjacent wing of the facility, autumnal sunlight streaming through the windows contrasting with the cool blues of the indoor lighting. As she sat up a projector next to the bed flickered on producing a full size hologram image of the doctor. Other than the smiling image of Erin the room was empty.

    

    "Good Evening Pauline, I hope you're feeling rested."

    

    "Yes thank you, I suppose we'll be right into more questions then?"

    "Nearly done now."


The second set of questions was much simpler, many concerning how Pauline was feeling and whether anything felt off. She jokingly replied once that the gravity was much too high but other than that she felt completely normal. Or as normal as someone could feel in such a situation.


Once she had reached the end of the questions. Erin closed her handheld terminal and beamed at Pauline.


    "All done now dear! Now all that is left for me to do is to properly welcome you to the crew of the Insyrosept." she exclaimed whilst extending a hand towards Pauline.


On instinct Pauline grasped the proffered hand, finding the hologram’s hand to be as solid and real as the doctor’s actual hand. She was too taken aback by the implications of Erin's statement to really notice.


    "So this means I'm the clone then?"


    "Oh don't sound so disappointed dear, this means that you get to be the one to go on a once-in-a-lifetime trip! Or should that be twice-in-a-lifetime?" Erin laughed.


Pauline got out of the bed with Erin stepping aside, the hologram now fully real in the hospital room. A thought struck her;


    "I wonder how the... other me is taking this." she wondered, having stopped herself from saying the 'real me'.


    "She took it rather well, I believe she is already writing up her experiences to publish."

    

    "Wait, so you didn't wake us at the same time?"

    "Sorry dear but even if we had the other you would have been long gone by now, what with the difference in perceived time for us."

    "Oh, of course." Pauline replied, "I hadn't thought of that. So does that mean that every minute we experience will be..."

    "Ten minutes to anyone else at the very least." Erin finished Pauline's comment.

    "How weird."

    "I think that is going to be the theme of this whole experience!" Erin exclaimed as she led Pauline out of the room to get changed. "Now let’s go and meet our fellow explorers."


'So I'm now a computer upload?' Pauline thought to herself as she was reintroduced to the other members of the crew. Part of her was relieved that she had crossed that point of no return and no longer had to worry in what form she would be waking up in. No doubt the other version of her was feeling that same relief tempered with quite a lot of disappointment. No, what was perturbing her thoughts was that she really didn't feel any different from how she had felt when she was flesh and blood. Somehow she had expected to experience an immediate sense of artificialness. Instead she might have never realised it if Erin hadn't told her.


Spirits were high in the conference room in which they had all gathered, all of them fresh off the operating table as it were. Most of them were experiencing the same existential surprise as Pauline was even if they weren't showing it. That was with a few exceptions.


    "Well of course I knew as soon as I woke up that I was a computer person now" Markus guffawed, "seeing as I woke up with twice as many arms as I went to sleep with!" Swinging the new limb about for all to see. "The missus would have such a shock to see me symmetrical like this"


Erin was busy chatting to the ship's psychiatrist, presumably comparing notes on how the procedures had gone, leaving Pauline to stand around. She smiled and nodded at some familiar faces but was content to leave the more gregarious members of the crew to socialise. Some of the people in this room she had only met when doing official interviews and was still anxious in their presence. One of these, mission commander Clark, made his way towards. the podium at the front of the room. Evidently she wasn't the only one keeping her eyes on the old man's movements as the conversation dissipated before he began to speak:


    "Good evening crew. Now that we are all assembled here I would like to welcome you once more to the Insyrosept mission. We have an exceptional duty ahead of us and I commend you all for accepting this responsibility." Clark calmly continued, giving an overview of the mission as a whole, voice somewhere between a politician and school teacher. "Now before we embark there will be a week of more trials and tests using the prototype spacecraft hardware-"


Pauline let her mind drift as he reiterated the planned actions for the flight crew and surface teams. As a non-LSA member she would be exempt from most of the pre-launch activity. Indeed she had previously had to haggle over how much contact she would get with the crew to interview them before they left. She knew that her reporting once the mission began would be at a much more infrequent rate so was determined to get as much done before they left planet-side as possible.


    "-On the 16th we will be transported to Lunar Two in order to board the Insyrosept. Once pre-flight checks have been completed the estimated launch time will be the 24th, with possible launch window extending to the 29th. I thank you for your attention and will be seeing you all tomorrow" Clark stepped down from the podium to a smattering of polite applause and left the conference room with the second in command in tow.


With the commander gone, various conversations continued for a while among the people who remained. Pauline politely declined Erin's offer to watch a match of zero-g tennis with her and her friends, acutely aware of the countdown displayed at the end of the room, showing how many hours were left in this simulated day. She wanted to have time to write down her thoughts before going to sleep. Regardless of the artificial nature of the coming rest she didn't like to go to bed with thoughts still on her mind.

 

Leaving the conference room she entered a shimmering portal to the copy of the space complex at Cape Canaveral. Checking her handheld terminal she navigated herself to her virtual room, amused at the thought of having to walk to get somewhere in simulated space. On entering her room she immediately sat down to start writing her very first article as a simulated person: The Life Silicon - Novel yet Familiar?.


***


Thanks so much for reading. I hope you enjoyed the story so far and I would love to answer any questions you might have :)


There will be many more parts of this to post so expect to see some activity around here again.


Until then; would you take the choice to become an artificial clone if it meant you could undertake a journey to the stars? What awaits the Insyrosept at the end of it's journey? :D