oosyrag's Forum Posts

  • Have you tried using an older version of C3 to see if the problem still persists?

    If the problem goes away in an older version, try to pinpoint the version it happened check the changelog for anything that might be related. Then you can narrow down the issue and file a bug report to get it fixed.

    If it still happens in an older version, it's more likely that it was due to a change you made recently in your code.

  • Hmm.... Good point.

    But for now with what we have, if I were doing bulk operations I would just use an untagged (or otherwise generic tag), and push the contents to an array as they complete. I don't know if they would be ordered, but there's no particularly explicit guarantee of order when choosing files anyway. If order were a consideration, I would implement sorting through the array based on content.

    The array size and file count can be compared to know when all files have been loaded into array, or throw an error of there was a mismatch somehow.

  • Oh, didn't see that. I also would not recommend using the csv plugin, it can be done with a simple array instead.

  • What exactly are you having trouble with? It will be unlikely anyone is going to put together the whole thing for you.

    So you've defined your states. Use an instance variable to keep track of the state.

    Then define the conditions under which you want to change the state.

    Then define the actions you want to take in each state.

    You should then have your AI basically complete. Make adjustments as needed if anything behaves outside expectations after testing. Ask if you can't figure out how to implement a specific thing to your liking.

  • You probably don't want to use the peerstate expression, unless your ready trigger is holding a key down. Peerstate is better used for inputs and not variables.

    I'd just have the peer send a message. When host receives the message, it also knows which peer sent it, and can set a variable for that peer to true or ready.

  • Never mind, it works the same way with the new file system plugin too.

    After picking files, you'll have a "directory" of all picked files, so just loop through each of the files (Repeat filesystem.filecount times) and display the contents.

  • For reading files, can't you just use the old file chooser plug instead?

  • Send a message to the peer indicating that they should create the relevant objects then. Or, have a peer only event that creates the child objects when the parent is created.

  • I'm unable to test without a subscription, but I imagine if all the child objects in the hierarchy were synced properly it should work fine.

  • I remember running into this issue a long time ago. I think it's an inherent problem with box2d at low speeds.

    Iirc it can be mitigated by using higher resolutions/sizes and downscaling, resulting in relatively higher speeds while visually remaining the same.

  • Recommend turning on the auto save feature in the options, so you don't lose as much progress if it happen again next time.

    There's the minor consolation that something that took you two hours to do the first time usually goes much much quicker the second time.

    Depending on your project, I also generally recommend taking advantage of project files heavily, so that work on individual data file sources are saved separately (and necessitate saving to update/import to your project).

  • I generally create and destroy as needed, but on a dedicated UI menu layer, so a bit of both 1 and 2. This layer is separate from gameplay huds/UI layer. That's more of a personal organizational preference thing than a performance issue though

    I don't like having hidden objects/layers that aren't serving any specific purpose. I also generate my menu item positions dynamically via events to be flexible. I imagine for someone who likes utilizing the layout editor to place and layout their menus, hiding and un hiding layers would be more suitable.

    I doubt there is any performance impact worth thinking about at all, unless you're doing something really crazy with your menus. For something like an inventory or character sheet, I'd definitely create it as needed, but for the reason that the contents are dynamic rather than any performance concern.

  • If there isn't an effect for it, duplicate the sprite, offset it and then use a blending mode on a layer with force own texture on to fill it with a solid color. Optionally pin to the original sprite as well.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You probably want to use a tilemap. construct.net/en/make-games/manuals/construct-3/plugin-reference/tilemap

    On trigger, for example if you click a block, change it into another block (or an empty square, in the case of digging).

    To refer to the correct tile to change, for example the one under the mouse, you'll use the tilemap expressions described in the manual linked above PositionToTileX(), and PositionToTileY().

    So in your set tile action, the tile x location would be Tilemap.PositionToTileX(Mouse.X) and the tile y location would be Tilemap.PositionToTileY(Mouse.Y). The tile would be whatever you want to change it to.

    If the above is confusing and you're not sure how to use an expression or what an expression is, you should probably start with the first two beginner tutorials and reading the manual.

    construct.net/en/tutorials/construct-3