Squibble's Forum Posts

  • lucid Help me understand something. I paid for Spriter about a decade ago with the promise of getting Spriter 2, but now I look at your website and find you are planning to release a better version called Alchemist and Spriter 2 still hasn't officially been released yet. Over a decade of waiting and we don't even get basic IK? What is going on?

  • I've never used Rive but SVG is clearly underutilized.

    Yeah, I haven't found much overlap in user base so far. I guess I'll have to figure it out on my own. I'm probably going to try it out this weekend if I have time.

  • Several designer friends been pushing Rive on me for a long time, and I've been resisting it, but now I'm starting to consider it. I'm wondering if anyone here has experience using it and can give me their opinion on it? Maybe tell me if you like it or not, and how it compares to C3? Coding looks much harder, but vector and animation tools look amazing at first glance. Is it as good as it's advertised?

    Rive Features

    Btw, not sure why C3 never embraced vectors tools after the fall of the Flash plugin. Seems like a missed opportunity. All we get is a SVG Picture plugin? And now Scirra is going straight into 3D? It feels like I'm helping pay for development of tools I'll never use and C3 is becoming too 3D focused. If I wanted to make 3D games, there's better 3D software I could use for it.

  • First, separate your game into two parts: game logic and visuals.

    Game logic is what actually happens in the game. Visuals are what the player sees on the screen.

    That is some great advise. Thank you!

  • Check out this demo:

    https://howtoconstructdemos.com/push-objects-in-tile-based-game-sokoban-style/

    Thank you! I'll look and compare to see what your example did better. If I wanted the player to bounce off a solid, how would I do that? Here's an example of what I mean:

    Seems like a fun way to show the player they can try, but they're not strong enough to move that object.

  • The player is moving boxes unintentionally. I tried making the hit box of the block smaller, but same issue. How can I fix this?

    Here's an animated PNG example of the issue I'm having:

    And here's a link to project:

    SokobanMovementIssue.c3p

  • igortyhon Would preventing the camera from scrolling 20 pixels (or size of the shake magnitude) from the edge of the canvas work?

  • It's a bit of a work around, but Cut and Paste works. If you want to move events into a group or drag it into a sub-event, first create a temporary event (or sub-event), cut the event you want to move, paste it to the temporary event and then delete the temporary event.

    @Ashley If the method Constructbot suggests, that would be nice. Or maybe make it were you need 2 fingers to scroll. That's what art apps do. 1 fingers draws on canvas, 2 fingers to pan/scroll the workspace.

    Nevermind. I missed the subtext of Ashley's response.

  • Great link, thank you!

  • When you create a family instance it just randomly chooses one of the object types in the family and creates an instance from that.

    I'm not really asking you this, just questioning it out loud, but why is it random? I'm asking C3 to create a duplicate "For Each" member of the family. The order it chooses the objects should be the order the duplicates are created. That way they would match up. If I wanted it to be random, then I would ask C3 to make it random.

    So to actually duplicate objects in a family you’d probably need to just copy the first two events multiple times and handle each object type in the family specifically. That or just use different animations of one type instead of families.

    But that's not very efficient if you have 30+ objects. Again, not your problem, but isn't the purpose of Families is to avoid repeating events?

    Maybe I missed it, but I didn't read in the manual about anything added to a family being random, and it kinda defeats the purpose. The event sheet reads from top to bottom in order. Why doesn't that same logic apply to objects in Families?

    igortyhon You are a genius! Very creative to use arrays. I love it when you reply to my questions, because you'll have a creative solution and an explanation of how it works. I don't know why you, R0J0hound, and others hang around these for forums to help noobs like me, but I'm very grateful. Thank you!

    Btw, do you have a YouTube channel where you walk viewers through your thought process?

  • Here's one way to do it that's basically what you described:

    https://www.dropbox.com/scl/fi/lfmr9x6woehinwv3unnsf/dropshadow_idea.c3p?rlkey=5dg9g6cl1u8qrd34f20rfwkfw&st=o9tf4aop

    The meat of it is the instances are duplicated and placed on the shadow layer. Then to position the shadow you need to access the position (xy) of the instance it was copied from and then you position the shadow with:

    set position to x+(x-light.x)*0.1, y+(y-light.y)*0.1

    The way I handled pairing the instance duplicates is by storing the uid of the shadow instance in the original instance then doing some picking juggling. There are probably other strategies with various pros and cons.

    This is great! There's a lot I can learn from this. Thank you for demonstrating how to do it. But why doesn't it work with Families? Isn't it still asking for the UID of the family member, except maybe it's not because it's assigning the shadows wrong. The Family as a whole doesn't have a UID, does it? How can I fix this to work with Families?

    FamilyDropShadow.c3p

  • So notifications? You can search here for "notification" plugins here:

    https://www.construct.net/en/make-games/addons

    There's a few in the Store.

  • I would like to find a way to recreate the Shadow Light/Shadow Caster effect without the shadow being drawn from the base of the object. Something like this:

    I was thinking of maybe duplicating all the objects on the object layer to the shadow layer (with layer effects), pinning the shadows to the original objects and offsetting the shadows 15 pixels opposite of the direction of the LightSource Sprite every tick, but I have no idea how to begin to do this. Can I even pin a copy of a sprite to itself? Maybe with UID, but then how would I know what that UID would be?

    Here's how I have the layers set up:

    DropShadowIdea.c3p

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I need somehow to detect users activity generally while my app is not in focus.

    I'm curious to why you need this?

  • Is overlaping does not loop nor trigger actions. It test for overlap with another object like the description say. And returns true or false.

    I'm clearly using "trigger" as a verb. It means to cause an event or situation to happen. It states in the manual that the conditions must be met for the action to run.

    That directly contradicts what you were arguing before.

    Here's some examples, In this case Is overlapping is allways true because the layout starts with the two sprites already overlaping:

    1- Only run actions one time On start of layout

    2- Only run actions one time every second passes

    3- The sprite doesn't have animations so action will never run.

    4- Will trigger once.

    5- Only run actions when sprite2 is created and also overlapping. Only once.

    6- This event will call a function that will run once every time a blue sprite is destroyed on screen.

    That's only applicable to your case, in the examples it will not "loop" the actions even tho is allways overlapping. So that will be a wrong description.

    That's not at all what I meant. I was talking about actions and only using IsOverlapping as the condition. By adding more conditions, you're just proving my point that conditions have an effect on the actions. Besides, everyone else has already said the reason the animations were looping was because of the IsOverlapping condition. I trust them. I can't tell if you are trying to be helpful or just argumentative, but I don't really care to continue this conversation with you any longer. All the best.

    (Edited for clarity and kindness)