Home

Articles

2023

Rendering a Billion Stars? - 2023-10-06

Skyboxes have limitations. They have a finite number of pixels. The further you zoom in, the bigger those pixels get. So what do you do if you're making a space game and want a telescope? Stars should be small both when zoomed in an...

2021

Gametoy: A shadertoy-alike for making games - 2021-07-23

Making games is fun. Well, it's fun when you aren't fighting asset loaders, wondering why Godot renders so slowly on Android and the million other problems that come with game engines. This is why I enjoy making games in shadertoy. It'...

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...