In case you’re suddenly facing the task of porting an entire game over due to capitalist nonsense or something

  • BeigeAgenda
    link
    fedilink
    arrow-up
    38
    ·
    1 year ago

    Thanks Unity for indirectly pushing for open source software.

  • anlumo@feddit.de
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    2
    ·
    1 year ago

    Porting a game from one engine to another feels kinda ridiculous. They’re not even sharing a programming language.

    This is more like a restart from scratch.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      17
      ·
      edit-2
      1 year ago

      It depends how you structure your code.

      If you write your whole game an enclosed system and then integrate the game engine at the point graphics etc. are needed it’s not such a slog.

      But I would imagine many, maybe most, people don’t do this.

      They both support C# so if you wrote it separately integration shouldn’t be too hard.

      • AdmiralShat@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I was able to port over several of my demo projects quickly because I originally wrote C# console applications and then refactored as I went when bringing it into a Unity project. I find this approach is actually easier for structure, as it decouples my code from the engine except for places where it’s absolutely necessary. I didn’t build it like this with the intention of moving over, but it made more sense to write my own logic for my own objects rather than make a game with a shit load of the bloated GameObjects Unity offers.

        Swapping over to Godot was a breeze, all I had to do was learn the Godot specific calls for mostly the same stuff and plug and play. Super easy

    • BeigeAgenda
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      True, it really depends on how the code is structured, if the project from the beginning have been written to support multiple engines. Or more likely totally integrated with a single engine.