Gdevelop suitable for "large" projects?

Hello there!

(I found a few topics on the subject but they were old so I’m gonna ask again in 2023)

I’m an illustrator and one day I woke up thinking “After all, what’s really stopping me from making a god damned video game?”. Since the answer was: “Bloody nothing!!”, I decided to go for it.

As I plan to do everything all by myself (story, dialogues, drawings, animations, music, etc.), I thought it would be a good idea to save myself months (years?) of development learning on top of all that.

So I naturally turned to Gdevelop, which looks really handy for 2D.

So my question is: given that my game will be a mix between Platformer, Point & Click and Narrative Game with lots of dialogues (say, a fusion between Oxenfree, Monkey Island and Ace Attorney?) and that the game will be entirely in 2D (NO pixelart) with entirely drawn backgrounds, sprites and animations, in HD, AND THAT the game is likely to be fairly long (not sure of the length yet, but probably between 10 and 20 hours), am I likely to run into optimization problems with Gdevelop?

Is Gdevelop suitable for larger projects, not necessarily in terms of code but rather in terms of overall files size?

I prefer to ask this question before I really get started, so that I don’t realize 1/3 of the way through development that the game suddenly takes 10 minutes to load the assets at the start and then begins lagging, forcing me to compress my images etc.

Thank y’all !

I’m not exactly sure? “I would imagine so?”

but I do know that you"'ll have to learn how to export in a “different” way if its over 500mb

This might help its a lot of words tho

Thanks! I actually already saw that topic but I thought “it’s a 2018 post so maybe Gdevelop optimization changed in 5 years”.

I’m not sure about optimization being all about file size and not also (or more?) about “code and variables complexity” (which probably won’t be an issue for me here), that’s why I’m asking.

File content sometimes matters more than file size. Although filesize still matters.

You should not use any sprites or images larger than 2048x2048, and generally want to keep any items with animations under ~512x512. The former is a hard limit of the renderer (PixiJS in electron), the latter isn’t a GDevelop specific thing but game dev in general.

Images are loaded into GPUs decompressed, so anything with multiple frames takes exponentially more GPU memory than the on-disk filesize.

Outside of that, your total assets across the full game can be multiple gigs without issue (beyond trying to make it a webgame at that size).

Edit: for reference, even Spiritfarer, one of the most impressive hand animated games, keeps its sprites under that size. Larger characters like the turtles or dragons are larger still images with smaller animated images bolted on via logic for the moving parts.

Thanks for the answer!

Okay so if I go with a long platform level, it’s better to “cut” my final png background to, let’s say, multiple 1920x1080 pngs instead of having a big ass 6000x1080 unique png? (adding that I will also have multiple “layer pngs” for the same scenes to do some parallax, cloud moving etc.)

Doing so, the game will load them gradually when needed and have enough time to “buffer”?

About the code, I assume having tons of .json dialogue files won’t really cause performance issues?

Yep, this is the correct way to do that.

Yep.

I’ve never seen an issue with a ton of dialogue files, but Yarn is also really good in that you could have one very large single dialogue json and jump to the nodes you want, too.

1 Like

Hello. I’m making a game like the one you describe (I’m also a fan of games like Oxenfree and Night in The Woods). When I started using GDevelop last April there weren’t any examples of games like that made in GDevelop, and I think that’s still the case. Back then I was encouraged to see a platformer from Coriander Games (has a YT channel) that was constructed from large artwork made in Photoshop, then sliced into lots of PNGs and reconstructed in GDevelop. So that encouraged me because I knew that I wasn’t going to be limited to tilemaps. Still, that was all I had to go on.

Since then I have slowly worked on my game and found GDevelop to be a great engine for this sort of game. I have large artwork chopped into smaller pieces and I also have 2 layers of parallax (foreground and background). So far so good :slight_smile: Performance is smooth and consistent, though the true test will be trying my stuff on a less powerful machine than the one I am developing on. I have a large version of my player character for indoor scenes and that all works fine. I have some large assets that I use for full-screen ‘close up’ interactions - all fine so far. I optimise my PNGs to squeeze their filesize down, keeping the project as small as possible. I am developing for desktop, 1080p, and not for browser or mobile.

I have a YT channel, if you want to see the sort of thing I’m up to - I say that not for promotional reasons, but I think it might help for you to see this sort of game running in GDevelop, which isn’t something I had when I started out. Someone commented under one of my videos recently basically saying “I wasn’t sure GDevelop was right for me because I want to make something narrative focussed and longer, and I didn’t want to make mobile/arcade games, but now I know it can probably do what I want”.

My most recent devlog is called “Game devlog #7 - It’s been a while - GDevelop”, and you can see an indoor location and a full-screen interaction. Skip ahead and/or play it at high speed because I do like to talk! Feel free to ask questions. I am not an expert, not at all, but I might be able to offer encouragement if nothing else. Good luck with your project.

3 Likes

Hi!

Thanks a lot for the reply. It’s actually a blessing for me to get an answer based on experience. It’s the best way to be quite sure my game will, or at least can be done the way I wanna do it.

I may have lots of things to do before really starting, my scenario is not over and I’m still not 100% sure about my core gameplay but at least, I now know for sure I’ll start with Gdevelop and that’s already important.

By the way, I watched a couple of your videos and I absolutely agree with the part when you say you can start learning something whatever your age is and it’s particulary true for illustration. The “hard” part of illustration is training your hand, that’s what is actually taking years and years. About the rest (= training your brain), it’s pure theory to learn and you can learn it at any age whether you’re talented or not so talented (or even not talented at all). Yeah well, it maybe will be simpler if you’re 17 but as far as I’m concerned, you’re still an human being with a damn brain when you reach 40 (which I did last year :grin:). The key is to actually not bother comparing yourself with the geniuses you may find on the internet. If I wanted to become as good as Kim Jung Gi, I’d have stopped to draw 20 years ago!

2 Likes

Thanks for your feedback. I’m having a great time with game development and I’m glad I’m no longer putting it off. These days I tend to think “I might not win any awards, but I am doing something I love and find fulfilling”, which is all that matters. Comparing yourself to others creates a “What’s the point?” paralysis, and I’ve got no time for that self-defeating nonsense anymore :slight_smile:

Good luck with your project and feel free to give me a shout in the future if you think I can advise on anything.

1 Like

Sorry if I’m off topic, but as a 41 years old man who’s in contact with neurologists (due to my nerve illness), I can tell you that there’s no difference between a young and old person, their mental ability to learn is the same.

Times ago there was the theory of less neurons meant a loss of cerebral/mental ability, but nowadays is known that less neuron doesn’t mean that, but the remaining ones “specialise” and replace the absent ones. This explains why many aged people, especially scientists and teachers, are still good and smart despite their age.

The only reasons why some aged people have difficulty learning is because they develop some brain illnesses or they are tired or focused on important daily tasks (as bills, work, family and so on).

1 Like

Yeah, it’s actually not a problem about number of neurons but more of a problem about:

  • Lack of “life time left” to become good :grin:
  • Lack of time at all because we usually have more “important daily tasks” as you say.
  • Lack of “interest space” because we usually have more “parasit things” to think about at this age, too.

That’s why we old fucks (haha) love to say “PROFIT!!” to young people.

1 Like

So true…

Back in topic (keeping our problems apart), my opinion on creating with GDevelop covers three points.

Talking about the ability of GD to support large projects, in my opinion is just a matter of optimisation. I’m not an expert but all the “big” game engines need workarounds to manage every aspect of the game, even the AAA ones.

Optimisation isn’t an easy thing to manage because isn’t a single aspect. For example, you’ve received an advice about the size of your drawings. An other one is to manage your sprites in order to don’t let them saturate the game memory. Sprites that go out of the camera are still calculated by the game, so they need to be deleted or not calculated, if not they can create a horrible lagging. Many MMORPG and open world have characters that act outside the protagonist’s view, and it’s very important not to calculate hundreds of them at the same time! (plus all the objects that move some some reason, as the tree branches and/or grass under the wind or when characters pass through them).


The second is pretty simple: knowing GDevelop. At the start, is difficult to understand and figure out how to make events. This happens with everything we try to learn, GD isn’t an exception. I’m trying a lot to make the mechanics to complete a short game, at least. Variables and their application are still difficult but I’ve learnt more that I’ve expected, trying and trying again.

I wasn’t satisfied by the Top Down Pixel Perfect Movement behaviour for my character, so I tried and, finally, I was able to create one by myself.


The third is never give up when we face fields we don’t know. For example, I’m not an artist but know I’m able to draw some 8 and 16 bit small characters. Not something refined, but looks good.

1 Like

For me, the key to starting a new project is to capitalize on what you already know how to do and gradually add things you don’t know how to do.

For example, in my case, I don’t know anything about game development, but what I do know how to do (more or less) is draw (that’s my job) and tell stories. So instead of going for crazy stuff that requires years of development training, I’m going to go for a narrative game with dialogues and a bit of platforming so that I can draw on my knowledge as much as possible.

In short, you have to balance the project properly, with a significant proportion of things you’ve already quite mastered, so that you can rely on them when you’re struggling with the rest of the tasks.

That’s what I did when I learned animation. Learning animation when you don’t know how to draw means adding problems to problems indefinitely.

When I started drawing more or less correctly, I relied on that to start animating, to minimize the unknown part of the project and not get overwhelmed by frustration (and give up in the end).

1 Like

I recommend using PNGoo for your file compression.

Default settings will reduce your file size to around a third of it’s original size. Depending on the image, and your tweaking, you can go further than that.

You can download it here: Google Code Archive - Long-term storage for Google Code Project Hosting.

A bit about it here (first item, and winner, of test!): https://edit.co.uk/blog/quick-look-three-png-image-compression-tools/

1 Like