Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Another game from the same era: https://cosmodoc.org/
  • I was almost tricked into thinking this was a new Fabien Sanglard book and got excited
  • Sorry for the "asking for more"-style comment, but it would be amazing if this came in epub and not just PDF.
  • Given its open source in latex format, it should be pretty easy to render it in any format that isn’t asking for significant decision-making on how to structure and format it.

    Ie. Rendering to PDF or HTML would be pretty straightforward. Rendering to video, audio, or as a chocolate bar would require more authorship. Would epub be much more work?

  • [I Am Error: The Nintendo Family Computer / Entertainment System Platform | Books Gateway | MIT Press](https://direct.mit.edu/books/monograph/4054/I-Am-ErrorThe-Ni...)
  • Would love to hear about the other Apogee and Epic games, like Epic Pinball, Tyrain, Halloween Harry, Jill of the Jungle, Duke Nukem...
  • > Tyrain

    ... Well, we do at least have OpenTyrian... (Edited to add; And OpenTyrian2000)

    > Epic Pinball

    Best I can find for Epic Pinball is an old thread on Pinball Fantasies [0] but I think it almost counts cause there was shared dev work between the two...

    > Halloween Harry

    TBH that one would be fairly interesting, especially compared to Duke Nukem 2 (Part of me thinks they might be similar/same engine)

    > Jill of the Jungle

    That one honestly WOULD be a fun one to look at... Best I can find is Xargon [1] but part of me always got a vibe that Xargon was some semi-upgraded Jill engine...

    > Duke Nukem

    TBH Duke Nukem '1' would not be that exciting to me. AFAIR it's mostly an adapted CK1-3 engine, letter-boxed with status window to make it easier to calc the redraw.

    Duke Nukem 2, is far more interesting since it's a different, more powerful engine (VGA, digital audio support, but AFAIR only required a 286).

    [0] - https://news.ycombinator.com/item?id=28667945

    [1] - https://github.com/dos-games/vanilla-xargon

  • Great write up. Reminds me of Cosmodoc, which is similar source but analyzes Cosmo’s Cosmic Adventure instead of Commander Keen.

    https://cosmodoc.org

  • Of related interest:

    Reconstructed Commander Keen 1-3 Source Code

    https://pckf.com/viewtopic.php?t=18248 (https://news.ycombinator.com/item?id=46321982)

  • Someone ping Fabien Sanglard! Looks so much like his site!
  • And his site looks like another thousand, as I'm sure he knows.

    We consume his site for the content, not for the minimalistic design that exist since the inception of the universe.

    by bel8
  • Wow I assumed it was one of his books before I saw your comment. Thanks for pointing that out!
  • Author's note from the book:

    "...I discovered Fabien Sanglard’s website and began reading his Game Engine Black Books on Wolfenstein 3D and Doom. Inspired by those works, I wondered whether I could do something similar for Commander Keen: open up the source code, explore the files, and piece together a picture of the overall architecture and the clever tricks used. The style, dimensions, and structure of this book are intentionally similar to Fabien’s Game Engine Black Books, as an homage to those masterpieces. To give it a personal twist, I inverted the title and cover to white."

  • If you want to play it you can do that here: https://www.playdosgames.com/play/commander-keen-4
  • Lovely book. Skimming through it. One thing that might help contextualize it is a brief discussion of the how contemporary hardware like the SNES rendered sprites so efficiently compared to the PC hardware at the time. It's not obvious to modern readers why a PC with significantly more powerful compute capabilities would struggle to keep up with significantly slower Nintendo hardware at the time for sprite rendering.
  • the Gameboy, not the SNES, but this talk is very very good at going in detail about a bunch of internals. The graphics stuff is 29 minutes in but I love the whole video. Very much a high level guide to building a "retro-y" fantasy console for people into that stuff

    https://youtu.be/HyzD8pNlpwI?t=1759

    by rtpg
  • These videos do an excellent job at explaining how the SNES works:

    https://www.youtube.com/playlist?list=PLHQ0utQyFw5KCcj1ljIhE...

  • It's basically a case of hardware acceleration. Most games consoles and fancier micros have some of dedicated graphics chip that handles the heavy lifting of generating graphics. So for basic game graphics the CPU largely acts as a manager adjusting things like tilemaps and their viewport offsets, and sprite locations (possibly updating things several times mid frame, for fancier effects). The exact setup differs between systems, tilemaps and spites like the SNES is common, though you also have setups with some sort of framebuffer and a Blitter to speed up drawing to it instead.

    A traditional IBM PC has a "dumb" framebuffer, where everything is done by the PC. Simply scrolling the background by 1 pixel basically means redrawing a lot of the screen, and you have to keep track of what graphics behind sprite would need to be redrawn after they move etc. As a bonus, on early consumer level 386 and 486 machines you have a mighty processor, but the graphics card is often still on a 16 bit 8MHz(ish) ISA bus. The PC does have an advantage that it's more flexible, so stuff like 3D was easier to do than on a tile-and-sprite setup (especially once we had stuff like VESA and PCI).

  • >It's not obvious to modern readers why a PC with significantly more powerful compute capabilities would struggle to keep up with significantly slower Nintendo hardware at the time for sprite rendering.

    To put it briefly, 4th generation and earlier games consoles saved on expensive RAM by not having frame buffers [0]. The CPU wrote a description of how to construct the scene using tiles and sprites to a smaller video ram, then dedicated video hardware converted this to the video signal one line at a time. The whole frame gets rendered from scratch every video refresh, so there's no need for tricks like Commander Keen's adaptive tile refresh. Scrolling at 60 fps (or 50 fps for PAL hardware) is as cheap as changing a single value in video memory. It's like the famous "racing the beam" of the Atari 2600, except less flexible and done by dedicated hardware so you don't tie up the CPU.

    On the PC, the CPU writes the actual graphics to a frame buffer, then the graphics card outputs the contents of the frame buffer as the video signal. The naive approach to scrolling requires rewriting the entire frame buffer, so tricks to avoid redundant writes are highly beneficial.

    [0] Except for the Atari Lynx, which was a portable system with a screen resolution of only 160×102. I can't think of any other exceptions, but maybe there are more.

    by mrob
  • 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.
  • 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?
  • 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.

  • 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.

    by hbn
  • 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

  • It's a shame that the author both erased their own writing style using ChatGPT, and wholesale copied sections of the content from another author.

    https://news.ycombinator.com/item?id=48550425

  • It looks like a complete rip-off. Both the design of the website and the book cover.
    by torh