Simon Willison’s Weblog

Subscribe
Atom feed for games

21 posts tagged “games”

2025

The Unexpected Effectiveness of One-Shot Decompilation with Claude (via) Chris Lewis decompiles N64 games. He wrote about this previously in Using Coding Agents to Decompile Nintendo 64 Games, describing his efforts to decompile Snowboard Kids 2 (released in 1999) using a "matching" process:

The matching decompilation process involves analysing the MIPS assembly, inferring its behaviour, and writing C that, when compiled with the same toolchain and settings, reproduces the exact code: same registers, delay slots, and instruction order. [...]

A good match is more than just C code that compiles to the right bytes. It should look like something an N64-era developer would plausibly have written: simple, idiomatic C control flow and sensible data structures.

Chris was getting some useful results from coding agents earlier on, but this new post describes how a switching to a new processing Claude Opus 4.5 and Claude Code has massively accelerated the project - as demonstrated started by this chart on the decomp.dev page for his project:

Chart showing progress in matching code for Snowboard Kids 2. It slowly climbs from 20% to 25% from 3rd September to 17th November, then rises quickly to 45% by 2nd December

Here's the prompt he was using.

The big productivity boost was unlocked by switching to use Claude Code in non-interactive mode and having it tackle the less complicated functions (aka the lowest hanging fruit) first. Here's the relevant code from the driving Bash script:

simplest_func=$(python3 tools/score_functions.py asm/nonmatchings/ 2>&1)
# ...
output=$(claude -p "decompile the function $simplest_func" 2>&1 | tee -a tools/vacuum.log)

score_functions.py uses some heuristics to decide which of the remaining un-matched functions look to be the least complex.

# 6th December 2025, 6:30 pm / games, ai, prompt-engineering, generative-ai, llms, ai-assisted-programming, coding-agents, claude-code

Stimulation Clicker (via) Neal Agarwal just created the worst webpage. It's extraordinary. All of the audio was created specially for this project, so absolutely listen in to the true crime podcast and other delightfully weird little details.

Works best on a laptop - on mobile I ran into some bugs.

# 6th January 2025, 11:31 pm / art, game-design, games

2021

The Digital Antiquarian: Sam and Max Hit the Road. Delightful history and retrospective review of 1993’s Sam and Max Hit the Road. I didn’t know Sam and Max happened because the independent comic’s creator worked for LucasArts and the duo had embedded themselves in LucasArts culture through their use in the internal educational materials prepared for SCUMM University.

# 17th July 2021, 3:12 am / game-design, games, history

2017

Game developer’s guide to graphical projections (with video game examples), Part 1: Introduction. Absolutely delightful series of illustrated essays by Matej ‘Retro’ Jan explaining how different graphical projections can be used for video game art. Each concept is illustrated by screenshots or gifs from a mixture of games spanning four decades. Reading this was a real treat.

# 28th December 2017, 1:07 am / art, game-design, games, pixelart

Return of the Obra Dinn: Dithering Process (via) Lucas Pope (creator of “Papers, Please”) has a new game under development: “Return of the Obra Dinn”, a first-person adventure mystery game set in 1807 that is spectacularly rendered in a 1-bit art style. He has a development diary on tigsource.com, and in this entry he describes the extreme lengths he has gone to in order to develop the best possible dithering implementation for rendering his 3D world in 1-bit colour. “It feels a little weird to put 100 hours into something that won’t be noticed by its absence.”

# 23rd November 2017, 9:21 pm / game-design, games

Dead End Thrills. Duncan Harris Is a photographer who works in the medium of video game screen captures.

# 12th October 2017, 2:23 am / games, photography

2014

Calendars: When posting a facebook event page for an event that is repeated on two dates, should you use one page or two? (The events are games that are identical and should not have overlapping players)

I would use separate pages. The most valuable part of a Facebook event page is being able to see who is going to that event (and hence which of your friends will be there). If there are two events on two separate days you want to be able to maintain two separate lists of attendees.

[... 97 words]

2013

What are some great board games to play for 3 or more people?

I suggest looking in to German-style board games. They tend to be quick to learn and extremely well balanced but with a great deal of strategic depth once you get in to them, and they also have running times in the order of 45 minutes to an hour and a half. They’re ideal for games nights, especially if you might be playing with people who think they don’t like board games.

[... 254 words]

What are good ideas and examples for event gamification?

Straight up points and badges style gamification seems a little contrived to me, but there’s definitely a lot to be said for activities that encourage delegates to meet new people.

[... 279 words]

2012

Are there guides for playing Minecraft on Mac laptops?

I play on a Mac laptop using the trackpad and ctrl+click for right clicking and that works absolutely fine. It’s worth fiddling with the keyboard commands in the options screen (as with any game) but I’ve found it to be perfectly playable otherwise.

[... 58 words]

What programming language is primarily used in the making of big budget console games?

C++ still rules the roost here, but many games also integrate a dynamic scripting language of some kind for scripting level logic and so on. Lua is a popular option for this.

[... 52 words]

2010

Tuning Canabalt. Fascinating insight in to the game parameter tuning needed to make a game feel just right.

# 13th October 2010, 8:32 am / game-design, games, recovered, canabalt

The Pac-Man Dossier. Exuberantly detailed. Everything from how collision detection works to the exact pathfinding and target selection algorithms used by the four different ghosts. There’s even a tutorial for playing the legendary 256th level, where an overflow bug corrupts one half of the screen.

# 11th August 2010, 11:20 am / game-design, games, recovered, pacman

Werewolf: How a parlour game became a tech phenomenon. The legendary “everyone’s a villager” game from Foo Camp ’08 gets a write-up in Wired.

# 17th February 2010, 5:30 pm / foocamp, games, werewolf, wired

2008

Just One More Grim Thing (via) Tim Schafer releases 72 pages of design documentation for Grim Fandango, my all-time favourite computer game.

Update 18th Feb 2025: That blog entry is no longer available, but Gameshelf preserved a copy of the PDF.

# 6th November 2008, 7:51 pm / game-design, games, grim-fandango, tim-schafer

GiantBomb.com. Launched today, powered by Django—a combination of (mostly ex-Gamespot) quality editorial content and a massive structured wiki of every computer game ever released. This is going to be a lot of fun—all of the crazy detailed content that Wikipedia tends to reject.

# 22nd July 2008, 7:09 am / django, games, giantbomb, wiki, wikipedia

Walk, Don’t Run (via) A retrospective look at Grim Fandango (possibly my favourite game of all time) and the fan community that are keeping it alive, nearly a decade after it was first released.

# 25th May 2008, 2:04 pm / game-design, games, grim-fandango, theescapist

Core Techniques and Algorithms in Game Programming. Scarily detailed online book on games programming, including 2D and 3D graphics, AI, multiplayer network code, indoor and outdoor rendering, character animation and much more. UPDATE: Removed the original link, which appeared to be a pirated copy.

# 1st May 2008, 12:26 am / algorithms, game-design, games, programming

2007

Musical hackery. Indescribably clever musical video game creation, where images from classic games spell out their own theme tunes. The smartest thing I’ve seen on YouTube, well, ever.

# 22nd November 2007, 5:03 pm / games, genius, hack, music, youtube

Weewar (Nat v.s. me). Really impressive turn based strategy game, implemented entirely in the browser. Surprisingly addictive; you have been warned.

# 20th November 2007, 11:52 pm / games, javascript, weewar

Team Fortress 2. I gave this a go today for old time’s sake. Nine years in development and all they could come up with was TFC without the grenades?

# 23rd September 2007, 10:33 pm / games, onlinegaming, teamfortress2, teamfortressclassic, tf2, tfc, valve