• TedDallas@programming.dev
    link
    fedilink
    English
    arrow-up
    23
    ·
    8 hours ago

    I bet he did PI planning for a week. Created 132 user stories. Decided on 2 week sprints at a velocity of 27 story points. Had daily 1 hour stand-ups. Weekly 2 hour sprint retro meetings. Per sprint a 3 hour sprint review meetings and a 6 hour grooming session with his cat. Not to forget the bi-weekly 2 hour sprint refinement meetings. And each sprint had a 4 hour backlog meeting on the potty. All by himself.

    • HereIAm@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      7 hours ago

      Are 1 hour (or anything close to it) really a thing that happens? No wonder people hate on scrum then. It’s called a stand up because no one wants to stand still for more than 10 minutes and would like to get out of there asap. 😐

  • bstix
    link
    fedilink
    English
    arrow-up
    19
    ·
    23 hours ago

    I’ve read a lot of stories about it, because I’m a fan of the game and also used to dabble in assembly myself. His motivation isn’t as crazy as it’s often presented.

    He used assembly because he had always programmed in assembly on a variety of hardware. He basically had every typical function documented or memorized from other projects. Just as any programmer can remember the statements in a language, he had blocks of assembly code that he could put together to do the same things. Like functions, right? If it’s made right and you know what it does, then you don’t even need to look at what’s between the brackets.

    At the time he wrote RCT, he simply couldn’t be bothered to start a new collection of scripts in a different language.

    • sanpedropeddler@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      17 hours ago

      It still likely would have been faster for him to write anything new in a new language. And, there wouldn’t have been anything stopping him from using existing assembly code in conjunction with another language.

      I would say his motivation was pretty crazy. One person making a well designed and polished video game is a pretty incredible feat regardless of the language.

    • Reddfugee42@lemmy.world
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 day ago

      I’ve thought of this when considering if anti-piracy measures will ever defeat pirates. Anti-piracy engineers are paid to work 40 hours a week. The pirates love it just for the fun and challenge and there are more of them and they work longer hours.

      • Blackmist@feddit.uk
        link
        fedilink
        English
        arrow-up
        8
        ·
        1 day ago

        What do you think the push for cloud streaming was about?

        Can’t pirate it. Don’t even have to sell you it, they can just rent it to you for as long as you play.

        Suspect the reason that’s cooled off a bit is because Denuvo sort of works, and consoles have proved difficult to crack.

        • Critical_Thinker@lemm.ee
          link
          fedilink
          English
          arrow-up
          5
          ·
          1 day ago

          I figured cloud streaming was an attempt to rent gaming PCs to people who couldn’t afford an up front purchase but could reliably come up with $30-$100/mo or some shit. They wanted to sell even non-gamers on the idea that for a very tiny upfront purchase of a thin client - or even just installing an app - would get them a console or desktop like experience.

          Lack of consumer demand is the only reason why it isn’t being pushed anymore. They made a solid effort but streaming comes with loads of limitations. It’s hard to mod. It’s hard to get your saves and port them around. You never actually own anything. Probably the biggest thing of all is that you need a solid ISP just to try and play, then you throw in the fact that all these plebs are using wireless for everything and their wifi is hot garbage or they’re on DSL because they’re poor and live in the sticks and it’s effectively unplayable. You can forget about game streaming while traveling or on a cellular connection too, or even while at a hotel.

          • Dextofen@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            To be honest it’s not even a poor or live in the sticks problem as far I know. I live in the Netherlands, a country with one of the best communications infrastructure in the world and also a rich country, pretty much everyone has fibre unless you’re in some real rural places.

            Pleb’s internet connection still sucks here with these ridiculous 1Gbit/s connection speeds, because they put one Chinese crapware router down in the corner of their house and expect the WLAN signal to be useful after going through 7 walls, a whole floor and like 10+ meters.

            That Experia Box 12 isn’t even sending a stable 250Mbit over WLAN if you were right on top of it.

      • Amon@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        I’d bet money that more than a few anti-piracy engineers are in it for the inside info.

  • LeninOnAPrayer@lemm.ee
    link
    fedilink
    English
    arrow-up
    174
    arrow-down
    2
    ·
    2 days ago

    For those unaware. Assembly language is not something you would ever really program a game in. Which is why it’s so impressive that it was programmed this way. It’s also a reason why the game ran so well on the hardware of the time.

    In programming we talk about “high level” and “low level” programming languages. The level does not mean difficulty, in laymen’s terms you can think about it about how “close” you are to programing by typing in 1s and 0s. If you’re “low” you are very close to the ground level (the hardware). Obviously, no one programs in 1s and 0s because we created languages that convert human typed code into what a computer wants which is 1s and 0s.

    Assembly is a very “low level” programming language. It’s essentially as “close” to programing in 1s and 0s as you would ever get. It is still an important language today but no one in their right mind would ever program a game in it unless you were running with extremely strict hardware restrictions where every single bit of memory needed to be dealt with perfectly. Which is basically what Chris did.

    • easily3667@lemmus.org
      link
      fedilink
      English
      arrow-up
      34
      arrow-down
      3
      ·
      1 day ago

      I love that you’re “for those unaware” for assembly but not the random dude who made a video game in 1994 over 30 years ago (that I for one have never heard of).

    • lunarul@lemmy.world
      link
      fedilink
      arrow-up
      60
      arrow-down
      1
      ·
      edit-2
      1 day ago

      Sawyer started writing games in Z80 assembly. Assembly language was definitely something you would use to program games back in those days.

    • notabot@lemm.ee
      link
      fedilink
      arrow-up
      44
      arrow-down
      1
      ·
      2 days ago

      Assembly language is not something you would ever really program a game in.

      Back then you wrote whatever you needed to be performant and/or that involved close access to the hardware in assembler. A game would definitely count. It’s kind of nice to do, in many ways it’s simpler than high level programming, you’ve just got a lot more to keep track of.

      • Kairos@lemmy.today
        link
        fedilink
        arrow-up
        21
        arrow-down
        1
        ·
        2 days ago

        This isn’t really true on modern systems anymore. Lower level languages like C and Rust are more or less just as performant as handmade assembly.

        • notabot@lemm.ee
          link
          fedilink
          arrow-up
          11
          ·
          2 days ago

          Sure, compilers have come a long way since then and there is vanishingly little you’d write in assembler now-a-days, and you’d probably drive yourself mad trying to do so on anything more complex than a microprocessor.

          • sunstoned@lemmus.org
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            2
            ·
            1 day ago

            No disrespect, but I love that folks from the UK always say “assembleuh” like they were on their way to saying “assembly” and got spooked halfway through

          • mbfalzar@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            7
            ·
            1 day ago

            I know it’s a typo but “eek out performance” has made me picture someone programming a little ghost to spook the rest of the code into running faster

          • melpomenesclevage@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            1 day ago

            uh, well, im running like fifty things at once on all my devices, and except for the OS, all of them were coded with this design philosophy. I can definitely tell.

            on a commercial device, with everything live-snitching on me to fifty different people at once, computing actually appears to slow down over time.

            • sugar_in_your_tea@sh.itjust.works
              link
              fedilink
              arrow-up
              2
              ·
              1 day ago

              That’s not because of hand-written assembly vs compilers, that’s because everyone and their dog wants abstractions up the wazoo. You have frameworks on top of frameworks, and no compiler can efficiently sift through that nonsense.

              I’d really like to see a shift back toward compiled languages like Rust to cut through the bloat.

              • melpomenesclevage@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                5
                ·
                1 day ago

                oh, no, I don’t think it’s the compilers’ fault, I think it’s the design philosophy of ‘fuck it, computers get faster, be a messy bitch, finish code fast.’ that’s fucking us.

                • sugar_in_your_tea@sh.itjust.works
                  link
                  fedilink
                  arrow-up
                  3
                  ·
                  1 day ago

                  Yup. I feel that so much at my day job. We use Python on our BE, and we have so much waste on top of that

                  For example, we have some low level code for a simulation (not Python), and we ported it to Python, and we noticed the code spent a ton of its time doing bubble sort. So our Python implementation ended up being competitive by just making reasonable high level choices. We had a paginated sort + filter that loaded all possible records into RAM and did the logic in Python instead of SQL (fixing that dropped request time like 80% on larger queries).

                  We have so much more crap like that, it’s not funny. But I’m ticking them off one by one by inflating my estimates a little to allow for refactors.

          • Kairos@lemmy.today
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            Yes that’s what I was referring to.

            It’s some sort of out of order execution and branch prediction that does it. The thing you’re usually waiting on the most is IO.

        • easily3667@lemmus.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          If you need to precisely know exactly how many instructions are running in a loop (ie super duper embedded)

      • Simulation6@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        I used a macro assembler to create assembly programs once. It made the process much easier, at least for the tiny things I did. Can not image a full game.

    • fibojoly@sh.itjust.works
      link
      fedilink
      arrow-up
      22
      arrow-down
      1
      ·
      edit-2
      2 days ago

      Assembly language is not something you would ever really program a game in.

      … these days. I assure you all the games my mate wrote on the HP calculator back then were in Assembly. And on the PC I would certainly use C but the core of it, the displaying of pixels and low level catching of input for example, were all in assembly. But yeah, that being said, for the time, everything in assembly was a pretty crazy approach given the tools available on PC.

    • Hildegarde@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      16
      ·
      edit-2
      2 days ago

      Assembly was the language you used to write games back then. Most 8 and 16 bit console games were written in assembly. They needed low level code for the performance.

      If you played sonic spinball on the genesis/mega-drive, you played a game that struggled at 20 fps because the developers chose to write in C instead of assembly to hit their deadline. That is why most games were coded in assembly in those days.

      Sawyer started developing games in 1983. He would have learned assembly, and continued using the tools and techniques he was familiar with his entire career.

      Assembly was pretty uncommon by 1999. RCT is uniquely made, but not because Chris Sawyer was a unique coding genius doing what no one else could, but because he was one of the few bedroom coders of the 80s who held out that long.

  • DaddleDew@lemmy.world
    link
    fedilink
    arrow-up
    77
    arrow-down
    1
    ·
    edit-2
    2 days ago

    If you lack true talent in your workforce, you can’t make up for it by throwing more people and money at it.

    Additionally, if you have true talent in your workforce, YOU LET THEM DO THEIR THING.

    • LeninOnAPrayer@lemm.ee
      link
      fedilink
      English
      arrow-up
      60
      ·
      edit-2
      2 days ago

      It’s also an example of when someone with passion is not alienated from the fruits of their labor.

      You’ll never be able to get an engineer to care about a product as much when at the end of the day the only thing they have to show for it is a paycheck.

      Lack of Ownership of the production of your labor is a major problem with motivation in wage labor systems. Especially ones that depend on creativity and problem solving.

    • Psythik@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      1 day ago

      RollerCoaster Tycoon. The Gold edition is still worth playing today if you aren’t old enough to have the privilege of playing it in your childhood. (There’s a Android port too.) Way better than Planet Coaster.

      RCT2 isn’t worth playing, though. Has much less content. The real life theme parks are cool, though.

      RCT 3 was redesigned from scratch and is in 3D, which means that you can ride your creations for the first time in the series. Good for it’s time though at this point people would argue that you should just play Planet Coaster instead.

    • loutr@sh.itjust.works
      link
      fedilink
      arrow-up
      15
      ·
      2 days ago

      He also wrote the PC ports of Elite 1 and 2, which were amongst the most innovative and technically complex games of their time.

    • Ilovethebomb@lemm.ee
      link
      fedilink
      arrow-up
      20
      arrow-down
      1
      ·
      2 days ago

      Transport Tycoon, which I’ve spent an insane amount of time playing, as well as roller coaster tycoon.

      Such incredibly fun games.