Deciding between Godot and Unity
Hey, all. I'm back four weeks to the day after you guys gave me a lot of great advice about potentially making a 2D RPG out of my tabletop RPG. I decided to try both Godot and Unity given what...
Hey, all. I'm back four weeks to the day after you guys gave me a lot of great advice about potentially making a 2D RPG out of my tabletop RPG. I decided to try both Godot and Unity given what people told me and I completed two tutorials for each over the last few weeks. After completing these two tutorials, I have some questions that I hope maybe some of you can answer to help me choose between the two.
TL;DR at the bottom. This is a long post.
For context, here's the tutorials I did:
Godot - https://www.davidepesce.com/godot-tutorials/
Unity - https://learn.unity.com/project/ruby-s-2d-rpg
To be frank, the Unity tutorial wasn't really an RPG. There were no stats, no quests, XP. It was much more of an adventure game. That's fine, it still gave me a lot of time inside the engine to learn a lot of basics.
So, working with each one had it's own up and downs.
Unity's use of an external scripting program seemed to hurt me quite a bit, from simple things such as forgetting to save before going back to Unity (I did this way too much) to having to declare public variables in the script and then filling them in the Unity GUI rather than just doing it all by script. The editor itself also seems to be kind of heavy, I was get the spiral beach ball for a second or two every time I went between the script editor and Unity and I have a machine that can edit 8K video without proxies. These general load times and stuff like that seemed to come up regularly. Tilemapping in the tutorial didn't include autotiling, I assume Unity has this somewhere built in? Or do you need to purchase an asset to get this functionality?
On the plus side, Unity overall seemed easier to use for a non-programmer. A lot of things are done through the GUI. Animations seem easier to handle for sure. The Unity tutorial was also more written for someone that hasn't coded much as it explained what specifically the code was doing (so I assume more resources for Unity will be helpful in that way that perhaps Godot will not).
For Godot, GScript was easier to use than C#, but I do feel like it was easier to get my head around prefabs in Unity than the Node system in Godot. The Godot tutorial took almost twice as long as the Unity one, but I don't know if that's because Godot is more difficult or the combination of the Godot tutorial being more thorough (I feel like I mad an actual, if very uncomplicated game, plus I did Godot first, which probably helped me just learn more about scripting and thinking like a programmer that I took into Unity). The node/scene system seemed more difficult to get my head around than game objects and prefabs. That said, my Godot program felt very tight. There weren't things happening that I was having a tough time explaining or figuring out why they weren't working quite right, at least at the graphical level (this might have more to do with the Godot tutorial using 8-bit graphics and Unity using a more modern sprite look). Having the scripts in the editor meant I never ran into a case like in Unity where I couldn't attach code to a game object because it was failing to compile, but it was failing to compile because it wasn't attached to a game object (that headache took at least a half an hour to sort out).
Overall, I was able to finish both tutorials mostly understanding what the code I was given was doing and was able to edit it to get some different affects and kind of just play around. So, on that level, I'd say they're about equal.
One big thing I want for sure out of the engine we use is to be able to handle a lot of conversations and variables there from. We're hoping to make a "choices matter" (TM) game, and very story/dialog heavy. Ink seems like a good plug-in to do this in Unity, but implementation doesn't seem easy (though I did find a pretty good looking tutorial that may help de-mystify). Godot seems to have some assets available for handling dialog trees, but i haven't had a chance to really dig in to them yet. So, that could definitely be a decider for me: which engine has assets that make a dialog/choice heavy game easier to make.
While I had originally thought about making a tactics RPG for this project, looking around at both the Godot and Unity scenes, it seems like few people are making these types of projects that are giving out free advice on how to make them work in those engines. After talking with my team (I have a team!, see my post from a while back), it seemed like a good idea both to keep the game within the scope of a novice, but still tell the story we wanted, to do a skill role system instead. Since this came from a tabletop session anyway, seemed to make the most sense to do skill rolls rather than develop a whole combat system.
TL;DR - Looking for advice on which engine, between Godot and Unity, would be handle a 2D RPG that relies on a lot of dialog and choices along with skill rolls for the gameplay. Thanks in advance!