Generating an infinite world with the Wave Function Collapse algorithm
Generating an infinite world with the Wave Function Collapse algorithm - Personal blog about game development, programming and making
The latest blog posts to take off on Hacker News. 2,925 posts.
Generating an infinite world with the Wave Function Collapse algorithm - Personal blog about game development, programming and making
Happy New Year everyone! Just three hours into 2025, I received an email from Google Play Support with the following subject line: Action Required: Your app is not compliant with Google Play Policies (Luck be a Landlord) Nothing has changed with Luck be a Landlord in the past few months,
If you're into retro computing, you probably know about Oregon Trail; a simulation of the hardships faced by a group of colonists in 1848 as they travel by covered wagon from Independence Missouri to the Willamette Valley in Oregon. The game was wildly successful in the US education market, with the various editions…
Here’s a breakdown of my year in game dev, the challenges I faced, and the key takeaways that’ll shape my 2025 projects.
When I was analysing the structures of CYOA works a few years back, I began to recognise some strong recurring design patterns. I came up with some home-brewed terminology, but didn’t ever la…
The Mac Mini G4 promises to be compatible with almost every Macintosh software released until the early 2000s. This article explains why and puts the machine to the test.
Ever wanted to know how exactly did Quake’s precomputed visibility work? I did, so I wrote vis.py , a reimplementation of their algorithm in Python. This guide has all the information you need to understand vis , the tool used by Quake, Half-Life and Source Engine games.
Like a lot of boys, I grew up loving trains. And like a lot of men, I retain my fascination for them today.
I wrote a (list of) regular expressions that will play a (not very good) chess game by running a 2-ply minimax search.
tl;dr: pl_synth is a tiny music synthesizer for C & JS and an editor (“tracker”) to create instruments and arrangements.
Earlier this year I decided to put my main project Tangerine on hold indefinitely and began prototyping a new renderer in an unfamiliar language using a totally new graphics API with the goal of overcoming all of Tangerine's technical shortcomings. The new renderer is an eccentric CPU ray tracer called Star Machine…
a bunch of weird and random technical stuff
🖍️ Explaining multiple techniques for rendering outlines and highlights for real-time applications. This includes vertex object-space as well as screen-space methods. This can be used to render outlines in Unity or Unreal. Outlines can be used for gameplay reasons or aesthetics.
Perturbation and rescaling for efficient rendering of fractal images.
Chess, card games, and Lua.
The Game Boy Advance is an interesting game console. It has a modern-style CPU (32-bit ARM, lots of registers), but uses an old-fashioned tile based renderer like how the NES did it in the 80s. Don’t get me wrong, since its one of Nintendo’s last tile-based systems, they took the idea as far as it can go with fancy…
Mixbox is a new blending method for natural color mixing. It produces saturated gradients with hue shifts and natural secondary colors during blending. Yellow and blue make green.
While looking for ways to activate the developer menus left over in Animal Crossing, including the NES emulator game selection menu, I found an interesting feature that exists in the original game that was always active, but never used by Nintendo. In addition to the NES/Famicom games that can be obtained in-game, it…
Mazes are typically constructed on regular grids: square, triangular, hexagonal, etc. But what if you generate a maze on top of a Penrose tiling, which is guaranteed to be irregular? (It is an aperiodic tiling .) The resulting mazes have a very characteristic appearance: they are filled with circles and stars, but the…
I built a Factorio belt balancer solver. From tiny 2x2 grids to a massive 16x16 monster, every step revealed new solver tricks, numeric hiccups, and devious debugging puzzles.
In July 2023 I was reminiscing about a thing of the past, large-scale public LAN parties. I remember them being a semiregular occurrence around Tasmania, only attending a couple in my young age before they disappeared. I wondered if I could find some photos of these events to help the memories come back clearer. After…
Previous update: An explanation of 3d projection mathematics (under Road Basics) and analysis of Activision's Enduro (under Case Studies)! Thanks to everyone for all the e-mail! Keep it coming :) Sorry, I can't answer questions about when I'll post source code, but I'm always happy to answer anything else about these…
Solving AoC on the DS with Rust.
Our leading video generation model
Sega Channel was a games-on-demand service that gave cable subscribers access to a library of around 50 Sega Genesis games per month in exchange for a monthly fee (typically $10-$15/month depending on the cable provider). It operated between June 1994 (with a nationwide rollout in December 1994) and June 1998. Cable…
Valve's Steam Link now runs on Raspberry Pi 5 – excellent news for PC game fans who don't want to a lug a PC everywhere.