• lugal@lemmy.world
    link
    fedilink
    English
    arrow-up
    74
    ·
    2 years ago

    I don’t know if everyone gets the reference: RollerCoaster Tycoon is in fact writing mostly in assembly to use the hardware more efficiently

    • dejected_warp_core@lemmy.world
      link
      fedilink
      English
      arrow-up
      18
      ·
      2 years ago

      Especially these days. Current-gen x86 architecture has all kinds of insane optimizations and special instruction sets that the Pentium I never had (e.g. SSE). You really do need a higher-level compiler at your back to make the most of it these days. And even then, there are cases where you have to resort to inline ASM or processor-specific intrinsics to optimize to the level that Roller Coaster Tycoon is/was. (original system specs)

  • einlander@lemmy.world
    link
    fedilink
    English
    arrow-up
    65
    arrow-down
    6
    ·
    2 years ago
    • Programming was never meant to be abstract so far from the hardware.
    • 640k is enough ram for everybody.
    • The come with names like rust, typescript, go, and python. Names thought up by imbeciles.
    • Dev environments, environmental variables, build and make scripts, and macros, from the minds of the utter deranged.

    They have played us for fools

    • mynameisigglepiggle@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 years ago

      I dabbled with making a fairly complex program for a microcontroller the other day and quickly hit the stack limit for a simple object.

      It wasn’t so much that it was a large object, but to provide flexibility I was amazed how fast I filled the memory.

      I’ve done heaps with memory managed languages in the past but shit as soon as I had to think about what I was doing under the hood everything got hard af.

      So serious question - does anyone have any good resources for a competent programmer, but with no clue whatsoever how to manage memory in a microcontroller space and avoid fragmentation etc?

      I got it to work but I’m sure I did shit job and want to be better at it.

    • CascadianGiraffe@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 years ago

      Adobe promised that Lingo was the future of ‘PC and internet gaming’

      Luckily by the time I had to learn to write that garbage I already coded in several other languages. Made it easier, but somehow more painful. I’m pretty sure that shit was designed so that executives could look at the code and pretend they understood what was going on. At least with ‘common terms’ it eliminated the need for commenting out most of the time. One line of code would take a paragraph of text lol.

  • Valmond@lemmy.world
    link
    fedilink
    English
    arrow-up
    36
    arrow-down
    3
    ·
    2 years ago

    try writing it it in Assembly

    Small error, game crashes and takes whole PC with it burning a hole in the ground.

    • Flying Squid@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      It was really easy to crash an Apple II game and get into the assembler. And my goodness am I glad I didn’t destroy my computer as a kid randomly typing things in to see what would happen.

      • Valmond@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        Remember old Apple, had to use them when learning to program, there were 2 types, one with the OS on a diskette, one with a small hard drive, and they randomly showed a large bomb in the middle of the screen and you had to reload the OS. Probably the compuler that broke everything.

  • UnderpantsWeevil@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    2 years ago

    Step 1: Begin writing in Assembly

    Step 2: Write C

    Step 3: Use C to write C#

    Step 4: Implement Unity

    Step 5: Write your game

    Step 6: ???

    Step 7: Profit

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 years ago

    I wanna see someone make a GPU accelerated game in assembly.

    Just throw the Vulkan and DX12 C APIs in the garbage and do it all yourself lol.

  • Codex@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 years ago

    I don’t know exactly how much code reuse Sawyer had going back then, but if you’ve ever played Transport Tycoon (or more likely the open source version around today, OpenTTD) then you know that the interface and graphics are extremely similar. So it’s not like he started from scratch each game with nothing but a hot spinning disc and a magnetized needle.

    But yeah, the main reason to put up with all the modern framework bloat is the ever-ephemeral promise of being able to write your thing once and have it ported to run anywhere with minimal to no further effort.

  • JoYo@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    you need all of that when writing a game in assembly. wtf do you think assembly is?