Fib's Forum Posts

  • I did not know that it is possible to increase the tempo of sound, or to accelerate or reduce it; I thought that it depended on time dilation.

    The timescale will also change the playback rate if you have the Timescale audio property set appropriately on the Audio plugin. But there's also just an action in the Audio plugin called Set Playback Rate that you can use on individual sounds.

  • You can change the playback rate of a sound effect which changes both the pitch and tempo.

    There's a few YT videos on creating car engine sounds. Check them out.

    https://www.youtube.com/watch?v=GRMnN6Xd-yU

    https://www.youtube.com/watch?v=1X01NBgSh9M

  • Check this dev blog out for inspiration. The game was made in Unity but the exact same thing can be achieved in C3.

    http://www.asteroidbase.com/devlog/7-learning-how-to-walk/

    Reading it made me think about ray casting in a different way. It doesn't fit exactly what your asking for but points towards many possibilities of AI's traversing terrains. I hope it inspires you too :)

  • You could achieve your original goal by using raycasting. In C3 the "Line Of Sight" behavior now has a "Cast ray" action.

    You could cast 2 rays straight down from the middle of your AI agent, 1 ray on the left side and 1 ray on the right side. Then check if the rays are hitting your platforms.

    If either ray is not hitting, or the hit distance is greater than some threshold value, then that means the AI agent is standing next to a pit.

    This solution is even more flexible because you could allow the AI agent to fall down small pits (or walk down a staircase) but not down large pits by adjusting your threshold value.

    I hope that helps!

  • This is the reason why I added a suggestion to see a list of current picked instances in the debugger. If you set a break point/pause, then step through every condition one at a time, it would be SO USEFUL to see a list of how each condition is picking what instances.

    That way we as creators have some visibility to how the event system is picking instances, especially with these corner case quirks of C3.

    Give the suggestion a few votes if you like it.

    https://construct3.ideas.aha.io/ideas/C3-I-585

  • Thank you so much TheRealDannyyy! This will be extremely helpful for the whole community. No more being forced to use old versions of NWjs! Thanks again.

  • We're soon going to release a project that will make it possible to use any version of NWjs with the official plugins and the Greengrinds plugin. Plugin specific features will remain the same.

    We're hoping that Ashley will cooperate with us and use this project when it's out.

    Wow that sounds like a worthy endeavor. I had a big pain when releasing my games on Steam with the offical Greenworks plugin. Mainly because it required a specific version of NWjs but that specific version had a very visible player facing bug. There was an updated version of NWjs to fix it, but I couldn't use it because of the C3 greenworks plugin.

    I hope that project works out! Thanks!

  • I have 2 games published to Steam that I created in Construct. It's kind of a pain to figure out at first but once you do it once it's pretty easy.

    Export your project from C3 as NWjs. But from there you have to deal with steamworks.

    Check out the documentation that Steam provides. Then read this forum post for specific NWjs help: https://www.construct.net/en/forum/construct-2/general-discussion-17/big-nw-js-roundup-news-tips-119428

  • Hey Fib jobel I did have a version using Tweens and it didn't how I would like. The tweens cannot reset and pressed again. It does however have a smooth transition of course. :)

    I'm not sure why it wouldn't replay when you click again. Are you trying to use the Stop action on the tween and trying to use the Resume action? Because that definitely wouldn't work.

    Are the start and end tween values becoming the same? If the start value and end value are the same then obviously it won't tween, it will end immediately.

    It's hard to debug it without seeing any code.

  • That's more of a shake than a wiggle. Why not just use a few tweens? You would get much smoother motion and control over the timing.

    Put the tween behavior on the FAMILY. Then "On tap object" on the FAMILY, do two tween actions (one tween for rotation and the other for position).

  • I'm not exactly sure how you have things set up, but I'll assume you have 2 text boxes, one for the X coordinate and one for the Y coordinate. If it's just a single text box you can parse out the individual X and Y by using the system expressions tokenat(src, index, separator) & tokencount(src, separator) system expressions.

    Since you have sprites to represent each grid space you could give those sprites 2 instance variables to represent their X and Y grid positions.

    Now you can just pick the sprite where the coordinates from the text box match the coordinates of the sprite. Then you can use the X, Y layout coordinates of the sprite so you know where to perform the strike.

    There's other more mathematical ways you could accomplish the same thing, but since you already stated you have individual sprites to represent the grid spaces, this should work.

    I hope that helps.

  • You're extremely close. The reason why it looks different from "Minit" though is because "Minit" only moves the light sprite when the player moves into a new tile. So the Pin behavior will NOT work like that.

    Here check this out. It definitely looks closer to Minit. Basically all I do is detect if the player is in a new tile, then I update the light position to the center of that new tile. I had to add a few variables to accomplish this since C3 doesn't allow you to get the tile width/height from an expression, which is weird to me.

    https://www.dropbox.com/s/izwegb2r9aaxtzg/Sketches_LightMoveUpdate.c3p?dl=1

  • Yay Minit! I love that game.

    I'm pretty positive there's just a "light mask" sprite pinned to the player. The dithering effect comes from the fact that the sprite has a circular dither pattern on it.

    Should be able to reproduce this by creating a layer (for example named "lighting") that's: not transparent, background color is black, and "force own texture" is enabled. Then create a sprite that's all white to represent the light (this is your light mask) and set the blend mode on the sprite to "Destination Out". Make sure the light sprite is on the lighting" layer. Then simply pin that sprite to the player. There's several tutorial videos that show this. Just search for "lighting in construct 3" on youtube.

    The only thing left is to create a circular dither pattern on the light sprite itself. All white pixels will be see through and transparent pixels will reveal the black.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thank you Colludium!

    Ashley As for use cases:

    • The simplest is to draw them at runtime just for debugging purposes.
    • As Colludium alluded to, drawing custom shapes with accurate collider at runtime
    • When 2 sprites collide we could compute the exact overlap shape
    • To easily compute line of sight & shadow casting by casting rays from player to polygon collider points (like here: https://www.youtube.com/watch?v=fc3nnG2CG8U)(yes I realize C3 already has LOS behavior & shadow casting plugin)
    • To create more advanced lighting effects by combining drawing canvas plus casting rays from light positions to polygon collider points (like here: https://medium.com/@NoelFB/remaking-celestes-lighting-3478d6f10bf)
    • Who knows what else the community will come up with
  • Colludium I have another challenge for you :)

    How about a 2nd expression in this same plugin where you can retrieve the collision polygon of a tile in a tilemap by providing it the tile ID?

    It would need 2 parameters, a tilemap UID and a number corresponding to the tile Id.

    I would be super grateful!