2024

Well that's easy, isn't it? You just learn and use a CAD package. Surely? Yep, but what about when you want parts other people can make? Or if you haven't bothered to calibrate your machine, etc. etc.
2023

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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