Ultima IV
There’s lots of somethings to be said for sheer audacity in art, for a willingness to stick your neck out and give your audience something they never, ever expected from you. I think sometimes about how the first folks who listened to Revolver must have felt when the erstwhile cuddly Fab Four unleashed the…
Speed memory access by arranging data to take advantage of CPU caching
We’ve been lied to. They keep showing us charts where CPU speed goes up and up every year as if Moore’s Law isn’t just a historical observation but some kind of divine right. Without lifting a finger, we software folks watch our programs magically accelerate just by virtue of new hardware.
Intrusive lists in Doom 3
Doom 3 was released in 2004, which I can't believe was a decade ago. Great game, atmospheric and scary, and a worthy successor of the first two games in the series. Several years after the initial release, in 2011, Doom 3's source code was published on Github. It can be fun to poke around the repository to learn how…
Dissecting the 128-byte raycaster
Lately a Reddit post caught my attention which is about a raycaster demo, animated, with mouse control and texture mapping, in only 128 byt...
Fixing E.T. The Extra-Terrestrial for the Atari 2600
If you're reading this page, chances are that you're already well aware that E.T. for the Atari 2600 is one of the most reviled games ever made. I never understood why. As a child, it was one of my favorite games. I still think it's a good game. Apparently , I'm not alone .
Virtual reality affects men and women differently
Last week, I wrote a provocative opinion piece for Quartz called “Is the Oculus Rift sexist?” I’m reposting it on my blog for posterity, but also because I want to address some of the critiques that I received. First, the piece itself:
Fun with Lisp: Programming the NES (2012)
"Low-level programming is good for the programmer's soul." -John Carmack When the complexity of modern computing gets fatiguing, I look back to the simpler machines of my childhood. I grew up surrounded by various 8-bit and 16-bit machines (most of them already a few years outdated at the time),…
Working on The Witness, Part 1 (2012)
Mapping the walkable surfaces on the island of The Witness as a step toward bulletproofing the player movement code.
Ten Years of World of Warcraft
WoW has always been a contradiction of sorts: not the pioneer, but the one that solidified the pattern. Not the experimenter, but the one that reaped the rewards. Not the innovator, but the one that was well-designed, built solidly, and made appealing. It was the MMO that took what has always been there, and delivered…
The Indie Bubble Is Popping
Writing this article really stressed me out. I reworked it over a dozen times. To calm down a little, I will intersperse this with image t...
The Internet Arcade
When work began on JSMESS a couple years ago, I knew that it was probably somewhat easy to do all this conversion work for MAME (the arcade side) as it was for MESS (the computer and console side).…
Hacking Hearthstone with machine learning – Defcon talk wrap-up
A wrap-up of my Defcon talk about hacking Hearthstone with machine learning including slides and a video.
Building a F1 race simulator
One of the most fascinating aspects of modern Formula 1 is the use of computer simulations to predict car performances and race strategies. By the early 1990s, teams like Benetton had begun to deve…
Butchering HQX pixel art scaling filters
The HQX filters , namely hq2x, hq3x and hq4x, are well-known pixel art scalers. They are mainly used by old console (such as NES) emulators to provide a smooth rendering of the games. It was developed around 2003 by Maxim Stepin.
Reverse Engineering Strike Commander
Back in the early 90s, one company was on the bleeding edge of PC gaming: Origin Systems . Their motto was "We Create Worlds" and boy did they deliver: With the Ultima series, Crusader series and Wing Commander series, they consistently took gamer's breath away. One of them took four years and more than a million man…
Doom on ZPU
The last few days I spend some time on porting the beloved game DOOM to the ZPU CPU. For you who don't know what I am talking about, DOOM wa...
The Financial Future of Game Developers
To go back a ways, back in 2006 I suggested that you could look at the winding path a piece of media takes to the public in this way:
The Computer Graphics Library
Back in the 90s, one book was ubiquitous in the world of Computer Graphics. Commonly called "The CG Bible", Computer Graphics: Principles and Practice gathered a huge part of the knowledge of the time. It was commonly referenced by the best programmers of that era in interviews and articles . By 1998, the book…
Each New Boot a Miracle – DOSBOX in the Browser
This week, we got the emulation of MS-DOS programs (mostly) working on the Internet Archive. Up to now, every single emulated system has been via the JSMESS project, which supports well over 600 sy…
Working on The Witness: The Nebraska Problem
The search for a “random” distribution with the most favorable qualities for ground cover.