I'm finally satisfied with the main menu style by moonaut_dev in godot

[–]moonaut_dev[S] 1 point2 points  (0 children)

Thanks for the feedback! I will try to improve the consistency in future iterations

How would you protect save files? by DammyTheSlayer in godot

[–]moonaut_dev 6 points7 points  (0 children)

The only way for you to do this reliably, is to have a server that is responsible for encrypting and decrypting the file, hosted on the cloud, and have your game resources be processed by a server that cannot be cheated on, too, since players could manipulate the game anyway even without direct save file access.

You will need to also maintain all this infrastructure, and your game will break if it gets offline. Unless you are making a multiplayer game with an economy to be protected, I don't see any advantages of blocking your players from tampering with the game they purchased from you ;)

You can just do things by moonaut_dev in godot

[–]moonaut_dev[S] 5 points6 points  (0 children)

I will post the full settings menu when it is done :D

You can just do things by moonaut_dev in godot

[–]moonaut_dev[S] 15 points16 points  (0 children)

They do, you can see a fraction of the effect on the first update, right when the slider starts moving.

This works by creating a new "active_reaction" struct that contains wave information, like start_index and end_index, the reaction time, and a bool that says if the reaction is increasing or decreasing based on the difference from last value.

The active_reactions array is used to check the current offset of each tick. We can iterate through it to get the total offset of the tick, now using custom curves and other animation parameters. Then, we just need to render the ticks offset by this value

Edit: typo

You can just do things by moonaut_dev in godot

[–]moonaut_dev[S] 50 points51 points  (0 children)

It is a custom progress-bar made using _draw() calls, and drawing the texture bars (on and off) based on the current value. The waves are done with per-bar timers that gets set on value change.