GDevelop-extensions icon indicating copy to clipboard operation
GDevelop-extensions copied to clipboard

Procedural 2D Clouds

Open github-actions[bot] opened this issue 5 months ago • 9 comments

Description

Procedural 2D Clouds Extension

Generate and control dynamic, procedural 2D cloud layers in your GDevelop 3D scenes.

Features:

  • Procedural Generation: Unique, non-repeating cloud patterns using advanced noise.
  • Customizable:
    • Visuals: Adjust color, transparency, density, sharpness, and edge softness.
    • Animation: Set independent horizontal and vertical movement speeds.
    • Pattern: Control unique cloud shapes with seed, tiling, and FBM (Octaves, Persistence, Lacunarity) parameters.
  • Multiple Layers: Create distinct cloud layers with unique IDs and properties.

Limitations:

  • Clouds doesn’t cast shadows.
  • Suitable for the game that camera stays at ground level.

Why I didn't use custom object and let the player set the dimension in the action

Object dimension of the custom object in Gdevelop scene doesn't matches to the runtime scene. No matter what I tried it didn't worked. There was a huge dimension difference between object dimension (threejs plane geometry) and how it was shown in the game preview.

How to use the extension

There are two actions in the extension.

Create Cloud Plane, creates a plane with all the transform, dimension and parameter values that control the FBM noise and animations.

Destroy Cloud Plane, removes the created plane when it is not needed anymore to release the resources it takes.

Checklist

  • [x] I've followed all of the best practices.
  • [x] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
  • [x] I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

What tier of review do you aim for your extension?

Community (Unreviewed)

Example file

Procedural 2D Clouds - Github.zip

Extension file

Procedural2DClouds.zip


Extension by @Eldarduil

You can update the extension on this "Pull Request" by commenting the update command: in the comment field, type !update, then drag and drop a zip file with your extension file in the commenting field, like how you initially submitted the extension. It should look like this:

!update [MyExtension.zip](https://github.com/GDevelopApp/GDevelop-extensions/files/12709661/MyExtension.zip)

It can take a few seconds for the file to fully upload and show as the above. Once it is like shown above, click "Comment" and let the bot do the rest!

github-actions[bot] avatar Jul 23 '25 09:07 github-actions[bot]

!update Procedural2DClouds.zip

Eldarduil avatar Jul 23 '25 15:07 Eldarduil

Can't update the extension, as it doesn't pass automatic tests:

❌ 1 Error found in extension 'Procedural2DClouds':

  ⟶ ❌ [JavaScript disallowed properties]: Found disallowed properties in extension 'Procedural2DClouds':
{
  allowedProperties: [
    'makeUuid',
    'rgbToHex',
    'rgbOrHexToRGBColor',
    'rgbToHexNumber',
    'hexNumberToRGB',
    'hexToRGBColor',
    'rgbOrHexStringToNumber',
    'hexNumberToRGBArray',
    'copyArray',
    'staticArray',
    'staticArray2',
    'staticObject',
    'toDegrees',
    'toRad',
    'random',
    'randomFloat',
    'randomFloatInRange',
    'randomInRange',
    'randomWithStep',
    'evtTools',
    'Variable',
    'RuntimeObject',
    'Logger'
  ],
  disallowedProperty: '_Procedural2DClouds',
  objectName: 'gdjs'
}


❌ 1 Error found in extensions - please fix it before generating the registry.

github-actions[bot] avatar Jul 23 '25 15:07 github-actions[bot]

I made a change in the bot. Please, try to update the extension again.

D8H avatar Jul 26 '25 19:07 D8H

!update Procedural2DClouds.zip

Eldarduil avatar Jul 27 '25 08:07 Eldarduil

Can't update the extension, as it doesn't pass automatic tests:

❌ 1 Error found in extension 'Procedural2DClouds':

  ⟶ ❌ [JavaScript disallowed properties]: Found disallowed properties in extension 'Procedural2DClouds':
{
  allowedProperties: [
    'makeUuid',
    'rgbToHex',
    'rgbOrHexToRGBColor',
    'rgbToHexNumber',
    'hexNumberToRGB',
    'hexToRGBColor',
    'rgbOrHexStringToNumber',
    'hexNumberToRGBArray',
    'copyArray',
    'staticArray',
    'staticArray2',
    'staticObject',
    'toDegrees',
    'toRad',
    'random',
    'randomFloat',
    'randomFloatInRange',
    'randomInRange',
    'randomWithStep',
    'evtTools',
    'Variable',
    'RuntimeObject',
    'Logger'
  ],
  disallowedProperty: '_Procedural2DClouds',
  objectName: 'gdjs'
}


❌ 1 Error found in extensions - please fix it before generating the registry.

github-actions[bot] avatar Jul 27 '25 08:07 github-actions[bot]

Errors were detected in this submission:

❌ 1 Error found in extension 'Procedural2DClouds':

  ⟶ ❌ [JavaScript disallowed properties]: JavaScript usage of the extension 'Procedural2DClouds' must be checked by the reviewer:
{
  allowedProperties: [
    'makeUuid',
    'rgbToHex',
    'rgbOrHexToRGBColor',
    'rgbToHexNumber',
    'hexNumberToRGB',
    'hexToRGBColor',
    'rgbOrHexStringToNumber',
    'hexNumberToRGBArray',
    'copyArray',
    'staticArray',
    'staticArray2',
    'staticObject',
    'toDegrees',
    'toRad',
    'random',
    'randomFloat',
    'randomFloatInRange',
    'randomInRange',
    'randomWithStep',
    'evtTools',
    'Variable',
    'RuntimeObject',
    'Logger'
  ],
  disallowedProperty: '__Procedural2DClouds',
  objectName: 'gdjs'
}


❌ 1 Error found in extensions - please fix it before generating the registry.
No fatal error found the extension can be updated but still need fixes.

github-actions[bot] avatar Jul 27 '25 11:07 github-actions[bot]

Sorry, it needed to be rebased for the fix be used. You should now be able to update it.

D8H avatar Jul 27 '25 11:07 D8H

!update Procedural2DClouds.zip

Eldarduil avatar Jul 27 '25 11:07 Eldarduil

Extension updated with errors:

❌ 1 Error found in extension 'Procedural2DClouds':

  ⟶ ❌ [JavaScript disallowed properties]: JavaScript usage of the extension 'Procedural2DClouds' must be checked by the reviewer:
{
  allowedProperties: [
    'makeUuid',
    'rgbToHex',
    'rgbOrHexToRGBColor',
    'rgbToHexNumber',
    'hexNumberToRGB',
    'hexToRGBColor',
    'rgbOrHexStringToNumber',
    'hexNumberToRGBArray',
    'copyArray',
    'staticArray',
    'staticArray2',
    'staticObject',
    'toDegrees',
    'toRad',
    'random',
    'randomFloat',
    'randomFloatInRange',
    'randomInRange',
    'randomWithStep',
    'evtTools',
    'Variable',
    'RuntimeObject',
    'Logger'
  ],
  disallowedProperty: '_Procedural2DClouds',
  objectName: 'gdjs'
}


❌ 1 Error found in extensions - please fix it before generating the registry.
No fatal error found the extension can be updated but still need fixes.

github-actions[bot] avatar Jul 27 '25 11:07 github-actions[bot]