Home

Articles

2021

A practical use for hotel infinity - 2021-07-06

You probably know of hotel infinity - a hotel with infinitely many rooms, but also with infinitely many guests. A new guest arrives, how do you fit them in? The solution is to move all the existing guests down by one, so room 0 is empt...

Control of Modular Spacecraft - 2021-05-18

For a game I'm working on I want players (and AI) to be able to control modular spacecraft. By this I mean that I need to go from a desired control input (move forward) to a set of thruster outputs.

Electricity Shield Shader - 2021-05-06

Last weekend I made a shader for a Godot shader/effects challenge. The theme was electricity, so I made an electric-shield effect. It's a pretty cool application of some noise combination techniques, so I thought I'd walk through ho...

Addressed pub/sub architecture - 2021-04-15

I've used the publisher-subscriber design architecture in a bunch of projects including robots and computer games. And while it works well, there are some limitations that I find annoying. So solve some of these problems, I've thought ...

2018

Terrain in "To The Surface" - 2018-05-19

To The Surface is an exploration game, and as such it requires a large map to explore. In order to create the map within the two-week timeframe, I had to create a novel map editor and use several automated tools.

2017

Don't use XOR's for Neural Networks - 2017-12-29

A little while back I had the idea to build a neural network that operated using only binary nodes, using XORs as the node's transfer function, and changing the neural layout rather than changing the weightings. Well, I tried it and it...

An Exploration in Quine's - 2017-05-08

A quine is a self-replicating program. When run, it produces it's own source code. If you want to know more, see the wikipedia page on them.
In python, the most basic one is a "cheat" quine: read the file of the source code and p...

A Simple Python Game - 2017-03-17

I was helping out Quazipseudo with Geodesic Chess, and he's been learning to program. Very wisely, he said: "Since I learn from doing, trial and error, much more quickly than from reading, I'd like you to walk me through writing a s...

The Web - 2017-02-13

I was at a library today and happened across the Linux Magazine (Dec 2015) version. It's feature article is about the change from HTTP1.1 to HTTP2.

2016

Teaching Software - 2016-11-03

Software is a cool field. You can program a computer to do lots of things, and I find it a very enjoyable activity. I learned to program a long time before I went through some university courses on the subject, and found that there was...

Remove Lighting From Photos - 2016-11-02

In a computer game, the lighting is computed in real-time by the game engine. In the real world, where we take photos to use as a basis for textures, lighting comes as part of the photo. The first step is to make sure that your photos ...

Lessons from CaveX16 - 2016-07-16

CaveX16 was a game I worked on for BGMC16, for more details, have a look at the page for it. Some things I did while working on this game were a great idea, and other things I would do differen...

Infinite Map Generation - 2016-02-14

Procedural map generation is amazing. It allows a person to generate an infinite number of maps that are similar, but without requiring much manual work beyond tweaking the algorithm.

2013

Sustainablilty? - 2013-11-23

These days everything is about sustainibility. In politics they talk about it a lot, but never ever acomplish anything.
Let's try to look at this from a scientific point of view. What is sustainability? Pretty much it's using only...

Teaching, Learning and Motivation - 2013-09-25

Most people in the western world go through some sort of schooling at some stage, be it at a public school, homeschooling or a few other methods. I finished school last year, and was trying to think about what could be improved with ho...