Defining Awesome — Let there be light
  • Status Updates

  • Let there be light

    Written by . Posted at 6:24 pm on October 19th, 2007

    This isΒ a presentation of a new technology and feature in my upcoming game link-dead. I decided to make a video log for a change. Enjoy.

    Dynamic 2D soft shadows
    Gish – uses a dynamic lighting model, that’s the only 2D game I can recall now.

    Be Sociable, Share!


    1. Very cool :)
      I hope in future light /dark edges will be smoother πŸ˜‰
      Good Job, MM

    2. I have a working penumbra effect for smoothing the edges but it really slows the whole thing down, I’m working to optimize it as much as possible. Nevertheless it’s working quite fast with 5-6 lights as I tested.

    3. Oooooh. Very nice. I like.

    4. Will it be too CPU-intensive/hard to make the light bounce at least once? You’ll get more towards 2D-raytracing and I think it’ll look much better. If that’s not a possibility I’m fairly sure that this method will look pretty nice as well.

    5. What do you mean bounce?

    6. I think he means like surfaces should reflect light or something.

    7. Awesome! I do think I have seen such lightening effects in other 2D games though.

    8. Awesome!

      This is the first time I’ve heard your voice, possibly the first time it has been on the internet.

      You are a God, MM.

      You are a God.

    9. Cool, I think you really like that map πŸ˜›

      it will be good to make under earth places

    10. Just realize something awsome you know the first link you give I found this this morning before even seeying this log because I was looking in the forum and somone add posted a question on it I don’t belive it lol

    11. autonomous

      MM is making game BETTER then Doom 3. Actually, Soldat is better then Doom 3.

      Hopeful, maps will be able to be built around light and shadows to take advantage of the gameplay feature.

    12. Very nice. Shadows in link-dead is like NOX

    13. Will there be different colours of flashlights?

    14. Damn! This will suit excellent the post-apocalyptic feel of game.
      MM, did you play Abuse 2d side scroller? Have You taken pattern from it?

    15. You can precalculate the shadows to a seperate drawing layer once, that would be similar if you had drawn it with mspaint in the background layer. Joining many layers should be the smallest problems for the most graphics cards. Or would you like to calculate it dynamically because of some reason?

    16. Hm, looks dynamic… but that’s it. Are you going to make it soft shadowed next? That would be a great improvement.
      Also there are quite some games out there that used dynamic 2d shadowing before πŸ˜‰

    17. >> I think he means like surfaces should reflect light or something.

      Yep that’s what I meant. In the real world light bounces/is reflected on surfaces. I’m sure it would look great, more realistic, in a 2D-game as well.

    18. Espressokuppi

      Sorry about this quite not useful comment, but I just have to say:

      Wow! Amazing! Gunfire/explosions in the dark! Flashlights! Shadows!
      HUGE potential! I love it!

      I had this idea: You walk in a corridor, and suddenly you see a faint light blinking from some robots headlights from below. You will crap in your pants! Ok, maybe they do not have headlights, or searchlights, but if they had, that could look cool!

      Excuse me, I have to go to toilet.

    19. “Or would you like to calculate it dynamically because of some reason?”
      Last time I checked people carrying flashlights produces dynamic shadows, not static. :)

    20. Hooray =) he spoke! More of this please so we can get into the depth of what your trying to convey to us.

      2D shadows, I have seen this before but it hasn’t been in any commercial games as far as I know (apart from the one you referenced) 2D Lightning/Shadow engines were floating around in the Game Maker community for a while, which use surfaces to draw the lighting and shadows. I believe the one i tried was quite fast, and GML is a lot slower than Delphi or C++.

      GL with this MM

    21. When you want it to make it dynamic it should not be a big problem i think. To draw that gradient patterns you could use a singe sprite on each of the two outer lines. That should be accelrated. Implementing day and night would also be cool:)
      Why these maps look like polygon made? it is only because of a screenshot from soldat?
      How do you want to increase the gameplay by deactivating the jets? What kind of ideas you have?

    22. I

    23. //I

      Go on. Sounds interesting.

      MM, will we be able to turn off the flashlights, so we can, like, hide in the dark? πŸ˜€

    24. Turning off flashlights would be kickass. Then everyone would be able to like, hide in the dark, then out of nowhere everyone turn on thier flashlights and pwn ;D

      this would be cool with your “weekly battles” idea.

      This game is going to look like a mix between BF 2142 (the robots..), and Stalker: Shadow of Chernobyl :] (post apocalyptic wasteground)

      All in 2d of course ;D

      great to see whats goin on. highfive for you!

      Btw, hopefully you can have some sort of “light emitter” kinda thing, so that realistic junkies could simulate a “daytime” and “nighttime” effects, having a light emitter slowly rotate it’s way around a map :]

    25. Haha, you smart ass.

      I like the ideas your putting into the game. Lots of little effects makes the game seem more “alive” and therefore a lot more immersive.

      Cant wait for more updates man, keep it up :)

    26. Hey, I see all great ideas. Hiding in the shadows will be awesome, it will probably be a big part of the game. A whole team can sneak undetected using shadows.

      Why these maps look like polygon made?

      It’s a screenshot of Factory from Soldat.

    27. JacKDuRdEn_

      it would be cool if the robots could use searchlights like Espressokuppi said, a lot of light/shadow play just like in the intro of terminator 2

    28. JacKDuRdEn_

      hiding behind rocks just trying to keep yourself alive awaiting for someone to help you… or maybe find a distraction to sneak out (thinking of farcry)

      (sorry, but mi first post got cutted :( )

    29. Let me be the bad guy once more:

      Don’t you think there’s a reason only very little games have used 2D real-time shadowing? It actually only takes viewing your video ones, it looks nasty and from what I understood you only had one (one) source of light. Now imagine someone firing an MG. Now imagine 20 players firing an MG. This will be some eye-fucking flickering! It works in Gish because Gish is slow-paced but a 2D side-scroller shooter sure as hell isn’t.

      I additionally want to add that people hate to have things hidden from them. I hate to play realistic Soldat because it feels like I’m retarded (let the jokes appear). In 3D walls and the such obstruct your view because of perspective and it feels natural but in 2D the map is drawn and information that could be seen will be hidden because of this artificial lighting system!

      I nontheless would like to be convinced of the opposite.

    30. Imagine all a team hiding in dark and one stupid people lights up a cygaro
      and the enemy see it πŸ˜€

    31. ..::HHH::..

      i really love the progress Michal πŸ˜€

      do you know what specs a pc must have to play Link-Dead?

    32. It’s nice how you can modify and create maps like you took a screenshot of Factory and you edit it by cuting smootly some part of map I found that really cool.

      Is there a sort of compiler to save every part of photoshop made map (like collide texture background etc.) to make it binary or something?

    33. You have to finish that game, man… I’m almost already getting addicted to it… The atmosphere/feeling of the link-dead that I imagine looks just frightening…

    34. Death for Soldat -_-

    35. This game better have the ability to DROP the flashlight while keeping it on for tactical decoy reasons πŸ˜€

    36. omg looks like a good start michal!! Can’t wait to write the tactical trenchwar server for link dead already :)

    37. It is very good, that working out goes. But one question – when leaves the working version of game? At least approximately :)

    38. >> Lunerfox

      A great idea would also be a glowstick you can throw like a grenade.

    39. It actually only takes viewing your video ones, it looks nasty and from what I understood you only had one (one) source of light. Now imagine someone firing an MG. Now imagine 20 players firing an MG

      There are 5 light sources on that video.
      It would look incredible with 20 MGs firing. Did you ever watch Equilibrium? Or the night scenes in We Were Soldiers.
      This brings a new idea: launchable flares!

    40. I’ve seen lighting in top down 2d games. The penumbra effect they used just used a gradient texture blended on the edges of the light polygon.


      l = light sounds /\ = light or shadow cone t=gradient texture maped polgon

      -/ \-
      –/ \–

    41. Fishy Boy

      Makes me think that it would be cool to have a little portable robot droid that, when sent out, you can control or at least set it’s path. What ends up happening is the little guy would have night vision, and he would show you if anyone was hiding there. However, you could come across a bunch of guys just waiting for you, and that robot was the thing that tipped them off to your presence. It would be awesome if you see a bunch of guys who proceed to fill your robot with lead, and how awesome you would feel if you could escape from them, maybe running past one of your own robots who proceeds to murder them.
      Anyways, this game looks good. Keep it up.

    42. Makron666

      There is an effect called “zFeather” it smooths the edges of texture to make them look better. Theres a example at but i think its only for 3d games, but i think you could create a copy of it.

    43. Makron666:
      The zFeather isn’t an effect that smooths the edges of textures, it is only used when two or more primitives intersect. Then the differences are being read from the z-buffer and converted into alpha values so that you don’t have the hard edge to edge intersections other games have. It is an effect that eliminates the feeling that one primitive is partially “inside” another.

    44. it doesn’t weurk on my GEE fowce

    45. underline

      Oh my god! you are prety fast!
      It is aways good to hear from you.. and this efect are amazing! I can fit all the possibilities around this new efect! Very good! really!


    46. Not bad, not bad. BUT, you hasn’t optimized physics engine, character shitty fall on ground, a ragdoll work more similar on piece of dung on a cord. I am very malicious.
      How to be spoken: “all and at once”. Good luck, Michal.

    47. Oh yeah! And if there are going to be lamps in dark rooms make it destructible.

    48. MM, could you give us some more information about map file, creating maps. Will we be able to create our own maps? Thanks a lot! :]

    49. great grape

      Oh dear lord. I love you Michal. It’s like we’re all playing your game right now–we’re sitting in the dark, watching the total kickassness of this shit make flash strobes in the distance, not knowing what is coming toward us but pretty fuckin psyched to see what it’ll be.

    50. Exercise can range in form from jogging, swimming and walking to general chores around the house including mowing the lawn and hovering the house. It was not their favorite food source, but it did alleviate feelings of hunger and thirst when they were hunting or searching for more favorable foods.

    Post a comment.