GDevelop or Godot for 'Night in the Woods' style game


#1

Hello. I first heard about GDevelop a few days ago while looking at tutorials on YouTube for Godot, and it’s made me wonder if learning Python and Godot is the right path for me after all.

I’m a graphic designer and the art side of things is not an issue for me, but I am very new to programming and using a game engine. I can write basic Python programs, and understand the basic concepts, and I quite enjoy learning it. And Godot’s GDScript is Python-like, which is why I began by looking at Python.

One day I’d like to make something along the lines of Night in the Woods, though much smaller. It would have a non-tile based environments to explore (ie. every screen uses unique, and sometimes large, assets), a branching dialogue system, perhaps simple puzzles and an inventory.

I haven’t seen any examples of games of that sort of scale on GDevelop and I was wondering if it’s just not an appropriate engine for it. I saw that Miko Adventures has large, smoothly scrolling levels, so that was encouraging, and a nice smooth zooming camera, and the levels are essentially massive jpegs, cut into slices, and not tile-based - so GDevelop can obviously have big, unique environments without slowing to a crawl.

I think I’m trying to ask:
“Why choose GDevelop over Godot for your platformer-adventure game?”
“Why would a game developer choose Unity or Godot for their platformer-adventure if something like GDevelop can do it as well, but is far easier?”
“Could GDevelop be used to make something like Night in the Woods or is it only appropriate for small games?”

I’m struggling to see why one tool, and all the skills you’d need to use it (coding, being the biggie), is chosen over something that’s easier to get into. I don’t want to start learning something when I might not need to.

Thank you for any thoughts on this, and apologies for the length of this post.


#2

i never played Night in the Woods, so i dont know, what certain special features it might have/you want, that are not available in GD.
If it is just a 2d side scroller, then it is one of the most easiest things to do in GD, and it is very well equipped to do these kinds of games.

As to why using gd, you mentioned it yourself, easy to learn, no coding required.
Also offers fast and easy compiling methods across platforms.

with engines, like godot and unity, you have more control over the renderer and you could use 3d features inside your 2d game. Some deeply structured logic, like behavior trees are easier to manage with an optical interface.


#3

Thanks for your reply. Night in the Woods is, broadly speaking, a platformer, but also a lot more. As I said, it’s not tile-based, and you move through unique environments all the time with buildings that you only see once. so it’s more like moving through a large canvas than moving through environments with repeating bricks, enemies, collectibles etc. It also has a dialogue system that sometimes allows a response from the player. There’s a lot of text in the game. You explore the town, talking to characters, with some dream sequences that are more traditional platformer gameplay. There are also mini games along the way, one is like like guitar hero where you press the appropriate button to play the right tone at the right time. You can also do things like inspect things in the environment - such as a notice board - and that would then fill the screen and allow you move items around or click on things to bring up a comment from the protagonist.

It’s clear that making platformers in GDevelop is straightforward, but it’s all the other bits I might want to build into that that interests me.


#4

if you tile your level yourself, aka keep your cuts small, Very large& unique levels should not be a problem.

all your mentioned features are possible.


#5

GDevelop is capable to support most gameplay mechanics it is not so much what you need to worry about. As to why choose GDevelop over Godot and Unity and vice-verse, require very specific needs to consider that one or the other can not support.

The first thing you need to decide is what is your primary platform that you want to target. It is easy to say, you want to target all platforms, but you always need to pick 1 that is the primary target.
Then need to consider the fact, GDevelop has a very strong HTML5 support, Godot has strong desktop support and Unity has very strong mobile and game console support and also VR and AR support. Yes technically you can target all platforms with any of the engines, but each engine has weak and strong points and you should pick the one that is stronger on the platform that you primarily want to target.

Then you need to consider what workflow do you prefer.
GDevelop require no coding, very convenient, drag 'n drop game making, it is best if you prefer a linear workflow where you program your entire game from a single entry point. Meaning you don’t need to divide your logic in to separate pieces, you can do everything in one place.
Godot is more object oriented, you need to create objects and then program those individual objects and divide your logic in to pieces for each individual object.
Unity offer a component based workflow meaning you can program components to do certain tasks and you can attach this components to any objects to be effected, controlled by the component which helps reduce the amount of code you need to write.
Of course if you really want to, it is possible to do any of the workflow in any of the engines, you can do object oriented and component based in GDevelop using custom behaviours and functions and you can also put everything in to a global script in Godot and Unity, but each engine support 1 workflow better than the other 2, so you should pick the one that fit your workflow better.

Then you should consider monetisation options, how do you prefer to make money, If you want to sell your game the traditional way, any engine is fine but in case you would like to interface with 3rd party API’s and use 3rd party payment processors, in-game purchase, DLC’s you need to consider which engine offer support.
GDevelop support ads with AdMob and ads only no in-app purchase and DLC support.
Godot has partial support for AndroidBill on Android and StoreKit on iOS and AdMob but it is partial support meaning will certainly break and won’t work but sounds better than saying “no support”.
Unity is fully support everything.

Then you need to consider support.
GDevelop is developed in spare time by contributors who don’t get paid to work on the engine, also rely on lots of 3rd party libraries that also developed in spare time by free contributors. While, it is certainly offer a very dynamic, fast growing experience, when you have a problem then unfortunately you have the problem, there is nobody to offer support. You are alone. Of course contributors and developers are nice around here, love to help you but you can not blame them if they don’t help you.
Godot also rely on free contribution a lot and the same apply as to GDevelop. But the core engine is developed by paid developers and if you have a problem there are people who get paid to listen and fix problems you have. Of course it doesn’t mean all your problems get fixed but the chance is still greater than with GDevelop that rely 100% on free contribution only.
Unity is a commercial engine, paid developers working on the core and lots of paid developers working on paid extension. if you need support, there is more likely someone listening to provide support and get your problem fixed. But of course it does not apply to free extensions, free extensions just the same as free contribution, you may or may not get support when you need it but at least Unity do offer the option to pay and get the the support you need which is very important when you are not making a game just for fun but you have a budget and bills to pay.

Obviously if you don’t mind coding in C# and the component system and to pay royalty, Unity is the winner here and probably this is why not so many people publish complex, commercial 2D games with GDevelop or Godot because almost everyone want to target Xbox, iOS and Android with in-game purchase and paid DLC’s in the first place, in which case Unity is the best option. But it doesn’t mean the others are not capable, only that Unity is more capable than any other free engine ever be.
Of course there also always be people who really happy with free engines and develop something amazing that may raise the question why those people did not choose Unity, and the answer to that, probably because those people did not like something about Unity and they did not need it but it doesn’t change the fact Unity is better than most free engines.

So I would recommend to try all 3 engines. There are free 30-60 minutes tutorials for all engines to make almost every type of game especially platforms, try them all, complete some tutorials, play around with each engine a few days and then you can make a more educated choice which engine fit you and your project better.


#6

Thank you very much ddabrahim for your lengthy and thoughtful reply. This would only be a hobby, I think, so monetisation isn’t important. While I would like to make something good, I will likely just share it for free on itch.io, or as a Windows desktop game.

I must admit, that I get so stuck trying to decide on things that I end up doing nothing at all! But, your suggestion to try several engines and see which I prefer is a good starting point. I could watch videos forever about what engine is best and never actually create anything. So I have downloaded GDevelop and I’m going to follow some tutorials, as you suggest. Thanks again.