• ZILtoid1991@lemmy.worldOP
    link
    fedilink
    arrow-up
    63
    arrow-down
    2
    ·
    17 days ago

    PirateSoftware doesn’t use enums for whatever reason, instead he uses raw integer values with hand comments (and allegedly an Excel doc) on what is what, which is one of the reasons behind his awful code, which in turn lead to him not being able to ship his game.

    • Err(()).unwrap()@lemmy.world
      link
      fedilink
      arrow-up
      114
      ·
      17 days ago

      Actually they’re only enums if they’re made in the Enümmär region of Germany, otherwise they’re just sparkling integers.

      • ZILtoid1991@lemmy.worldOP
        link
        fedilink
        arrow-up
        12
        arrow-down
        1
        ·
        17 days ago

        Another comment on this post have declared enums outside of Rust being bad for not having tagged union capabilities.

        • RaphaelSchmitz@feddit.org
          link
          fedilink
          arrow-up
          13
          ·
          17 days ago

          Yeah but that’s just edgelord behaviour.

          You get those a lot with all kinds of programming languages, and Rust is certainly not know for having less of them.

    • vrek@programming.dev
      link
      fedilink
      English
      arrow-up
      30
      ·
      17 days ago

      Reminds me of a codebase I used to work on which we had 899 variable limit and we couldn’t name them, only number them. These were limitations of the language.

      Each variable had to be assigned a 3 digit number but 1-100 were taken by internal stuff so only 101- 999 was allowed. So let’s say you wanted to check if power was between 50 and 60 you would end up with like

      #301 = 50;

      #302 = 60;

      #303 = powerSignal;

      If #303 < #301 || #303 > #302: Display error

      Continue process

            • vrek@programming.dev
              link
              fedilink
              English
              arrow-up
              14
              ·
              17 days ago

              Basically we made devices which were surgically implanted into your body to send specific electrical signals to your spine and brain for certain medical issues. The electronics were in a metal case so your icky blood and bodily fluids didn’t cause shorts. This system was to weld the metal case closed.

              • MajorasMaskForever@lemmy.world
                link
                fedilink
                English
                arrow-up
                6
                ·
                17 days ago

                Sounds like someone wanted to avoid needing to recompile for the target, but was either hardware constrained on what they wanted to do or as they thought that implementing their own language was going to be easy, learned it’s very much so not, and then took some stupid shortcuts

                I totally haven’t done that myself, nope…

                • vrek@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  5
                  ·
                  17 days ago

                  It’s fanuc cnc… Incredibly useful and precise but OLD! They literally still support programs from bubble tape if you need. It was basically hardware constrained initially but fixing it would break backwards compatibility which is a super selling point for them to government and long term industries.

                  Their controllers are mad expensive (budget version is like 30k last I checked), their support is top notch(tech typically on site within 24 hours with every possible board which may be bad so they can get you running and charge you later), they are incredibly precise and can do things other systems legally can not(a trainer I knew said “if you can move in 5 dimensions at once you can do some interesting things with nuclear energy so those require special clearance to sell”). Basically if you need them you NEED them, if you don’t then you don’t.

        • vrek@programming.dev
          link
          fedilink
          English
          arrow-up
          6
          ·
          17 days ago

          Lol, yup. Actually it was 4 axis. And connected to a laser instead of a milling bit. The system was also in a controlled gas environment which added extra complications.

          • TonyOstrich@lemmy.zip
            link
            fedilink
            arrow-up
            2
            ·
            17 days ago

            Ooh, sounds spicy.

            The hard set limit of #500-#999 is really frustrating when you also have to be careful not to overwrite certain kinds of “standard” program variables that your shop or company has decided on. I’m generally pretty OK with the limitations of these controllers and G-Code in general, but I would fucking kill to be able to use an array or to be able to declare a variable 😭.

            • vrek@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              ·
              16 days ago

              It was mostly just the naming that caused my frustration. I tried to declare all variables at start, had that section printed out and hung on my cubicle wall.

        • vrek@programming.dev
          link
          fedilink
          English
          arrow-up
          9
          ·
          17 days ago

          It was g-code which as another commentator correctly pointed out was used to control a fanuc cnc system.

        • vrek@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          16 days ago

          It was a lot of magic numbers, why was that set that thing set to 3 minimum? It worked good enough at 3 to be acceptable

      • Echo Dot@feddit.uk
        link
        fedilink
        arrow-up
        14
        ·
        17 days ago

        He’s some apparently famous YouTuber who reckons that he’s a programming genius even though I’m the better programmer than him.

        Occasionally he does something stupid and pops up on everyone’s radar for a while and then the rest of the internet goes back to forgetting about him.

        I guess he’s kicked off again.

        • SkyezOpen@lemmy.world
          link
          fedilink
          arrow-up
          8
          ·
          16 days ago

          He’s actually been doing stupid shit for ages, it just didn’t get widespread attention until the SKG thing blew up. Actually the wow roach might’ve been before that, but either way SKG is what basically ended him.

        • lobut@lemmy.ca
          link
          fedilink
          arrow-up
          2
          ·
          16 days ago

          famous YouTuber who reckons that he’s a programming genius

          Is that true? I’ve seen a lot of his shorts and he’s always been like: “just make games” – “stop worrying about code quality, some amazing games have shit code”

      • SkyezOpen@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        16 days ago

        It was for an ARG. Or it doesn’t matter because it runs on a mini fridge (no it doesn’t). Or he was OOM.

    • drcobaltjedi@programming.dev
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      17 days ago

      I mean thats not uncommon in game dev from what I have seen. Remember VVVVVV? The creator open sourced the code years ago, and they didn’t use enums either, just switch statements with integers. I imagine a lot of indie games suffer from this as they’re made by a passionate person/group that are learning on the fly.

      • ZILtoid1991@lemmy.worldOP
        link
        fedilink
        arrow-up
        3
        ·
        16 days ago

        TBH sometimes I’m also guilty of this, if I forget about them. In one library on mine, I’ll have to put all error codes under a single enumerator, so I don’t need to make new ones every time I add functionality.