Bogus Software
121 points by jnord 8 days ago | 28 comments
  • p2detar 8 days ago |
    Lovely article. One of my favorites is "Alien Force" featured in WEP #3 [0]. It wasn't mentioned, but actually there were a lot of games in these packs.

    0 - https://archive.org/details/win3_alienforce

  • phtrivier 8 days ago |
    > The group wrote games at work because "when you're a programmer, especially back then, you have a lot of free time, because you make changes and you compile. And for a big project, a compile would take about 10 minutes."

    Well, I have CI builds or deploys that take 10m, but I don't see how that would give me time to write games in such small increments.

    2-10m is actually my "dreaded" time for feedback loops. Much less than that, and you just wait. Much more than that, and you schedule something else to do, with a reminder.

    But in that frame, you can't really wait, you can't context switch productively..

    ... which ends you on HN, commenting on articles about people who wrote the most used software in the world (solitaire & tetris) _while compiling the second most used software in the world (a popular OS)_...

    • pacifika 8 days ago |
      The problem also is, how to stop working on the side project after 10 minutes.
      • markus_zhang 8 days ago |
        Yeah I found it very hard to stop working on a side project especially if it's difficult. I'd literally bite my fingers and burn candles until I figured it out or gave up for the day, usually well into early morning.

        Ah, I wish I don't have to work.

      • drivers99 8 days ago |
        I have the shortcut to timers on my smart watch with two-button presses (one to open timers, and one to start a timer) to start a timer for certain intervals. It's great for that type of thing. A desk one might be good too if there aren't people around that would bothered. The watch is good because it only vibrates.
    • GrumpyNl 8 days ago |
      Compiling Clipper those days took around 45 minutes.
      • markus_zhang 8 days ago |
        Wow, did you work on it? I used to read about it on magazines and wanted to be a clipper developer. You know, the 90s computer ads were full of wonders. I wish we had those nowadays but even zines are dying.
    • zvr 8 days ago |
      From distant 2007: https://xkcd.com/303/ ("Compiling")
    • JKCalhoun 8 days ago |
      In 1995 when I started at Apple, I was on the "GX team" (1). MPW was the environment. I remember a clean recompile of QuickdrawGX could take hours (maybe as much as 6 hours?). So you lived on incremental builds all day, kicked off a clean build before heading out at the end of the day.

      1) Quickdraw GX was to be the next-generation graphics architecture for Mac OS — as an optional Extension though, it never caught on.

      • miohtama 8 days ago |
        Incremental Nokia Series 40 phone image took 4 hours to compile and flash in early 00s. Slow debug.

        If I recall correctly clean build would have taken days. There was a server farm that used distcc to split this to 60 or so machines.

        https://en.m.wikipedia.org/wiki/Distcc

    • markus_zhang 8 days ago |
      Internet definitely impacts my productivity :) just imagine all the time saved by not doom scrolling HN, Reddit and X.

      But I agree it's difficult to context switch UNLESS I'm already deep in a side project. In that case it's a lot easier to switch because I'm on fire. The only issue is that nowadays my employer won't be happy about me using the company laptop to write a game, or a dynarec, so I have to work remote for that.

  • markus_zhang 8 days ago |
    Serious question:

    If I want to write small games in assembly code, such as minesweeper, solitaire and maybe simple 2d RPGs, which modern platform is the easiest to approach? Must be in assembly, not in C or other higher languages.

    Candidates: Windows X64, Mac Mx ARM, others.

    • einpoklum 8 days ago |
      Off-the-top-of-my-head answer: Either of vim and emacs (with appropriate variant + choice of add-ons of course) would probably work, because those have a lot of generic tools for programming language support: syntax highlighting, tagging, language server etc. It might not be as convenient (for many) as the graphic IDEs, but a lot of people swear by either one of these for higher-level languages.
      • markus_zhang 8 days ago |
        Sorry for the confusion, by saying platform I meant OS and architecture, not tools.
        • imachine1980_ 8 days ago |
          I would recommend windows x86 or Linux x86 or arm/riscv (emulator ) Linux mostly because you probably have hundreds of resources instead of couple of them whit the other platforms
        • AnotherGoodName 8 days ago |
          Absolutely Windows. The win32 API is easy to use in assembly and is an easy one line call to createwindow. The message loop isn't hard to work with either. Lots of tutorials. eg. https://www.codeproject.com/Tips/1035362/Simple-Window-With-...

          I wouldn't go too far past that if your goal is to get the hang of it. SDL and the various GUI libraries abstract more away but the Win32 API is easy to work with and a good starting place. X11 has another layer of complexity as it works via sockets and that should be ruled right out.

          Having said all of the above i also wouldn't do it beyond learning. I've made my own game engines from scratch, i've written games in assembly, got them down to a few KB in size. No one plays them and i'd have to link to webarchive to find them. No one wants to play a very simply game that took a lot of effort to make that doesn't even work without emulation these days. It doesn't even look good on a resume.

          You know what i actually use for productivity these days? Unreal or Unity.

          • markus_zhang 8 days ago |
            Thanks! Yeah I believe Windows asm is probably my best bet as the UI part is also well integrated.

            This is just for learning purpose. I have a fetish about assembly language and want to use it as a daily drive for a certain project. Definitely not for work or anything money related!

    • favorited 7 days ago |
      I'm currently learning assembly programming for the original Nintendo Game Boy handheld. There is an actively maintained cross-platform toolchain[0] (a few actually, but I believe I'm using the most common one), and the instruction set is very simple (it's a subset of the Z80) so it's not overwhelming.

      The tooling is actually outstanding – from within VS Code I'm able to build my ROM, launch it in an emulator, and even remotely debug it using VS Code's debugger.

      I started by following along with a tutorial[1] where you follow along and build a couple games, then moved on to working on my own little project. It has been extremely fun and rewarding so far.

      [0]https://rgbds.gbdev.io [1]https://gbdev.io/gb-asm-tutorial/

      • markus_zhang 7 days ago |
        Thanks! It's definitely a very good target architecture. My case is a bit different as I'm learning to make a dynarec, so I need to learn client assembly which is x64 or arm, depending on which laptop I'm using :)
    • Saigonautica 7 days ago |
      I enjoy AVR Assembly a lot. A big reason is that Atmel has very good datasheets.

      However if having an audience for your games matters, this is maybe a bad choice. On the other hand, if you would like to use LEDs, buttons, and sensors (or just like making physical hardware in general) it's very good fun.

      Another word of warning, I find Microchip Studio bloated and buggy. To the point where I'll code ASM in literally anything except that, then paste it in to simulate.

      Also there's a bug in the Atmel-ICE. One of the programming headers is soldered in upside down (or at least it is on mine). This is no problem if you buy the full cable assembly (where they reverse it again in the cable). However if you cheap out and buy the raw PCB only like I did, knowing this will save you a frustrating puzzle.

      Anyway these minor frustrations aside, its the main language I've always returned to when I want to make something just for the fun of it.

  • tristor 8 days ago |
    I remember most of these games fondly. My favorite games from the old entertainment packs were Pipe Dream, Minesweeper, and Ski Free. Was really interesting to see the history here, and how slack time created an opportunity for valuable creativity. The modern tech company no longer has that sort of slack time, nor does it encourage valuable creativity, unfortunately.
  • einpoklum 8 days ago |
    I just realized Windows 10 doesn't have minesweeper installed. I can't even add it with "Turn Windows Features on or off". What is this world coming to?
    • a1o 8 days ago |
      I think the default go for solitaire from MS now has either Ads or subscription.
    • ycuser2 8 days ago |
      Efficiency, work, money, progress, rising stocks
  • jamieplex 8 days ago |
    Yikes! He wanted $25 for a fish screensaver 35 years ago!! Wild!
    • AnotherGoodName 8 days ago |
      Essentially a suggested donation though and paid by mail. It's pretty much the standard shareware price and you can't be too mad since you got it for free.

      A bit like the old and now well out of date joke "What would you do if you won a million dollars?" "Pay for Winrar!".