Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Masters of Doom is a great book on the history of id software, which includes the origins of the development of smooth scrolling by Carmack and Romero, which was groundbreaking at the time on PC.


Fun fact for C64 guys:

The underlying mechanics of Carmack's technique is very similar to the full screen smooth scrolling effect on C64 at any speed and distance. It is nowadays referred to as DMA delay.

ELIF: You trick the CPU to display screen data at a different starting point than as designed by the hardware. This is tricky and need to be executed cycle exact.

Here is the explanation in detail together with all major top notch effects. The article is a legend and kind of the bible of doing the most sophisticated effects on C64. Some effects have since then even more and better explained and exploited due to cross platform development possibilities and better tooling, but understanding all mechanics here is a necessity to play a role in the Champions League of C64 demos, besides and also being able to implement the techniques mentioned here: https://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt


> ELIF: You trick the CPU to display screen data at a different starting point than as designed by the hardware. This is tricky and need to be executed cycle exact.

heh, is there a new meaning for ELIF? im not sure that there are many 5 year olds who would understand that ;-)


ELI5: explain like I'm five,

ELIF: explain like I'm forty.


explain like i'm fifteen, surely (:


Fifty? Fungified? Faded? Fading? Foreign? Fabulous? Explain like I'm face-palming/fainting?


F is 15 in hex :)


To clarify, it does not need to be executed cycle exact on the IBM PC, only on the C64.


I was going to say, smooth scrolling is one place where VGA was fairly simple to work with, since it didn’t have to deal with chunky graphics/bitplanes or specific timing tricks.

In fact, Carmack specifically states that packed pixels were the impetus for id’s side scrolling experiments that led to Commander Keen and its ilk.


It should be noted that John Romero released his own book, Doom Guy, a few years ago which contradicts some of the accounts in Masters of Doom. MoD is probably the more thrilling read and I enjoyed both books, but some of the stories need to be taken with a grain of salt.

I also think Doom Guy is worth a read because it gives a lot more insight into what happened at Ion Storm and how the Daikatana project fell apart. And some important context about the infamous "John Romero's about to make you his bitch" ad (mainly that he really didn't want to publish it at all). But I digress.


I would recommend the audiobook - John Romero actually reads it so it seems a lot more personal.

I did feel that Romero skipped a load of stuff, at least int he audio version. There was no real mention of Stevie Case, just one passing name check. That was really odd. I was expecting him to at least mention her.

I've also both read and listened to Masters of Doom (read by Wil Wheaton no less) and it is a great book too. The audio version is really good.


Yeah that's confirmed in Masters of Doom as well - sounds like Romero was a bit hesitant about it but Mike Wilson, the marketing guy, pushed him into it.


Ah I couldn't remember if that was only confirmed in Doom Guy. Regardless, it's still worth a read.


One thing I was sus from the book and which this post didn't clarify for me was whether Carmack truly invented side scrolling for the PC. He claimed to have done so, and even pitched it to Nintendo for a Mario port that never took off.

Also, the idea that it hadn't been done yet by 1990, when consoles were well in the game, suggests the PC market was behind popular gaming in a big way.


The consoles at the time had dedicated sprite video RAM and hardware and dedicated hardware instructions for background scrolling. The NES for instance had up to 64 sprites (independently moving 16x16 or 32x32 pixel images) supporting up to 8 of those sprites per scanline. The NES background layer was a relatively simple tile map that supported smooth scrolling. All of which was managed by a dedicated hardware Picture Processing Unit [1].

PCs were designed to be general hardware and it didn't seem to make sense to create a generic "PPU" for the PC, so instead game engines at the time (and many game engines to this day) had to emulate one entirely in software. The video RAM of EGA and VGA is just one big blob of pixels, or perhaps two if your system supported double-buffering. At the hardware level it doesn't have concepts like sprites or scrolling backgrounds.

Carmack was one of the first (if not the first; Commander Keen was also among the first commercially successful attempts) to get a software "PPU" renderer on the PC working reliably in real time. Another notable achievement for side scrollers on the PC in that era was Cliff Bleszinski managing to software render the parallax effects similar to Sega's "Blast processor" PPU (notable for "gotta go fast" Sonic games) for Jazz Jackrabbit (in 1994).

It has sort of long been the arc of PC development of eventually doing entirely in software what consoles and arcades were doing with dedicated and/or one-off hardware. (Right up until about the invention of the modern GPU when suddenly the PC was leading graphics hardware in a different way.)

[1] https://www.nesdev.org/wiki/PPU


Jazz Jackrabbit was coded by Arjan Brussee (from Ultra Force demo group). Cliff Bleszinski did the design.


I've been following the Japanese early gaming scene, which had a lot of parallels to the west. They had NEC PCs running DOS, and there were a lot of games for the systems. Some of them had smooth scrolling. Did they come later? Did they copy ID Software's approach?




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: