Hey, everyone, I couldn’t find the rules for this community so I assume this kind of off-topic/open-ended post is allowed. Sorry if it isn’t, let me know and I’ll delete the post. The last paragraph is the actual prompt, everything in between is just my own answer to it.

I recently came across this blog post where the author establishes some parallels between Emacs, Dwarf Fortress, and generative AI (just ignore that part). It got me thinking about my own history with Emacs.

I always thought I liked both Emacs and Dwarf Fortress despite the complexity, not because of it. But after reading the post I started thinking about the time when I got into both, which was around the same time I got into programming. I was really down in life, feeling hopeless, deep depression, everything felt awful and pointless. I started playing Minecraft (I was already an adult, just unemployed) and compulsively trying mods, and it still felt empty. Then I started trying to learn Java so I could make my own mods. Java was awful and traumatic, so I tried C instead, and it kinda took the pain away, like an infinitely deep rabbit hole that kept me distracted from reality without ever hitting the bottom. It made me feel safe to keep falling deeper and deeper.

Well, Minecraft led me to Dwarf Fortress since it’s mentioned everywhere as the main inspiration. Once I found out it was implemented in C and C++, I started playing around with ncurses, trying to make a roguelike, but C was so quirky that I got interested in languages themselves, which led me to lisp/scheme, which led me to Emacs. I remember when I kinda settled between playing around with Emacs (great way to procrastinate actually studying) on my “productive” time and then playing Dwarf Fortress on my leisure time. I remember how seamless my life felt for a while, as if I finally had some cohesion between everything I was doing (at that point I had tried a bunch of careers, dropped out of university quite a few times, I was completely lost).

So yeah, I kept digging around in Emacs, messing stuff up and rage-deleting my init.el, same way I would rage-quit Dwarf Fortress whenever I felt things getting ugly. I would try to go deep in some aspect of Emacs and then go deep in some subsystem of Dwarf Fortress, and then I would give up because everything seemed so interconnected I ended up going broad without realizing. I remember feeling super proud of tiny accomplishments such as writing and keybinding a script that would take a file name without the extension, then open the file.c and file.h side by side and a smaller shell window on the bottom, only to realize how little effort it spared me once I memorized the window manipulation keybindings. Like I was essentially treating Emacs like a game, a sandbox for infinite exploration, same thing that had previously lured me to Minecraft, programming, and Dwarf Fortress. And the worst part is I still do that after almost a decade, hehe, long after quitting Dwarf Fortress.

I’m curious if anyone here has played Dwarf Fortress and would like to share their experiences and any similarities they might see, or even people who didn’t play Dwarf Fortress but would like to share how they relate to Emacs’ complexity, if they think it played a part in their adoption either as a pro or a con. Also, if I ever get back to Dwarf Fortress, I’m definitely making a fortress-mode, lol.

  • Mikina@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    2 天前

    While I don’t ahve emacs experience, I did recently learned VIM, and there is one parallel I’ve been surprised to learn.

    For me, it wasn’t Dwarf Fortress, but Starcraft. There’s a pleasurable joy in being able to do complex actions based on just muscle memory, especially if the actions are complex. Learning VIM was fun not because it made me a better or faster programmer, but because it was joy to use and master - learning new “combos”, being able to do them fast and without thinking, and there was always room for adding new moves and combinations into my repertoire.

    In a way it has reminded me of Starcraft. When you get to the level where you’ve mastered the controls, the game becomes extremely different and pleasurable to play. Being able to turn your throughs, that require a complex set of actions, into reality just by pure muscle memory feels pretty good, and VIM scratches the same itch as Starcraft did in this sense.

    The game looks super complex, seeing the programmers with their 200 APM, but once you actually learn to do the base actions through pure muscle memory, it’s not that difficult - and it has surprised me how satisfying it is. And it’s the same with VIM - I’ve had a rough start, but once I learned a few moves, it has suprised me how quickly have I internalized them and how good it feels.

    I can imagine this being the case with any complex control scheme, purely on a physical satisfaction level.

  • Avicenna@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    2 天前

    Not a user of emacs but did use vim occasionally. I can say that number of key strokes that you have to commit to memory and the amount of RSI you get from it is roughly similar to DF. I use tilesets atleast not to go blind.

    • Xeno@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      1
      ·
      2 天前

      Well, from what I remember DF had a side bar with every keybinding, including one on how to exit it 😂. Jk lol nothing but respect for our vim comrades.

      Yeah, Emacs has the same issue, although people say it’s less ergonomic than Vim. But honestly I don’t even notice that anymore, for me it’s just a quirk of pre-gui applications and once you get used to it, the “lots of keybindings” becomes no more mentally costly than trying to figure out which graphical menu holds which option. Like I’m sure if I were to learn vim it would be just as hard as trying to learn some new type of graphical software with it’s own set of conventions. Actually, I tried playing with audacity recently and I couldn’t tell what a single thing was. So much visual information that I felt overwhelmed, I feel like a polluted gui is actually harsher on me than having to memorize arcane keybindings which I can simply write on a sheet of paper and check whenever I want. Same issue when I go to the supermarket and spend hours circling the same lanes trying to find what I want.

      Fun fact: people joke about how you can’t exit vim but it actually happened to me, lol, I tried it once, long before emacs, since it came installed, and I couldn’t figure out how to exit it. I don’t remember a lot about the incident but for a while it made me incredibly hostile to both vim and emacs and any terminal application really.

      • Avicenna@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        2 天前

        Yes a sidebar where things are ordered completely randomly… It still amazes me to this day that they have not thought of ordering menus alphabetically. I am playing it as we speak my brain is crying each time I need to find sth there.

        • Xeno@lemmy.dbzer0.comOP
          link
          fedilink
          arrow-up
          1
          ·
          2 天前

          Oh god, now I wanna play it again, lol, but this would ruin my life. How is it currently? Is DFHack still a thing on the Steam version? I remember there were some really cool mods but they were a bit sparse and underdeveloped. And I loved how you could mod the game by just editing text files, very Emacsy in spirit, I wish every software would allow that. I always made saltwater crocodiles domestic, hehe, they gave a lot of eggs plus it was cool to have a bunch of baby crocs following my dwarves around.

          • Avicenna@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            2 天前

            I haven’t played the steam version, I am playing 47.0 with DFHack and LNP (mainly because it comes with a bunch of tilesets). It definitely can take a large chunk of your time and result in falling behind on your responsibilities fun.