Defining Awesome — Real-time self-shadowing test
  • Status Updates

  • Real-time self-shadowing test

    Written by . Posted at 10:54 am on April 13th, 2011

    I introduce real-time bump mapped tiles with directional ambient occlusion aka self-shadowing. Here is a little gif preview.

    OK… I tricked you. That’s how 2D tile maps look nowadays and looked since 1979. Here is how Link-Dead tilemaps will look for real.

    This is a technology to render 2D maps with realistic light sources. The highlighted bumps create an illusion of depth and material shininess. The shadows create the illusion of volume. Can you imagine how godly this game will look like with this?

    Be Sociable, Share!

    13 comments.

    1. yay. u finally left that offline bullshit.

      how is this any different from normal/specular/bump maps anyway? will this work on existing maps? is the depth data generated on the fly based on what u make in the editor?
      can’t wait to see actual footage of this. also plz enable shadows from everything on the map!


    2. It’s different because of self-shadowing. Just bump maps look a bit weird and fake to me. They always did, every game with bump mapping is like this, but I never could tell why.

      That’s also one of the reasons I removed bump mapping in the alpha version (bump mapping was in the first tech preview of LD).

      The missing component are shadows casted by the bumps. This isn’t a very popular technique in 3D because it is very expensive. I managed however to do it offline and then after a bit of trouble did it in a pixel shader.


    3. It’ll only look as godly as the art assets do.


    4. Cool, they don’t mention that it self-shadows anywhere. It’s not plain parallax occlusion mapping. I’ll use that video as reference, I see I made specular a bit wrong.


    5. I didnt get any download link! Is it right? What’s going on?


    6. And how it will work with the fov? fov will be overlap it =(


    7. niko šveikovsky

      michał, i am so happy that you are again pursuing bump-mapped tiles and objects (i know it’s technically not bump-mapping, but i’m not sure what it should be called right now). i sent you an e-mail about the subject several years ago with this image:

      http://nik-storage.s3.amazonaws.com/imagedump/depthmap_shading.png

      anyway, the fact that you’re doing this per-pixel rather then through vertex maps is impressive. i suggest that you consider vertex shading as an alternative in certain situations, to save CPU.

      also, incredible job with the self-shadowing. that’s the way it should be done, the other way (the quick and dirty and ugly as shit way) is far far inferior.

      don’t go overboard with it though. in other words, don’t forget to assign lights different z-axes. lamps aren’t always totally flush to the wall, nor is sunlight always exposing the relief of building surfaces.

      looking forward to where this is going. keep up the great work.


    8. Will this work correctly with multiple light sources?


    9. no no no bump mapping no no no

      >>> gameplay <<<


    10. gameplay and FUN


    11. NugMan: please email me. Maybe it is in your spam folder?

      niko šveikovsky:
      How would you even do this per vertex? There no vertices here per se, because it’s just pixel tilemaps.

      ://Will this work correctly with multiple light sources?

      Yes, I’m gonna work on that today. I think there will be 2-4 light sources max. From experience I can tell nobody sees the difference beyond that.

      Most lights in the game will be either on the wall or on the ceiling. Or natural sunlight. So that’s 3 kinds of lights and z-axis.

      GFACE: yes


    12. Nice job! I wonder how the depth is calculated? Does the map editor stores a depth map or something?


    Post a comment.

    Links