Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add global visual effects #27

Open
ClementSparrow opened this issue Aug 22, 2021 · 5 comments
Open

Add global visual effects #27

ClementSparrow opened this issue Aug 22, 2021 · 5 comments
Labels
events like those used in the SOUNDS section: create/move/destroy objects, etc. Feedback for players! feature New feature or request games Concerns the games: exported, gist-loaded, or played in the editor. polish Make the games or editor behave/look better syntax/language Concerns the language or its syntax

Comments

@ClementSparrow
Copy link
Owner

Things like screen shakes (even if I hate them), particle systems, color filters, blur (even focal blur, focusing on a specific collision layer) or other shader-based effects could be predefined in the engine in the same way we have a system to generate sound effects. And like for sound effects, these visual effects could be triggered by specific in-game events or UI events (notably, undo/restart, see #23).

@ClementSparrow ClementSparrow added feature New feature or request polish Make the games or editor behave/look better games Concerns the games: exported, gist-loaded, or played in the editor. syntax/language Concerns the language or its syntax labels Aug 22, 2021
@ClementSparrow
Copy link
Owner Author

Idea: try using the random sound generation functions and buttons to generate visual effects by controlling various rendering parameters like rotation, translation, scaling, colors, blur, etc. Using directly the sound functions will probably not work but maybe we can take something from them and factorize the code...

@ClementSparrow ClementSparrow added the events like those used in the SOUNDS section: create/move/destroy objects, etc. Feedback for players! label Jul 22, 2022
@david-pfx
Copy link

Good idea. Also smooth moves and rotations (perhaps with various kinds of easing); 'pop' effects on creating or destroying an object; particles or shake for mouse clicks; screen shake, pop or colour on game start/end/etc.

Actually the list of events is much the same as SOUNDS, it's the list of animations that is needed.

@ClementSparrow
Copy link
Owner Author

Yes, these are good ideas too. Some of them can be achieved by defining the sprites manually but procgen would help a lot.

The definition of events seems indeed separated from the definition of effects that can be triggered (visual or sound effects).

My idea was to reuse the wave-generation system from the sound effects because the value of a wave can be used to control in time any parameter of a visual transformation, so we could have a rich and complex system at low development cost, but this needs some experimentation. We could even have sound effects that share some parameters with some visual effects (for instance, the time of an echo in a sound matching the period of a screen shake).

@david-pfx
Copy link

Here's another idea.

LEGEND
quad = one + one:90 + one:180 + one:270   ( new object from 4 rotations )

@ClementSparrow
Copy link
Owner Author

@david-pfx, I think the LEGEND section is not the place to declare new objects, and there is already a more convenient syntax to do what you want in the OBJECTS section:

one:directions
(colors)
(sprite for upward direction)
rot:up:>

Then you can declare quad = one:directions in the LEGEND section if you need it.

Also, please create new issues rather than attach new ideas to an unrelated issue ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
events like those used in the SOUNDS section: create/move/destroy objects, etc. Feedback for players! feature New feature or request games Concerns the games: exported, gist-loaded, or played in the editor. polish Make the games or editor behave/look better syntax/language Concerns the language or its syntax
Projects
None yet
Development

No branches or pull requests

2 participants