How to make those stunning videogame glitches !?


    Mar 31 2019 | 12:54 am
    Hello guys !
    I want to achieve the glitch effects used in the game Memories of a broken dimension. But I can't get complex glitches like that with Max. Any idea how I can make those beautiful glitches ? Thank you for help !

    Let's Play - Memories of a Broken Dimension + Download Link


    • Mar 31 2019 | 2:00 am
      The easiest solution I saw was to actually use a royalty free effect in alpha. If you really want the effect. Of course if you really want to use max, that's a different story
    • Mar 31 2019 | 10:43 am
      Thanks for your help ! What free effect does this kind of visuals ? But indeed, i want to use Max for that, because I want to mix those visuals in realtime with other effects I made.
    • Mar 31 2019 | 3:33 pm
      Thanks for sharing the link to the video GRIGOU. Very inspiring.
      The effects used for this seem to include the following: a) geometric distortion of rendered ego view - maybe the attached patcher shows a way how to get there:
      b) different effects on different parts of the rendered ego view (horizontal region) changing horizontal dimension. Something like this can be achieved using multiple jit.gl.cameras and adjusting their viewport settings. Also using different jit.gl.node @shader attached to the 3d objects might be useful here.
      c) gauss filter, edge filter - there are jit.gl.slab or jit.gl.pix versions available in Max.
      Some effects seem to be related to manipulation of vertices of the 3d objects via an vertex shader and some fragment shader manipulation as already noted with different viewports for different parts of the final image and additionally some fragment shader for the entire final rendering.
    • Mar 31 2019 | 4:19 pm
      Hello Martin,
      I'm glad you liked the video ! I love that kind of visuals !!! A BIG THANKS for your advices and to took the time to make this patch (and with commented code !). I really appreciated, and I laughed when I saw you used also my audio glitch examples ! :)
      The result of your patch is clearly in the right direction !! I think I understand the global idea, but I always had difficulties to understand the effects of objects like : jit.unpack 3 @jump 3 2 3 @offset 0 3 5 I know it output each individual planes of a matrix, but how do you know what are those planes (and in which order they are) ? jump and offset attributes are mysterious to me...
      How do you learn to do those tricks with gen ? Especially the code part with signed normalized coordinates.
      I love glitch art, and I have a lot of ideas in mind to develop glitch machines with Max, but for now, I don't have enough skills to achieve my goals :( I don't have big difficulties to make glitch with audio, but with the video... it's another story !! Mathematics are clearly not my best skill, so it's difficult for me to know what to do when I want to make video glitch like that.
      I used jit.gl.slab and jit.gl.pix a little, but always taking part of code I found on this forum, but I could never do the effects myself from scratch, and shader are also a big mystery for me...
      Do you have any advice on how I could increase my skills on that glitch world ?
      Maybe creating a big thread on glitch art (audio and video) on this forum could be a good idea to regroup techniques, ideas, patches, etc. What do you think ?
    • Mar 31 2019 | 6:15 pm
      I think we should keep this thread alive. I am curious to know if someone else has some more ideas about what techniques are involved in the "Memories of Broken Dimension" video.
      Referring to jit.unpack you can have look here: https://youtu.be/d9TVSTr4K3s?t=364
      • The order of planes is (x,y,z) (s,t) (nx,ny,nz)
      • meaning the 3d coordinates of vertices,
      • texture coordinates on the surface that is described by the vertices
      • and the coordinates of the normals (the vectors that are perpendicular to the faces described by the vertices).
      • In total it is actually 12 different planes including ARGB https://docs.cycling74.com/max5/tutorials/jit-tut/jitterappendixb.html
      The normalised coordinates stuff is somehow standard way to access jit.matrix content. https://cycling74.com/tutorials/demystifying-expressions-in-jitter/ Using the [snorm] instead of [cell] is the preferred way if you want to use matrices of different size e.g. video of different resolution, because the code will behave invariant of this.
      Referring to my example the gauss function that I used was just an arbitrary approach to illustrate how to change the distortion amount along the y-axis. One could also use a noise function [jit.bfg] or another arbitrary matrix of different size than the [jit.gl.gridshape] that is fed in the left inlet of [jit.gen]. On would use an additional [in 2] object and a [sample] within [jit.gen] to distort the vertices with another pattern.
      My personal recommendation for great tutorials on jitter is this
    • Mar 31 2019 | 7:37 pm
      Sem Shimla posted a nice tutorial here about displacing pixels to create a glitch effect, by using a looping video of glitch-effects.
    • Apr 01 2019 | 12:28 am
      amazing visuals in that game :) (also, love that patch of Martin's above, nice work 🙌)
      referring back to the video posted by the OP: maybe i'm mistaken and some of the effects really are a keyframe problem when the video was uploaded to youtube(i didn't try the original game out yet), but some of that pixelation that seems to 'flow' out from the objects in certain ways reminds me of Andrew Benson's optical-flow related shaders: https://cycling74.com/forums/sharing-new-distortions
      (since that thread seems to have dropped his attachment a couple times already, i'm attaching an extra .zip here just for posterity)
      also, here's Andrew's site for other stuff(some javascripts) too: https://pixlpa.com/ hope it helps.
    • Apr 01 2019 | 5:44 am
      Cool Raja, I really like this optical flow related shader by Andrew. Thanks for pointing to this. Waking up this morning I thought I should have look at the patch I posted above and change the vertex manipulation to texture coordinate distortion just by rewiring the patch cords:
    • Apr 02 2019 | 8:41 pm
      Very nice ideas here ! Thanks a lot ! I already checked jit.unpack and jit expressions tutorials. It's a bit more clear. Now, I need to go deep in jit.gen and pix. And experiment with the patchs on this thread !
    • Apr 02 2019 | 9:58 pm
      Anyone any ideas how to achieve these kind of visuals only using Max ?

      rt3

    • Apr 02 2019 | 10:13 pm
      Thanks for the video Martin ! It's really beautiful ! Love it ! For now, I tried to do a random VHS glitch with jit.gl.pix. The effect is interesting, but I think it could be better. What do you think guys ?
      And another try :
    • Apr 04 2019 | 7:50 pm
      Hi GRIGOU,
      an application example of your VHS glitch:
      and inspired by this video here
      an application example that affects color channels
    • Apr 04 2019 | 11:43 pm
      Really nice ! A lot better than my attempt. Thanks Martin ! I still need to work on my noise VHS pattern generation to make a better glitch visual ! I'm not quite satisfied with my code for this part. Working on glitch ideas is an endless pleasure for me :)
    • Apr 04 2019 | 11:53 pm
      Comprehensible passion :-)
      The usage of video input as pattern was also inspiring for me with this patch version here, but I should go to sleep now.
    • Apr 06 2019 | 5:36 pm
      On the way to understand how to achieve this kind of pixelation effect from https://vimeo.com/211346942
      Pixelation on certain regions of image.
      I want to share this intermediate approach including the VHS glitch pattern generator from GRIGOU:
    • Apr 06 2019 | 5:52 pm
      Thanks Martin for the patch ! The video you shared is really nice ! I love this kind of glitching geometry. I made some patches with 3D shapes generation like that, I will try to mix that with those glitchs.
    • Apr 06 2019 | 6:32 pm
      I just try something with 3D shape glitch and some noise.
    • Apr 06 2019 | 8:47 pm
      Another try with jit.gl.bfg.
    • Apr 14 2019 | 1:51 pm
      Some more glitch madness
    • Apr 14 2019 | 8:08 pm
      Thanks !!! So much nice technique to study in your patch ! The color displacement give a nice VHS style !!
    • Apr 14 2019 | 8:28 pm
      So let's make the patch a little more crowded ;-) I recommend to use Rajas "Journey of the sparklies" as music to drive the visuals https://cycling74.com/forums/-share-•˚**˚•˚*_journey-of-the-sparklies_*˚•˚**˚•
    • Apr 14 2019 | 8:49 pm
      Wonderful ! Love the scanlines effect. This effect wasn't here in your previous patch, but I didn't find what part of the patch is doing it. Maybe it's related to audio input ?
    • Apr 15 2019 | 8:02 pm
      The main difference to the previous patch besides camera automation, voronoi origin automation and higher dim of the gridshape is the change in the pixelation code. Have look at the parameter horsamp. If it is zero the sampling in horizontal direction leads to the lines effect.
    • Apr 21 2019 | 8:08 pm
      Let's keep this thread alive -Glitch technique ideas.
    • Apr 22 2019 | 3:25 pm
      this is cool! I like the thread
    • Apr 24 2019 | 7:25 pm
      ... some more glitches and distortions. I recommend https://cycling74.com/forums/-share-•o_0∆cellblock-caravan∆o_o• as music to drive the visuals.
    • Apr 24 2019 | 10:03 pm
      Martin, you're the Master of glitch here !!! Your last patch is exactly what I was dreaming to do with Max since months (and years) ! jit.gl.pix is really a beast for those kind of visual glitches. I really need to master it. I have a question for the part 2 of your patch (the 2 jit.gl.texture objets) : is it better to feed textures with video ? Or it's possible to feed them with other kind of input without breaking the glitch effect ?
      I was thinking about sending the content of the jit.gl.node inside the two jit.gl.texture objets or the output of jit.gl.pix (the one for the displacement map) or the output of jit.gl.slab world @file cf.gaussian.2p.jxs or adding another glitch map for the texture.
    • Apr 24 2019 | 11:02 pm
      this reminds me on actual glitches of quake or unreal engine type of games which were partially incompatible with certain graphics cards or a problem loading the correct shader for some elements in the map.