New

The latest blog posts to take off on Hacker News. 2,047 posts.

Games & Graphics
Any year
396

Portals and Quake

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.

400

Spline Distance Fields

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…

406

I wrote a Game Boy Advance game in Zig

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…

408

Penrose Mazes (2020)

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…

412

Lou's Pseudo 3D Page (2013)

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…

420

How to print your Guild Wars 2 character

2025 update v2: I made a tool that fixes distortions introduced by Intel GPA, and that tool made few sections of this blog obsolete. As such, they’ve been deleted. Old version is still available here.2025 update. This blog post now also exists as a youtube video. Yes, the video is 1 hour 20, so about twice as long as…