• 0 Posts
  • 437 Comments
Joined 2 years ago
cake
Cake day: August 27th, 2023

help-circle
  • Dook Nookim has been pushing it even further, to run on 286 and even 8086 machines. And monochrome fixed-font MDA graphics. And Amiga 500.

    Personally, having utterly failed to get the game running on IBM 5150, I can attest this is all high witchcraft. If only to unfuck Open Watcom’s cross-platform compiler flags.

    During development, DOS I/Os were written by id Software. This became the commercial release of DOOM. But that version could not be open sourced in 1997 because it relied on a proprietary sound library called DMX.

    If I had a nickel for every time open-sourcing a Doom sequel’s audio code caused legal headaches, I would have two nickels.












  • Because it’s traumatic imagery being shoved in people’s faces. I don’t give a shit whether it works.

    I already don’t smoke and never will - but I have to be exposed to that shit, just looking at the wrong part of a shelf. You could probably put pictures of exploded rat carcasses and starving children on there, apropos of nothing, and yeah no kidding it’ll impact sales!

    No practical goal justifies putting this Rotten.com gore and shock content on commodity consumer goods. You wanna reduce sales? Tax it more. Don’t commit psychological warfare against anyone who glances upward at a gas station.






  • I wrote the only first-person shooter on NES.

    I can wholeheartedly recommend C for 8-bit platforms, endorse 6502 assembly as brilliant and rewarding, and tell anyone new to retro game dev to pick any other system besides the NES. It’s a fucking nightmare. VRAM is only accessible during vblank and will jank up your screen if you try doing too much per frame. The sound chip will eat inputs if you try doing sample playback. Splitscreen of any kind is nightmarish without a mapper chip. Everything has errata - VRAM reads will return junk once per frame, because go fuck yourself. Every color that’s not blue is ugly, anything saturated has “dot crawl,” and the palette grid is a bitbanging headache that only gets hidden by CRT overscan.

    None of this is aided by cc65 being a jumped-up assembler macro. It is instant. It’s the fastest goddamn compiler I’ve ever used. But some C will generate absolute dogshit assembly, for reasons inscrutable to mortal men. There’s documentation - it’s wrong. It tells you how to put variables in zero-page and it’s lying. There’s a fastcall convention that still shoves registers onto the stack. There’s no sane way to place things at specific memory addresses, or even page-align arrays, which you’d think might be kinda fucking important for a compiler suite that supports one architecture. But I really cannot overstress how stupidly fast it is, to where checking any of this bullshit by modifying and rebuilding is quicker than any debugger.

    So.

    Uh.

    If this setup eases any of that - great. Otherwise start with a Game Boy game and GBDK.



  • What’s right is right no matter who says it. I don’t need to use Python to say I hate that Python has load-bearing whitespace. That’s part of why I don’t use Python. And if some Python diehard says Javascript both sucks and blows, I’ll probably agree with them, because I use that shit and it’s awful.

    Every programming language is awful.

    Programming is awful.

    It’s the intersection of pure untouchable mathematics and hard grinding engineering, as expressed through plain text. You have to be broken in a specific way to wrap your head around this nonsense. That’s why we’re all the same kind of snark-filled dork. It’s why Basic and visual scripting never catch on as intended - they’re beautifully simple, but normal people Do Not Get It, and anyone who does get it would be equally at-home with a 6502 cheat-sheet and WozMon.