• insomniac_lemon@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 days ago

    I love the idea, but it seems like a difficult (but not impossible) limitation. Godot won’t make it even with heavy minification of a hello-world, Raylib is more realistic but I think the 3D rendering on its own already puts it above the limit so even untextured 3D is out. So, 2D or write-your-own-engine.

    Well, maybe Raylib 3D might work with a static binary via musl, but at that point I’m pretty sure game design and programming would be small steps at that point.

    • I Cast Fist@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      Most ready-to-use engines simply cannot compete in these kinds of challenges, they have too much “cruft”. Simply exporting an empty project will result in a ~35mb executable.

      Funnily enough, SDL might also not be worth it, as the .dll alone will blow the limit. So people will either have to use whatever native win32 API there are, or directx calls, or going with VGA, which will also look era appropriate.

      • insomniac_lemon@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 day ago

        It’s not clear if dynamic linking is allowed or not (considering it’s something you really have to go out of your way to avoid), which is a big difference.

        I was also going by some modified Raylib examples (+bindings, Linux, so size is influenced by that) I already had compiled, 1,372,160 bytes for the 2D one (no textures/sounds, just collision detection and some polygons). With my original comment I wasn’t even thinking about how dynamic links could be counted for size, only that static linking could be smaller (which isn’t even a guarantee).

        EDIT: Actually, the 3D one (yaw_pitch_roll example with plane replaced with a vertex-painted office plant) is smaller after the binary is stripped.

        Just the logic .so for one of my Godot projects is significantly big (761,856 bytes for something with ~250LoC) though that might be on the bindings or even my compilation settings.

    • Axolotl@feddit.it
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      2 days ago

      The best bet is to generate some stuff on the fly or on demand, if you wanna make it 3D