fedca's Forum Posts

  • yea that vampire survivor-esque push out solid thing you made is nice!

    I guess the build in collision cells must update when an instance moves I assume (well not the whole thing but the specific instance) instead of just every frame. Plus they also handle objects with different sizes.

    I'll check the spacial hash out you linked, definitely seems like a custom solution is the best for extreme cases.

    Still would be awesome to have access to the build in system and I assume (naively) it shouldn't be much more work for Scirra then to expose the interface.

  • All I am asking for is a scripting interface to query the collision cells, it could be something like:

    runtime.collisionCells.getInstancesInRect(x1,y1,x2,y2)

    I don't understand what you are arguing about when you yourself don't seem to know what collision cells even are:

    from a programming perspective, I'm not sure how that is possible, ha. You can't get something from nothing - not sure what other way you could start from other than an array of objects and at minimum filtering the array

  • bro why are you trying to convince me that I don't know what I am talking about, what is the purpose of this discussion?

  • Yes, you even quoted where I described the case, any system that needs to check collision against many instances will run very badly without collision cells as they have to loop over each instance which can quickly go up to thousand and thousands of checks per tick, for example 128*128 = 16.384.

    I wrote this after I tried rewriting a system in js with the intention to increase performance, but instead I actually made performance way worse as I couldn't use collision cells. Sure I guess I could create my own system, but it feels redundant if there is already one in the engine that also already has its own overhead of being created and updated.

    I'm not sure you are aware, but behaviors and is overlapping on collision events make use of collision cells (unless you pick beforehand). It's just that js doesn't allow accessing the build in collision cells.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I've currently been getting into shaders and done a handful of effect for c3.

    When reading resources about shaders I often find the technique of down-sampling and then running shaders on that downsampled framebuffer and then upsample later. This seems to lead to crazy performance benefits as the amount of pixels is just that much lower.

    (example, super fast blur Dual Kawase https://www.shadertoy.com/view/3td3W8)

    I tried to apply similar techniques in c3 but that either lead to very weird results or seem outright impossible. So I wondered is this a skill issue and it's possible?

    Or if not possible I wonder if it would be feasible to extend the effects sdk to allow to read and write to frame buffers to allow for some additional shader techniques.

  • Newest Effect is a glitch Shader bsed on this Shader by user Coolok : shadertoy.com/view/4dXBW2

    download here: https://www.construct.net/en/make-games/addons/1113/glitch

  • R0J0 just casually dropping bangers

  • solution for bloom:

    this effect allows you to use bloom with a lot of control over how it looks and how much performance it cost as it allows you to use any blur you want. You can also decide how it should be blended, additive is the obvious choice but you might try other blending modes like screen.

    HOW TO USE:

    • create a mask sprite, opaque pixels apply the effect
    • add my new effect luminosityMask to the mask sprite (https://www.construct.net/en/make-games/addons/1112/luminosity-mask-bloom)
    • tweak the effect, you can see here which pixel will be affected etc.
    • add any blurs you want to the mask, for example the build in blur or my Kawase Blur
    • add a blend mode, for example Additive

    An example project is included on the addon page.

    Imo this is the best solution for Bloom in c3 currently, it'S really tweakable for an artist without needing to look at shader code and works with any blur so can be as light or heavy on performance as you want.

  • These are fantastic! I've added one to our project already. Thanks very much for sharing these, and I hope there's more quality effects from you in the future!

    Awesome to hear, I'm interested to see how people use these effects. :)

    Let me know if there is anything you need changed or fixed!

  • created a new effect today, the KawaseBlur (also added to the first post).

    The Kawase Blur is designed to mimic a gaussian blur at much better performance.

    It's supposed to be used with multiple passes.

    To avoid artifacts use the following kernels depending on how strong the blur needs to be

    2 pass = 0.5, 0.5

    3 pass = 0.5, 1.5, 1.5

    4 pass = 0.5, 1.5, 1.5, 2.5

    5 pass = 0.5, 1.5, 2.5, 2.5, 3.5

    7 pass = 0.5, 1.5, 2.5, 3.5, 4.5, 4.5, 5.5

    10 pass = 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 8.5, 9.5, 10.5

    (for example for the 4 pass blur you add KawaseBlur 4 times and the set the kernels for each effect in that order) You can also try other sequences (like 1.5, 2.5, 3.5, 4.5) but you might get artifacts.

    https://www.construct.net/en/make-games/addons/1110/kawase-blur

    example of the effect used as a background blur in my game

  • yea it's really weird. The thumbs up do affect the star rating, it seems like the up vote down vote ratio is remapped to 0-5.

  • I recently start to get into shaders, so created some free effects for C3 and I want to compile them here. All of the shaders support webGL and webGPU so they are future proof.

    Let me know if you have any issues with the effect, need some changes or other feedback.

    If you want to support me I'd appreciate a coffee :) https://ko-fi.com/fedecalchera

    Bloom

    Bloom solution using a luminosity mask (see addon documentation and example project)

    https://www.construct.net/en/make-games/addons/1112/luminosity-mask-bloom

    Kawase Blur

    Kawase Blur to mimic gaussian blur with better performance, supposed to be used with multiple passes (see addon documentation)

    https://www.construct.net/en/make-games/addons/1110/kawase-blur

    Goddess Rays

    Procedural animated God Rays, effect has very little performance cost. Based on a shader for Godot (godotshaders.com).

    https://www.construct.net/en/make-games/addons/1121/goddess-rays

    Glitch

    Glitch effect, base on this shader by user Coolok:

    https://www.shadertoy.com/view/4dXBW2

    https://www.construct.net/en/make-games/addons/1113/glitch

    Tint Blend

    Overlay a Color with adjustable opacity.

    https://www.construct.net/en/make-games/addons/1026/tint-blend

    Add Color

    Overlay a color with adjustable opacity and additive blending.

    https://www.construct.net/en/make-games/addons/1103/add-color

    Gradient

    Overlay a two color gradient, with adjustable gradient angle, smoothness and opacity of each color.

    https://www.construct.net/en/make-games/addons/1107/gradient

    Transparent Edges

    fade out a sprite from the edges, has a bunch of properties that allow for a wide variety of uses, how soft, how round, how large etc.(you can also flip the effect by choosing a larger Outer than Inner property):

    https://www.construct.net/en/make-games/addons/1123/transparent-edges

    Box Blur

    Two pass box blur with adjustable kernel (strength of the blur).

    https://www.construct.net/en/make-games/addons/1108/box-blur-horizontal

    https://www.construct.net/en/make-games/addons/1109/box-blur-vertical

    Directional Blur

    Allows you to set the angle of the blur and tweak the blurs strength and quality.

    https://www.construct.net/en/make-games/addons/1149/directional-blur

    Color Vignette

    Similar to the build in vignette but it allows you to set the color plus some additional parameters to tweak.

    https://www.construct.net/en/make-games/addons/1114/color-vignette

    BOKEH

    https://www.construct.net/en/make-games/addons/1182/bokeh

    Buttery Bokeh blur, keep samples low otherwise performance cost can get heavy.

    Gradient Map

    https://www.construct.net/en/make-games/addons/1189/gradient-map

    Remap the colors to a three color gradient.

    Overlay Color

    https://www.construct.net/en/make-games/addons/1191/overlay-color

    add a color with overlay blending.

  • It doesn't work because it's impossible that the same value is 37, 1 and 8 at the same time.

  • yea I think a lot of the activity has moved to the community discord

  • Is there a way to get the instances overlapping a point in scripting that makes use of collision cells and so doesn't require to loop over all instances?

    This issue really makes it hard for me to do performant js without having to implement my own Quadtree/Collision cells.

    The example projects seem to loop over all instances, which is fine for the limited scope of the examples but would not work out well for projects with larger levels and lots of instances.

    Implementing my own Quadtree on top sounds a bit overkill as there already is a collision cells system.

    Tagged: