[Tutorial] A real dynamic light system

1 favourites
From the Asset Store
Firebase: Analytics, Dynamic Links, Remote Config, Performance, Crashlytics on Android, iOS & Web Browser
  • Ashley, I can imagine there is planty of request, but stuff like lightening, sprite distortion, drawing masks on levels etc, are some of the most requested features, and would be incredibly useful and helpful to everyone.

  • It would appear that the current system is only useful if you want to create a top-down game like the demo ghost-shooter. Lucky for me I'm making a platform game, so I don't have to be frustrated by a requirement to create a layer for each light... :/

  • > I know I've posted this before, but have no idea if it's HTML5 or Javascript.

    >

    > http://ncase.me/sight-and-light/

    >

    That particular solution effectively brute-forces penumbras by having 11 separate lights! That's going to be quite a hammer on performance. The WebGL solution looks better with only a single light.

    I know the NWF is an exception, but I'd rather focus on the majority of platforms rather than just the one, even if it's Nintendo...

    Ashley Can't blame you for that... I just don't get Nintendo's decisions a lot of the time...

    With the version I linked to, I was just focussing on non penumbra shadows. Could the technique you used to generate penumbras on your shadow light not be applied to this example when using WebGL? Therefore giving the option of multiple light sources on one layer, along with canvas2d support?

  • Ashley , please have a look at this mockup example, demonstrating a workflow one could expect from a unified lighting system (among a few other things). Make sure to read the notes and the video description for more in-depth info!!!

    Aside any issues with Compatibility and software development, I think that if such a system existed (or could be implemented into C3) it will greatly improve our workflow, productivity and end result! I tried to include as many things as I could into a 3 minute video, taking into consideration suggestions that had been already risen.

    A thing that was mentioned here while I was making the mockup and didn't have the time to address on the video, is the probability of someone wanting a pixelated look on the light falloff. That could be achieved by using the pixellate effect on the light it self.

    Having said all of the above, just by trying to animate this mockup the past 3 days, I realized how difficult endeavor this will be, both programming and UI/UX wise. Never the less, by depicting those issues with an animation I hope that some important points had been made clear!

  • Awesome mockup video, Very explanatory.

  • eli0s - great video! What I would like / need / strongly desire is an editor like Overlap 2d's. Watch for a minute from 50 secs....

  • yup. That's pretty much how it works in most applications. eli0s big respect for taking your free time just to make a video of something that obvious!

    EDIT: There was a talk some time ago about unifying objects like Sprite and Tiled Background. Ashley wrote that it should be possible just to make 1 object type that would have capabilities of sprites, tiled backgrounds etc.... but as usual that was it. no further talk.

  • eli0s - great video! What I would like / need / strongly desire is an editor like Overlap 2d's. Watch for a minute from 50 secs....

    That is indeed really nice and intuitive editor! Workflow is very fast and organic.... heh and yeah "generate bitmaps fonts on the fly". looking at that kind of stuff you starts to realize how old C2 editor is

  • eli0s Great video. Thank you for making it.

  • Elios great job as always.

    overlap2d what a great software ive posted one year ago in a topic called "Overlap 2D App Useful for Construct 2?" by PsmithReginald but no more posts except mine.. i think its great and its exactly whats in my mind.. something like Elios video i dont know if supports normals. anyway if Ashley thinks that it can be part of c2 why not? and why in c3? c2 is a good start too.

  • and why in c3? c2 is a good start too.

    Because the C2 editor has some limitations. This is why Scirra has to build it up again for C3. Also they are pretty busy developing the new editor. So I think we shouldn't expect features like this for C2. I'd be happy if they manage to include such features into C3.

  • eli0s - that is an excellent demo video, great job. The trouble is there really is a huge amount of features proposed in it! It amounts to considerably redesigning large parts of the engine to get that kind of workflow. So I don't think there is much we can do until some time after C3's release. I do like the ideas a lot though.

    I do think its one disadvantage is there is too much built-in stuff happening. For example as it stands now, you can apply effects to the shadows, modify the appearance of the sprite for the light radius, and even use custom light blending by changing the layer effects being used. In your demo the light is basically acting like an entire layer, but with fewer features. We've always tried to avoid this kind of "cookie cutter" approach where you can only have it one way or not at all. So I think the best approach is to have something like what is in your video, but still using the "lighting layer" system. This probably also involves nested layers, but I think they have several other uses outside of lighting, so that would be good to add anyway. A lighting layer also allows a general-purpose approach to lighting - there could even be other plugins that can draw lights in different ways.

  • PieceMaker , Colludium , shinkan , glerikud , spy84 ,

    Thank you guys!

    Ashley , thank you for answer!

    Yes, I mention many things and features! I could have mentioned many-many more!

    I also understand that it is incredibly difficult to develop this software! However, since you are more than capable do develop it (I wish I was half as smart as you are ), why not do it in a way that it could result in a more functional, out of the box, software?

    That is, if you agree that the things I mention are indeed helpful and could improve the workflow!

    Now, you are mentioning the “cookie cutter” approach, and I agree that as users should be able to make our own systems, however, what I ask is for some basic, standard functions, as a starting point, a system that works well the basics and reacts closely to what we consider as “normal” Light behavior.

    Just as I don’t “have” to build from scratch the Platform behavior and how it interacts with the solids (I wish however that it was unified with the Physics plugin, but that’s for another topic), I wish for a Lighting system that provides me with the basic stuff out of the box: Insert a light, set it’s radius, color and falloff, place it in your scene to illuminate some part of it, repeat as you please! Shadows and normal bumping will react automatically and you won’t have to worry about it!

    This doesn’t mean that you won’t have the option to add more stuff on top of that! You could still change the blending modes for each light, add colored Sprites of any shape above and blend them with the light, mask out any parts of the light with other Sprites and Destination out blending, add webGL effects to the light etc.… We should be able to do all of those things, and more…

    To be honest, I don’t really get how those nested layers could work with lighting, I’m not familiar with the term (I guess they are something like layers within a group like in Photoshop?), and I haven’t seen any other software that use them to understand their benefits. I vote for them however, the more options the better!!!

    Anyway, please just keep in mind that there are many good, even great suggestions around the forum that have the potential to vastly improve Construct’s workflow, productivity and end result. Since you are developing C3, taking some of these suggestions into account early on, could help deliver a more robust and complete solution software from the start, rather than adding and changing things along the way, which is something that could cause backwards incompatibility issues, like when we were discussing about the Tilled BG object and if it should be removed-replaced by a more advanced Sprite Object…

    Anyhow, who am I to tell you how to run your business, right?! Please know that I’m just saying all those things out of genuine interest about Construct, the only software development platform that allowed me to express my creativity interactively!!!

    I want a better Construct, it will help me be better also!

    Be well

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • eli0s, I think your suggestions are spot-on.

    What's fantastic about c2 is the community feel to its development, even though it's a commercial product. The Overlap 2d editor is open source - made for its community by members of the community - and that's why it offers such a shiny and capable product for free. Exactly what you want in a way you would like to have it. The same goes for the Godot Engine - another open source editor (this time it's a complete 2d / 3d game engine). I suggest it's worthy of a download (also download the demo package) only to see how painfully easy it is to create 2d lights. Later this year it's going to introduce visual scripting and, if they don't screw it up, it'll be a real challenger for c2 and, perhaps, c3.

  • if godot engine adds a visual scripting then i take a look.. But im affraid that all of the engines except c2, stencyl, fusion which are using the moto "visual scripting no coding" is some kind of misleading. yes the have visual scripting but is for people that already know at least some basics of programming. you see in c2 all the events and action points are camouflaged under names that even a no coder understands at the very first time. In unity and ue4 for example the visual scripting is blocks with names that a coder understands but an novice like me don't get it so easy or at all..if you are a coder is a great tool cause you save a lot of time but for a novice i dont think its so handy either..

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)