Welcome to the GlPortal issue tracker. New to the project? Try our simple tasks.
FS#75 - Fizzlers appearance
Portal 2's fizzlers / emancipation grids have a water-caustics-looking appearance (in fact they are generated caustics textures, colored and animated in a Perlin noise octave fashion).
On this image, the upper left one is the "modern" look, and the upper right one is the is the "old Aperture" look. Other fields colors are not part of the original game and has different purposes.
Inspired by this design, our fields can look similar but better by actually making them 2D water simulations, more popularly known as the "ripple effect", as popularized by this article. Here are a few HTML5 example implementations: 1, 2, 3, 4.
As described in the design ideas document, those fields would have their emitters stuck to the wall, either recessing or part of it. These could, on the 2D water sim, constantly create waves by setting the said simulation "pixels" to a sine function of time. Additionally, interaction from the player or any other physical object would actually make waves as the said object passes through the field. This effect should be able to be disabled and tweaked (resolution setting) in the settings, as it implies some rather heavyweight CPU-side computation and frequent CPU -> GPU texture uploads, which is limited by bus bandwidth. Use interpolation to our advantage.
However, due to the current (portal closing/portal bullet vanishing, object dissolving, player killing) and future different stacking functionality a single field can have, we must ensure the visual signals indicating those functionalities are stackable too. First off, R+G+B colors addition could do the trick. For further functions, things such as particles is an idea.