I love software rendering
Sharp pixels, gritty colour banding, and DOS games running at resolutions their own era couldn’t manage. Why I still prefer the software renderer, and why it needs a fast PC.
Topics /
The most popular blog posts about games & graphics on Hacker News. 193 posts.
Sharp pixels, gritty colour banding, and DOS games running at resolutions their own era couldn’t manage. Why I still prefer the software renderer, and why it needs a fast PC.
Babylonian Twins is an Amiga platformer I built in Baghdad in 1993, in 68000 assembly. This summer an LLM ported it to Godot, and this is what I found when I read back through what it did. The original disks are now free on itch.io.
Ok it’s not exactly $60 but you can get the board itself for that amount of money on eBay if you’re lucky, but on average the price is around $70-$100 (as of November 2025) which is still very cheap considering you can play Cyberpunk 2077 on this.
Modern kernel anti-cheat systems are, without exaggeration, among the most sophisticated pieces of software running on consumer Windows machines. They operate at the highest privilege level available to software, they intercept kernel callbacks that were designed for legitimate security products, they scan memory…
The demo scene has a peculiar view on copyright . It roughly boils down to a system of effort - effort in ideas, effort in craft - where the scene polices itself and punishes sceners that steal outright from other sceners. Theft from the outside world, however, is often taken lightly - especially when it comes to…
An in-depth analysis that explains how this console works internally
Stephen Brennan's personal website and blog.
On my Introduction to A* page I cover the basics of the A* graph search algorithm for finding shortest paths. Here’s an example from the town of Denerim in Dragon Age Origins. Try moving the start and goal to see A* in action:
Hundreds of hours, many late nights, and a working Game Boy emulator in F# with sound, running on desktop and web.
The home of Code & Visuals
I made a Game Boy Color game that renders images in real time. The player controls an orbiting light and spins an object.
When life gives you switches...
Let’s say you’re writing an image processing program. The program takes in an image, converts it to floating point, does some processing and finally saves the modified pixels to disk as 8-bit colors. The question today concerns how exactly the integer-to-float conversion should be done. There are two approaches which…
The graph, the viewer, and the verification tooling all live in the WeakC4 repository on GitHub .
A follow-up to this text is available here . It goes into much greater detail about signal quality, and also examines how pixel art techniques have been used on non-CRT systems.
Here are three true statements about the game of Slay the Spire 2 (in single player): If you pick Neow's Bones in the Underdocks, the random curse is ~54% likely to be Debt.* It is impossible to receive Rebound from the Trash Heap event. Your first fight is 76% likely to drop a potion in Underdocks, and 4% likely to…
The sad days of DOS. Any program could peek and poke the kernel, hook interrupts, write anywhere on disk. There was no safety.
Terrain rendering algorithm in less than 20 lines of code
Reverse engineering the traffic system from Pizza Tycoon (1994): how the original devs drove dozens of cars through a city with almost no CPU budget.
Not that long ago I became aware of Justine Tunney's cosmopolitan libc project. It's a toolkit that allows you to compile C source code into a single binary...
In this series of articles, I aim to demonstrate how OpenGL, Vulkan, Metal, and DirectX work by writing a simplified clone from scratch. Surprisingly, many people struggle with the initial hurdle of learning a 3D graphics API. To help with this, I have prepared a short series of lectures, after which my students are…
Have you ever noticed that the food graphics in Super Smash Bros. and Kirby Air Riders are flat “billboarded” stock images of food? This artistic decision from director Masahiro Sakurai has per...
Snowboard Kids 2 for the Nintendo 64 has reached 100% matching decompilation. A brief note on what that means, how we got here, and what comes next.
(This post is part of a series on the subject of my hobby project, which is recreating the C source code for the 1989 game F-15 Strike Eagle II by reverse engineering the original binaries.)
It turns out, you can attach an external GPU to a Raspberry Pi 5. So my natural first question is, can I game on it? Let’s try it out and compare it with some similar computers. Just a quick FTC required note: When you buy through my links, I may earn a commission. For the showdown of crappy gaming computers, we’ll…
I play Factorio the normal way: by writing matrix math code to plan the factory.
The original Snowboard Kids has been fully decompiled in only 84 days! In this post I delve into what changed and what lessons might apply to future projects.
Sorry for the clickbait title. I promise this post delivers: 44100 Hz stereo with near-Opus bitrates using about 4% of the N64’s CPU time.