Blog

My Blog contains generally shorter, diary-style posts.

There are a few longer, more in-depth posts filed under Articles.

NumPy Is Magic: NES CHR Conversion
Optimizing NumToString
Dear Retro Community, Stop Writing Tools in C
Review: Alkaline
Wordle and Dictionary Compression
Adventure Game Engine Design, Part 1
HyperCard Adventures
9 Reasons Why Nintendo 64 Homebrew Projects Fail
Apt Keys
Website Tagging with Open Graph
Review: Arcane Dimensions
My Cursed Website
Updating an Old Macintosh Application
Setting Up Classic Macintosh Hardware
Creating a Classic Mac Application
Nintendo 64 Part 24: Quick ’n’ Dirty Collisions
Nintendo 64 Part 23: Animations
Nintendo 64 Part 22: Real Models
Nintendo 64 Part 21: GP-Relative Addressing
Nintendo 64 Part 20: TMEM Format and Mip Maps
Nintendo 64 Part 19: Developing for Multiple Regions
Nintendo 64 Part 18: Normals and Lighting
Monads Are the Foundation; Purity Is the Bedrock
Nintendo 64 Part 17: Loading Models
Nintendo 64 Part 16: Z Buffering
Nintendo 64 Part 15: A Spinning Cube
Nintendo 64 Part 14B: Streaming Music
Nintendo 64 Part 14: Streaming Audio
Nintendo 64 Part 13: Basic Audio
Nintendo 64 Part 12: Why Even Bother?
Nintendo 64 Part 11: Scheduling RCP Tasks
Nintendo 64 Part 10: Animation, Controller Input, and Crash Screens
Nintendo 64 Part 9: Fonts and Drawing Text
Nintendo 64 Part 8: Files and Filesystems
Nintendo 64 Part 7: Drawing Sprites
Nintendo 64 Part 6: Hardware Acceleration
Nintendo 64 Part 5: My Own Code
Nintendo 64 Part 4: Emulation and Hardware
Nintendo 64 Part 3: Building a Sample Program
Nintendo 64 Part 2: What Is a Bootloader?
Nintendo 64 Part 1: Land of Pain
Star Traveler Postmortem
NES Development Day 1: Creating a ROM
Trying, Trying, Trying
So, I Got It This Time
Progress Report… and Combat Simulations
Totally In
Visualizing Gameplay with D3.js and SQL
Chaos Tomb Post-Mortem
After We Saved the World: Post-Mortem
Mini LD #57 — Reversed
Ludum Dare #31 Episode 5
Ludum Dare #31 Episode 4
Ludum Dare #31 Episode 3
Ludum Dare #31 Episode 2
Ludum Dare #31 Episode 1
Five Weird Games
I Dream of Post-Mortems
Base Code Declaration
LD26 Top Eleven
Analytics and Post-Mortem
You Had One Job, Hero. One Job.
The Water Shrine
Video Walkthrough!
First Fifty, Let’s Talk About the Theme
Digital Generation Post-Mortem
Phase 2 Is Almost Complete!
Progress
I’m in, and I Have Music
Shall we vote?
I'm in, et cetera
Gems of LD #22
Lonely Star
My Hands Hurt…
I’m In… and, Code.