4ian / GDevelop

🎮 Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.
https://gdevelop.io
Other
11.26k stars 871 forks source link

Tiled Sprite Randomization Feature (Randomized Rotation and Offset combined with blending) a la Construct 3's r321 update. #6464

Open fatal-exit opened 8 months ago

fatal-exit commented 8 months ago

Description

I was working on a few variations of a test project in several different game engines (first GDevelop, then Gamemaker, then Construct 3) where I rebuilt the same project to test implementation of an artstyle, and I found it absolutely wild the difference the feature added in Construct over a year ago made to tiling textures.

A breakdown on their website of what they implemented: Screenshot 2024-03-17 182409

And for clarity's sake a direct comparison of a similar GDevelop project to almost the same thing in Construct, the background is the exact same texture file (same resolution) with just that feature applied.

Video previews: GDevelop: https://github.com/4ian/GDevelop/assets/18744825/da887af7-3f2f-4791-b349-435f105447cf Construct 3: https://github.com/4ian/GDevelop/assets/18744825/2cb36b89-2430-4808-8263-c7f91024eca5

Solution suggested

Implementation of a similar system that incorporates blending along with randomized offsets and rotations would be an amazing feature combined with the huge amount of textures available on the asset store. The feature in Construct 3 currently looks similar to this: Screenshot 2024-03-17 184124

Even if it weren't as parametrically advanced as the C3 solution, it would still add a ton, especially for top down or isometric games or background textures!

Alternatives considered

I am unsure of any obvious alternative features that would fit the bill as much as this one, maybe a shader effect that could be applied to an object or layer but I feel this would be way less reliable than the main request.

VanCastar commented 8 months ago

This is something that I've wanted to be available for years for tiled sprites <3

4ian commented 8 months ago

Nice effect indeed. I wonder if this could be implemented as a shader that we can make available as an effect (for any object) and/or directly built in the tiled sprite object (and panel sprite object?).