First Cutscene Completed


(I especially love this part of the cutscene despite the weird narration)
Rose Eden Backstory (youtube.com)
I made this cutscene using moving sprites and particles in Gdevelop. There wasn’t any more progress on the game other than that after I released my first trailer last year. Besides, I really suck at advertising and stuff.
Rose Eden Trailer (youtube.com)

4 Likes

Your game looks amazing!! Have you done all the work yourself? the code, drawings, scenarios, animations, etc.

Thank you! I did make most of this game alone. The backstory was more of α collaborative work. The good thing is that I can be super flexible with the developing schedule. But I don’t even know if this project’s finally going to work out or not.

That’s great! It has effective damage feel and good animations.

Why not?

The sprites I use are too big in size, caused a lot of performance issues. Would be suffering if I’m to shrink the image size and rearrange everything. The game lags on most computers(it’s just a 2d platformer game…).

I understand you because I am in a similar situation with my game. I am not achieving the performance I need, which makes me consider canceling a project that has been in development for a long time.

The same reason why I abandoned my previous project. I thought the image size would be small enough this time, but I was wrong.

I hope you can solve it. The truth is that I have tried few graphics engines and programs to make games, and I did a project only in Gdevelop. I wouldn’t know if the problem is that Gdevelop still can’t handle larger projects or if it’s inherent to programming in general. Beyond the fact that everything can be optimized, there is a limit at which it can no longer be, and there is where I don’t know if there are big performance differences between the different options for developing games.

Congratulations on your work, it’s really great!

It would be a shame to leave the work incomplete, so keep up the good effort!

Regarding the performance issue, after seeing the culling implemented by a user in JavaScript, I started asking ChatGPT 4o for some advice.

I don’t know the details of your problems, but in theory, it’s possible to use some functions, like collisions, directly in JavaScript, reducing loading times.

What do you think? And which function do you think would be the most suitable?

I tried that culling stuff, but it doesn’t seem to work well. That script deletes objects when they are out of the screen and recreates them once they are back on the screen. Properties like animation will not be saved (well at least it is so in the last version I tried). I think it’s more of a problem with the image size.

I tried to reduce the number of background layers and that still doesn’t seem to work… I’ve posted many posts regarding performance issues. One possible cause may be a memory leak in the events but I don’t know how to find it.

This looks awesome man, and I checked the trailer out that looks awesome too. I really think this games gonna turn out amazing! Keep it up my guy.

I recently decided to remake most of this game by shrinking the image size and rearranging the scenes… Hope this will solve the lagging issues.

Heres hoping man, I’m really looking forward to check it out

Watching your game, it seems strange to me to believe that the problem is the images. From what I see in the trailer, it has some camera effects and particle emitters at times. From what I have tested, Gdevelop consumes a lot of resources when using in-camera effects and particle emitters. In the debugger, what consumes the most resources? And how much is spent on rendering? Try the game without camera or object effects and without particle emitters, to compare if these are really responsible for the poor performance.
On the other hand, are the background images whole or cut? It must be taken into account that if they are cut and joined it is easier for the system to stop rendering what is not on the screen, thus reducing consumption.

In one of my previous posts someone told me that the image sizes I use is too large. Most of the sprites of the enemies are bigger than 450450. One of the bosses I’ve made has over six hundred frames of 9001800 which constantly crashed my computer until I shrank them to half of the original size and enlarge the instance in the game to the original size. But it seems like this is not enough. Yesterday I shrank all the images in the game and started remaking everything. The game was a lot more fluent, but it will take a really long time to rebuild all the scenes, but that’s kind of beneficial since I can make better levels now.

The particle emitters doesn’t seem to be the main cause of bad performance. In fact, they don’t even cause any decreases in fps when excessively used. The special effects done by animated objects are far more significant. Last time I checked the debugger. The total ms exceeded 20, which was pretty worrying. The most resource-consuming part was the “attack” part of the code where a lot of collision detection and For Each Instance events are used. Not much resource was distributed to rendering, though. Fewer than 5 ms, if I remember correctly.

The backgrounds are images of size 1800*1200 enlarged to leave no blank spaces. Other decorations are also images of similar size placed in different layers. It maybe inconvenient to combine multiple images together like jigsaw for the background. Enlarging small images maybe a better choice since most of the backgrounds are just empty skies and mountains.

By the way, while testing the game, I found out that scenes without any decoration run much more fluently than fully decorated scenes. This could prove that the lags are resulting from the junks piled up in the VRAM. It’s the cause of every single crash I’ve ever encountered.

Surely the effects consume a lot of resources, especially the blur (perhaps if you use it you may want to import the image already blurred). On the other hand, you may be able to optimize attack events, such as limiting collision detections to certain times. Sometimes you can replace collision detection with proximity calculation.
Regarding images cut and placed like puzzles, I always heard that they gave better performance (a large image, with only a part visible, the system will render the whole thing). However, I myself have tried using several images for different objects and it ended up giving me less performance. I’m using more Panel Sprite and Tiled Sprite. I always wanted to have a correct answer about what gives less or worse performance, but in practice the results are different than what I expected or what I had heard.

I don’t know about the RAM saturation, I don’t know if the processing overuses it. Someone who understands how Gdevelop works may be able to explain it.

For almost a year I’ve been lying to myself that a remake is unnecessary… but sadly it is inevitable. I agree with that blurring images rather than applying in-game blurring is better, but sometimes it may increase the file size. That’s another reason for me to update all the background resources.

Did you put different parts of the background into different objects? Or did you use separate animations of the same object to display the parts? From my experience, having more animations is better than having more objects. Also, having too many global objects can cause performance issues. If you did use too many objects, it won’t be surprising that the method did not work.

I didn’t really know how RAM consumption works. I have a lot of animations on some objects, so maybe that’s not the best.
I have objects to compose the stage, such as images that form the floor and other objects. The downside is that I can’t use the tiled map because the map assembly is not as block-precise. Anyway, I don’t know if I should use it or not (I’ve never used it and I don’t know if it has better performance or not).

For example, I have tried putting together a floor with the same object joined consecutively like puzzles (same object and same image). This did not give better rendering performance than using a tiled sprite or a panel sprite (possibly gave a worse one). This is why I still have doubts about how I should proceed.

Well, maybe you can try using jpg images for some background objects. The decrease in resolution is negligible. Using small background images and enlarging them while building the scene may also help. Still, you can almost ignore the quality decrease:)

I tried this on that big boss I made whose sprite size is 1800x900. I turned all frames into 900*450 and changed it to the actual size in the scene. It did improved performance, by which I mean the game didn’t crash as frequently as before.

Another important factor someone else told me was the resolution of the game. I used to use a resolution of 2400x1440, which was apparently too big for most computers including my own. 1920x1080 is enough for most games, I believe. Well, I don’t know what resolution your project is using, but this may help.