madster's Recent Forum Activity

  • Hope I'm not getting annoying, but I was really lacking several blur types.

    So, here's yet another variable size gaussian blur, only this time you can choose the ANGLE.

    Very useful for motion blurring, its faster than doing the fullscreen thing.

    Good for ninjas. And stuff.

    http://www.udec.cl/~jfuente_alba/Blur%20Motion.fx

    It's almost just as fast as horizontal and vertical plus, so I guess it replaces them (just do two passes, one with angle 0 and another with angle 90).

    Included example: scirra logo moving with per-sprite motion blur.

    http://www.udec.cl/~jfuente_alba/blur_motion_example.cap

    Edit: as per Shviller's request: a motion trail effect, similar to motion blur but only in the direction of the angle.

    http://www.udec.cl/~jfuente_alba/Motion%20Trail.fx

    http://www.udec.cl/~jfuente_alba/motion_trail_example.cap

    Edit: bleh fudged the weights in the Motion Trail effect. Will fix tomorrow.

    Only one blur type remaining in my list

  • Metroidvania sounds good to me.

    I believe if we were to take the 'everyone make a character' route the art would be all over the place. Better to have each person do a different job:

    Gameplay design

    Art direction

    Level design

    Character drawing

    Animation

    Backgrounds

    Gameplay events & proxy objects

    Effects

    etc.

  • There's no need for any game to have motion blur turned on all the time, I don't think.

    I don't think so :s I mean if you say that because it's slow then yeah.

    But I love how it looks, more natural. At least the motion blur that comes with Construct looks like that. (has to do with magnitudes)

  • thirded

  • Okay.

    Turns out the horizontal and vertical blurs are in fact 13-tap gaussian kernels and gaussian is separable, so it's much better to do in two-pass where you end up with 13^2 taps.

    So, I present thee Vertical and Horizontal blur plus. All I did was normalize the size then multiply the kernel by a size.

    http://www.udec.cl/~jfuente_alba/Blur%20Horizontal%20Plus.fx

    http://www.udec.cl/~jfuente_alba/Blur%20Vertical%20Plus.fx

    Also, I made a 13-tap Poisson disc blur kernel. You can see how it looks less smooth. Apply twice and it looks just like gaussian (but distributed as Poisson, natch). Weights are the same as Gaussian right now, I need to do some research and get the right coefficients for a Poisson distribution.

    Meanwhile, the unfinished Poisson disc:

    http://www.udec.cl/~jfuente_alba/Blur%20Disc.fx

  • I checked the horizontal and vertical blur and they're 12-tap. I thought they were 3-tap :O

    so anyways, that means I should go with a 12-tap poisson disc filter.

  • I'd go for it only if we manage to define clear roles and responsabilities, a short and clear design doc and a timeline with milestones.

  • Photoshopped.

    I can tell from the pixels and from having seen quite a few shops in my time.

    Actually that's pretty funny. I guess morals do change a lot in a hundred years.

  • correction: opacity should be percent instead of float.

  • Hello!

    Made an effect. This here is the first draft, will be *vastly* improved soon.

    Things I'm looking into:

    choosing number of samples.

    Proper placement of samples.

    Time-based randomization of samples.

    Size of effect (don't understand it yet).

    Things that are working:

    -blur amount

    Blur.fx:

    // Variable Blur
    // Jorge Fuente-Alba
    // PS 2.0
    
    //#CROSS-SAMPLING : reads pixels it may be writing.
    //#BORDER-MODE : samples pixels outside bounding box
    //#PARAM float blur 2.5 : Blur : amount of blur.
    
    // Foreground texture
    texture ForegroundTexture;
    
    // Foreground sampler
    sampler2D foreground = sampler_state {
        Texture = (ForegroundTexture);
        MinFilter = Linear;
        MagFilter = Linear;
        MipFilter = Linear;
    };
    
    // Parameter variables
    float pixelWidth;
    float pixelHeight;
    float blur;
    
    // Effect function
    float4 EffectProcess( float2 Tex : TEXCOORD0 ) : COLOR0
    {
        // Add the front and back pixels
        float4 here = tex2D(foreground, Tex.xy)*0.25;
        float4 left = tex2D(foreground, float2(Tex.x - (pixelWidth*blur), Tex.y))*0.1875;
        float4 right = tex2D(foreground, float2(Tex.x + (pixelWidth*blur), Tex.y))*0.1875;
        float4 top = tex2D(foreground, float2(Tex.x, Tex.y - (pixelHeight*blur)))*0.1875;
        float4 bottom = tex2D(foreground, float2(Tex.x, Tex.y + (pixelHeight*blur)))*0.1875;
    
        return here + left + right + top + bottom;
        //float4 src = tex2D(foreground, Tex.xy);
        
        //return result * (1-src.a) + src;
    
    }
    
    // ConstructEffect
    technique ConstructEffect
    {
        pass p0
        {
            VertexShader = null;
            PixelShader = compile ps_2_0 EffectProcess();
        }
    }
    [/code:dlvy8o5v]
    
    Example .cap using it: [url]http://www.udec.cl/~jfuente_alba/blur_example.cap[/url]
  • That's the first psx version of the game, not concept video.

    It has bits of video that never made it into the final game, with yorda lying down... my guess is those are from the concept video. Of course they could also be scrapped FMV for the PSX game.

    Doesn't really matter. If this Trico video is real (and it seems to be, judging by your comparison) there's gonna be a bunch of giddy people upon release, me included.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Awesome!

    At first it bugged me that blur is actually the opacity of the shadow and thought it could be a mistake.

    Then I looked at the code and realized it's within my capacities, so I fixed it. I kept opacity, so now it's a drop shadow effect with opacity AND 5-tap variable-size blur:

    // Dropshadow blurred
    // David Clark (edited by Louis Ferina, Jorge Fuente-Alba)
    // PS 2.0
    
    //#CROSS-SAMPLING : reads pixels it may be writing.
    //#BORDER-MODE : samples pixels outside bounding box
    //#PARAM float offsetX 5.0 : X Offset: X offset of dropshadow.
    //#PARAM float offsetY 5.0 : Y Offset: Y offset of dropshadow.
    //#PARAM float blur 2.5 : Blur : Blur amount of dropshadow.
    //#PARAM float opacity 0.5 : Opacity : Opacity of dropshadow.
    
    // Foreground texture
    texture ForegroundTexture;
    
    // Foreground sampler
    sampler2D foreground = sampler_state {
        Texture = (ForegroundTexture);
        MinFilter = Point;
        MagFilter = Point;
        MipFilter = Point;
    };
    
    // Parameter variables
    float offsetX;
    float offsetY;
    float pixelWidth;
    float pixelHeight;
    float blur;
    float opacity;
    
    // Effect function
    float4 EffectProcess( float2 Tex : TEXCOORD0 ) : COLOR0
    {
        // Add the front and back pixels
        float2 Tex2 = Tex;
        Tex2.x -= offsetX * pixelWidth;
        Tex2.y -= offsetY * pixelHeight;
        float4 here = tex2D(foreground, Tex2.xy)*0.25;
        float4 left = tex2D(foreground, float2(Tex2.x - (pixelWidth*blur), Tex2.y))*0.1875;
        float4 right = tex2D(foreground, float2(Tex2.x + (pixelWidth*blur), Tex2.y))*0.1875;
        float4 top = tex2D(foreground, float2(Tex2.x, Tex2.y - (pixelHeight*blur)))*0.1875;
        float4 bottom = tex2D(foreground, float2(Tex2.x, Tex2.y + (pixelHeight*blur)))*0.1875;
    
        float4 result = (here + left + right + top + bottom )* opacity;
        float4 src = tex2D(foreground, Tex.xy);
        
        result.rgb = 0;
        
        return result * (1-src.a) + src;
    
    }
    
    // ConstructEffect
    technique ConstructEffect
    {
        pass p0
        {
            VertexShader = null;
            PixelShader = compile ps_2_0 EffectProcess();
        }
    }
    [/code:wt3j76il]
    
    This wouldn't have been possible without the original shader OR the edit. Props to David and Louis.
    Also, the opacities were somewhat arbitrarily chosen, they're not mathematically correct (but they look good enough for me). Positions too are axis-aligned, which is bad. I'll update all of that once I read up on blur kernels.
    Also: 5 tap only so don't go over 10 on blur size or you'll see banding. At size 2 it looks beYaootiful!
    
    Now, this knowledge enables me to do that variable kernel-size blur I've been wanting. Coming soon!
    Oh, example cap for dropshadow blurred:
    [url]http://www.udec.cl/~jfuente_alba/dropshadow_blurred.cap[/url]
madster's avatar

madster

Member since 17 Feb, 2009

None one is following madster yet!

Trophy Case

  • 15-Year Club

Progress

15/44
How to earn trophies