Mikal's Forum Posts

  • Played it, I had a good time and I liked the ending (it seems very personal, which was good.) The music was tied nicely to the theme.

    One quick note, there seems to be a clipping problem when the moon is placed (at least in my browser, the top tip of the moon is cut off.) I also clicked too quickly on the end screen, so only got to see part of the message, I guess I'll have to play through again! Great job getting it out.

  • Ah! So are the controls basically touching the different color bands in the background? Clever! I think the checkerboard texture is distracting, I like the original better without the checkerboard (or is that an artifact of your video capture?)

  • I got the rotating normal maps working including distance and angle to the light source (again only needed because I was rotating normal maps, if you are not rotating the normal map, none of this work is needed for the Normal Map Extended effect.)

    I will take a look at the shader code at some point. For now, I'll work with what is available, changing the parameters of the effect as needed to do what I need externally (with some possible error due to the level of control, but overall I think it looks reasonable.) Here's an update with distance to light source and angle to light source also adjusted for. In the previous the distance and angle (90) was uniform (as if the moon was overhead.) In this example I moved the light source to the particle object in the lamp. To do this, I dynamically adjust the lightDistance and lightAngle on a per NormalMap basis. Distance was easy, the angle was again some basic trig, using atan (arc tangent) to get the angle.

    Event snippet (again can be optimized to just a for each of the SwirlNormals):

  • I wanted the stones to rotate again, so I did a quick hack to make the object rotation with normal maps work well enough. Here is the result:

    For each rotating object, I change the location of the light X,Y so, that the light location rotates around the object/normal map in the opposite direction with a fixed distance. Using some basic trig to figure out the formulas for the X,Y location of the light, I got this effect, which looks pretty good. Generally, the shadows are on the bottom of the stones and the lit portions are on the top. This models uniform moonlight (not the point light of the lantern) coming from above the stones. Using x=R*cos(angle), y=R*sin(angle) to define the circle trajectory (with adjustments for 90 being coming from above and 180 to make it on the correct side.) I think there is a good chance I can make it look better by adjusting and changing the normal maps themselves (in Sprite Dlight.)

    Event snippet (must do adjustment separately for each stone since they are rotating differently, on creation, I capture the UID of each normal map associated with each stone diffuse texture.)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I did a quick hack to make the object rotation with normal maps work well enough. Here is the result:

    For each rotating object, I change the location of the light X,Y so, that the light location rotates around the object/normal map in the opposite direction with a fixed distance. Using some basic trig to figure out the formulas for the X,Y location of the light, I got this effect, which looks pretty good. Generally, the shadows are on the bottom of the stones and the lit portions are on the top. This models uniform moonlight (not the point light of the lantern) coming from above the stones. Using x=R*cos(angle), y=R*sin(angle) to define the circle trajectory (with adjustments for 90 being coming from above and 180 to make it on the correct side.) I think there is a good chance I can make it look better by adjusting and changing the normal maps themselves (in Sprite Dlight.)

    Event snippet (must do adjustment separately for each stone since they are rotating differently, on creation, I capture the UID of each normal map associated with each stone diffuse texture.) I think I can actually simplify this by just using the X/Y of the SwirlNormals and can just loop through those instances.

    A better way to do all this would be to change the shader itself, so it takes a rotation angle of the normal map/object and then modifies the normals based on that rotation angle, this would be much more flexible and is left as an exercise for the reader.

  • Xefni

    Experimenting with normal map lighting.

  • Great effect, thank you for the work.

    An example, first pass testing this (only stones and little statue are lit, light source location is the lantern):

    I used Sprite Dlight Pro beta to generate the normal maps, which is a nice tool.

    One question: any suggestion on how to handle a rotation of the stones at different rates (so the normal maps would also be rotating), with a fixed light source? I tried it out and realized quickly that the normal map orientation was of course baked into the maps and the shader / effect assumes particular orientation based on X/Y ordering. Right now looking at the parameters of the effect, I don't see a way to handle this. My possible very hacky solution would be to change the location of the source also to make up for the rotation of the stones / light map, but I would have to do it separately for each rotating stone and it probably still would look not quite right.

  • I ran across this great tutorial and couldn't help but try it out: Dynamic Lighting.

    First results (definitely need tweaking, stones looks like they are covered with moss (which is not horrible, but not intended.)). The 'light source' is in the lantern.

    I bought a copy of DLight Sprite (recommended in the tutorial) and it worked really well, since it was one-click to normal maps and I did not have to draw shadow maps.

    I used the recommended shader (Normal Map Extended, which worked well.

    There is a lot to tweak in the effect and I think I will need to do it live, so I can play with it quickly (via sliders in game).

    The lamp just has a glow with a sine for changing the angle and the origin point move to the top of the sprite and a particle attached insider it.

    The tree branches are not lit. so they seem really bright, so thinking about what to do there.

    The normal maps are baked in terms of orientation, so when I had the stones rotate the lighting was very incorrect as the normal maps rotated. I could leave them non-rotating or could look at the effect / shader and see if there is way to change it based on the rotation / orientation of the normal map vs the 'light'. That would be the better 'universal' fix, a big hack which may show roughly correct results would be to also rotate the location of the light as the stones / normal maps spin, but would have to be done separately for each stone, which is a pain (right now, the stone and player normal maps are all in one family with a common normal map extended effect and a common light position.)

    The effect has two more lights to play with, so I may add a little blue will-o-wisp (like something from Totoro, like soot sprites floating around) and also a stone lantern near the ground with a red colored fire.

  • Fun characters, I like the cats chasing you after you pass them, perhaps let them 'surge' or run more quickly sometimes so when they are chasing they are a bit unpredictable. The double jump definitely needs to be nerfed, I started to lose any sense of a challenge, because I could always get out of any bad situation by using the double jump.

    I also really like the endless side scrollers an procedurally generating the areas and levels. One thing I saw in Dungeon Highway that was really good was that had 'named' areas, even though the majority was procedurally generated. These named areas with a semi-fixed configuration made it seem like you made it to a land mark. So in this case, perhaps the cat kingdom or cat throne, where there are a ton of cats surrounding logs with a 'king' cat on it, just use existing assets to make it and make it a little more challenging. Add a few more later (e.g. The Sinkholes which is littered with holes for a short time.) It can add a nice sense of discovery amongst the endless levels.

    I also like the earlier comments about using % instead of fixed parameters - this way even you can be surprised by what odd situations might come up on the levels.

  • Time to get rid of the horrible toast and bamboo. Change to rounded stones of varying size, add a little sine rotation, make the transform into a petal and make the petals fade away after landing on them (they wear away... so wabi-sabi, man.

    Now the game is looking a little mesmerizing to me, something to just watch unfold as you jump around.

  • Added cherry tree branches at the top, to complete where blossoms are coming from. Added some 'warp' effects to the branch sprites to make them appear to sway in the wind along with the falling cherry blossoms. In the playable, there is a slider to adjust the petal particle output.

  • Finally got something with a little eye-candy worth posting (previously was all placeholder solid color block sprites with no art).

    Xefni, a little wabi-sabi game vignette. Cherry blossoms, little Jizo statue, granite blocks which my SO says looks like toast (need to change that texture!). There is also a devlog going in the WIP forum (with the original non-art.)

  • Release 005 - Some Art

    • Add some 'art', I want elements of Zen garden. So granite stone, bamboo, cherry blossom petals falling and the player is a Jizo statue
    • I like the cherry blossoms falling (generated via particles with a warp).
    • The stone looks ok, but to be honest, when shrunk down starts to look like 'toast'.
    • The change to bamboo is too abrupt, perhaps change to something different.
    • Gameplay is too fast and hectic for Zen garden, perhaps slow it down some.
  • This is really coming along nicely, the style is coming in to it's own, with the enhanced graphics and neon lights color palette.

  • Too limiting to be useful right now. It looks OK and I would have some use for a browser based app, so I could develop easily on any PC, laptop, tablet, etc. I will have to wait for the full featured version to give some real feedback.