You can port over a lot of C# code into Godot, but there are things that are engine specific. However, they are similar enough that you can just work on refactoring without sgarting from scratch.
I’ve ported a few of my projects from Unity and it’s not impossible, it’s just a lot of copy and pasting and making a few changes
While it would potentially be easier to learn all the not-programming stuff that’s different whilst sticking with a programming language you’re familiar with, I would recommend also having a play with GDScript too. It’s well documented and pretty easy to get started with (syntactically it’s basically Python.)
Someone has pulled off porting an Unreal map over to Unity before, but a lot of the maps lighting and other effects were completely lost. Look up Stanley parable rocket league. It’s definitely possible, but it would take a lot of work and a lot of rebuilding everything from scratch
So Davey Wreden, writer and creator of the stanley parable, has a brother who is a youtuber, DougDoug. When ultra deluxe dropped Davey joined his brother playing through the game again. Anyway, at one point in the video he mentioned that in order to port over the rocket league map they needed to hire an outside consultant to port it.
No, they’d have to start from scratch. They’re entirely different engines and everything is very specific to the engine, down to the tooling and languages used.
I’m working on a game with Unity and the software design has been done in a way that keeps most the game itself as data, and uses the Unity stuff mainly as a display a multiple views on the state of the data (a 3D view of the game space, multiple UI elements diving into slices of the data an so on) - basically a Model-View-Controller Architecture, so moving from Unity to something else doesn’t require a rewrite (in fact such structure makes it possible to with some ease change the game’s visuals from 3D to 2D), though it would still be quite a lot of work.
However my game is survival-management in space (within one or more generated star-systems, so it was simplified down to a 2D plane) which doesn’t relly on Unity things like terrain, navigation meshes or even colliders to constrain the movement of objects in the game, so “what happens next” (say, the movement of planets or the guidance of ships going from planet to planet) gets decided using Maths at the data level without going through the Unity layer, and Unity is mainly the stuff from which user input comes and into which the state of the data gets reflected (i.e. game objects get moved around) for rendering.
Other games which are not reliant on Unity to do the heavy lifting for objects interactiong with other objects on a 3D space, such as 2D platformers, can probably use a similar architecture, but for example something like Valheim or Planet Crafter (were the players is a humanoid avatar on a 3D world which is mainly terrain) is probably much harder to move out from Unity,
Not to mention I’m sure they use third party tools to help with things. Bigger games like Genshin Impact for example, are on an older version of Unity where they heavily modified the engine to suit their needs. That would take a tremendous amount of work to move, and they’d have to redesign their entire graphics pipeline. Which also Godot has gotten better, but is still far behind the others in terms of high end graphics. That’s why it’s usually seen as the go to for indies, and not so much high end games.
Oh my…what a waste of time, money, old games will be removed I imagine, knowledge. All to gain what? Developers are already moving away from Unity. It’s one company after another going to hell and causing damage.
Migrating really large software is incredibly time consuming and difficult. My background is with backend servers, not games, but some large framework migrations we’ve done were a multi year effort and IMO they weren’t nearly as big or fundamental as game engines can be (though we did have to maintain near perfect uptime, which isn’t a concern for an unreleased game).
lorez@lemm.ee 1 year ago
Is there a way to convert it to use Godot or Unreal? I understand nothing about programming a game but… oh damn
TwilightVulpine@lemmy.world 1 year ago
Not instantly. This could take months or even years of additional work.
AdmiralShat@programming.dev 1 year ago
You can port over a lot of C# code into Godot, but there are things that are engine specific. However, they are similar enough that you can just work on refactoring without sgarting from scratch.
I’ve ported a few of my projects from Unity and it’s not impossible, it’s just a lot of copy and pasting and making a few changes
Lemminary@lemmy.world 1 year ago
That’s good to hear! I’m thinking of learning Godot, so that means all the knowhow is transferable, yay
Piers@lemmy.world 1 year ago
While it would potentially be easier to learn all the not-programming stuff that’s different whilst sticking with a programming language you’re familiar with, I would recommend also having a play with GDScript too. It’s well documented and pretty easy to get started with (syntactically it’s basically Python.)
Im_Cool_I_Promise@lemmy.world 1 year ago
Someone has pulled off porting an Unreal map over to Unity before, but a lot of the maps lighting and other effects were completely lost. Look up Stanley parable rocket league. It’s definitely possible, but it would take a lot of work and a lot of rebuilding everything from scratch
drcobaltjedi@programming.dev 1 year ago
So Davey Wreden, writer and creator of the stanley parable, has a brother who is a youtuber, DougDoug. When ultra deluxe dropped Davey joined his brother playing through the game again. Anyway, at one point in the video he mentioned that in order to port over the rocket league map they needed to hire an outside consultant to port it.
mojo@lemm.ee 1 year ago
No, they’d have to start from scratch. They’re entirely different engines and everything is very specific to the engine, down to the tooling and languages used.
Aceticon@lemmy.world 1 year ago
It depends.
I’m working on a game with Unity and the software design has been done in a way that keeps most the game itself as data, and uses the Unity stuff mainly as a display a multiple views on the state of the data (a 3D view of the game space, multiple UI elements diving into slices of the data an so on) - basically a Model-View-Controller Architecture, so moving from Unity to something else doesn’t require a rewrite (in fact such structure makes it possible to with some ease change the game’s visuals from 3D to 2D), though it would still be quite a lot of work.
However my game is survival-management in space (within one or more generated star-systems, so it was simplified down to a 2D plane) which doesn’t relly on Unity things like terrain, navigation meshes or even colliders to constrain the movement of objects in the game, so “what happens next” (say, the movement of planets or the guidance of ships going from planet to planet) gets decided using Maths at the data level without going through the Unity layer, and Unity is mainly the stuff from which user input comes and into which the state of the data gets reflected (i.e. game objects get moved around) for rendering.
Other games which are not reliant on Unity to do the heavy lifting for objects interactiong with other objects on a 3D space, such as 2D platformers, can probably use a similar architecture, but for example something like Valheim or Planet Crafter (were the players is a humanoid avatar on a 3D world which is mainly terrain) is probably much harder to move out from Unity,
mojo@lemm.ee 1 year ago
Not to mention I’m sure they use third party tools to help with things. Bigger games like Genshin Impact for example, are on an older version of Unity where they heavily modified the engine to suit their needs. That would take a tremendous amount of work to move, and they’d have to redesign their entire graphics pipeline. Which also Godot has gotten better, but is still far behind the others in terms of high end graphics. That’s why it’s usually seen as the go to for indies, and not so much high end games.
lorez@lemm.ee 1 year ago
Oh my…what a waste of time, money, old games will be removed I imagine, knowledge. All to gain what? Developers are already moving away from Unity. It’s one company after another going to hell and causing damage.
teruma@lemmy.world 1 year ago
It’s doable, but a tedious pain in the ass.
ComradeKhoumrag@infosec.pub 1 year ago
Probably not but the good news is a lot of the pains of developing a game is that unlike most projects you need 10 artists for every one programmer
So, while core logic will likely change, all the other assets and planning is done. It shouldn’t be as bad as remaking it from scratch
tabular@lemmy.world 1 year ago
I’m not an artist but some of that work may be done in the engine, and so is not simple imported into it. I assume much is though.
ComradeKhoumrag@infosec.pub 1 year ago
I am not an artist either, so take this with a grain of salt, but a quick Google search suggests the two should be convertible
CoderKat@lemm.ee 1 year ago
Migrating really large software is incredibly time consuming and difficult. My background is with backend servers, not games, but some large framework migrations we’ve done were a multi year effort and IMO they weren’t nearly as big or fundamental as game engines can be (though we did have to maintain near perfect uptime, which isn’t a concern for an unreleased game).
ossadeimorti@lemmy.world 1 year ago
I love OSs and I contribute to a few projects, but using godot for a project of silksong calibre is asking for a disaster
lorez@lemm.ee 1 year ago
I’m desperate. I loved Hollow Knight so much.
uzay@infosec.pub 1 year ago
Have you worked with Godot? The developers of Cassette Beasts seem pretty happy with it.