oosyrag's Forum Posts

  • dropbox.com/s/7zux43j2ab1zrhb/minimaldisintegrateteleportexample.c3p

    Edit: (Offtopic) After making this, I wanted to call it the Cheese Man example due to the way it looked without all the additional effects, then I searched and found out Cheese Man's name is not actually Cheese Man. Profound sadness. megaman.fandom.com/wiki/Yellow_Devil

  • That just gives you the notice to change to the latest beta after loading the latest stable, if you are going to editor.construct.net

    To always go to the latest beta by default, bookmark the address editor.construct.net/beta

  • It looks like interpolation is included as part of the Photon BOLT product's functionality.

    doc.photonengine.com/zh-TW/bolt/current/reference/interpolation-vs-extrapolation

    doc.photonengine.com/zh-cn/bolt/current/demos-and-tutorials/advanced-tutorial/chapter-3

    You'll need to implement it yourself, locally, otherwise.

    Regarding the network and NAT issues on the official plugin, 99% of those can be solved by simply adding a TURN server to your ICE list. These are usually not free, and therefore there are none added by default. I know some users have found free solutions in the past though, at least for low utilization/traffic.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That sounds about right, although I don't have a running example so best to just try it and see and modify and fix it as you go.

    Here's an example of what hit/hurtboxes look like if you were to be able to see them. There is usually no need to follow the exact curvature of your blade. Games "feel" better if you cheat a little in favor of the player - make the hitbox extend past what the blade looks like a bit. You also won't need to create/reshape a unique hitbox zone for every single frame of your animation this way.

    eventhubs.com/imagegallery/2016/mar/13/sf5-hit-and-hurt-boxes/14

    The boxes do not always exist, and usually last for more than one frame. So they would be created when the triggering frame starts, and destroyed when the "active" portion of attack animation ends.

    Edit: More reading if you're interested game.capcom.com/cfn/sfv/column/131422

    reddit.com/r/Fighters/comments/by2hzu/question_fighting_games_where_hitboxhurtbox_is

  • I don't think you can add a second audio object.

  • To improve the gameplay experience, the multiplayer engine interpolates between updates for values like X and Y co-ordinates. In the case of positions, it will linearly interpolate between updates. For example if data is coming in every other frame, then the frame which does not receive an update will use a value half way between the two updates either side. This makes the motion smooth again without needing any more data.

    The official multiplayer plugin has interpolation built in. You will probably need to implement this yourself if Photon does not have it built in. (I imagine it should, so check Photon documentation on how to handle it)

    After interpolation is applied on the peer side, you will want a way to reconciliate any differences from actual synced positions when they become available from the host. These differences can vary due to latency. The official plugin will "fast forward" or "slowdown" the engine based on latency to compensate, which is a more advanced method. A simpler way would just be to adjust/tween the predicted position to the actual position over the course of a multiplayer tick/update.

    These concepts are described here construct.net/en/tutorials/multiplayer-tutorial-concepts-579/page-6.

    I have no experience with Photon though, so you'll need to find out the equivalent features in Photon. I'm 99% sure Photon has this sort of basic functionality, you'll just need to find out how to use it.

  • Your title said unique touch event for instances, so you would need a unique identifier for each instance to determine what unique event to run. You can set an instance variable when creating objects via events as well no problem.

    If you want a generic event for flipping the card, then a simple on touched object would suffice - only the touched instance would be picked, and only that instance would flip.

    I don't know why your previous event with for each doesn't work, as I have no idea why you would want to use for each in this situation to begin with, since for each doesn't really have anything to do with what I understand your question to be.

  • Yes, it's just an invisible sprite, similar to how the base object is just an invisible rectangle

  • Loopindex is a system expression, and only works on system loops.

    For arrays, you need to use array.curx and array.cury instead.

    Or use a system repeat or for loop instead, from 0 to array.width-1.

  • You want to have an instance variable on each instance that ddetermines what happens when you interact with it.

  • Hitboxes are often separated into their own invisible helper objects as well. You would create and destroy these hitboxes as necessary on the correct animation frame. This goes for hurtboxes, terrain checks, ect as well.

  • construct.net/en/tutorials/savegames-11

    You want to use it in conjunction with localstorage.

    When you save, also save something in a localstorage key saying you have something saved.

    You can then check the localstorage key to see if there is a save available.

  • construct.net/en/tutorials/supporting-multiple-screen-17

    A common misconception is that you need to target a specific resolution, like 1280x720. However there are a huge range of resolutions in common use. It's much better to pick an aspect ratio, then scale the game to fit that.

    Events and functions are things you build yourself for your game. "Useful events for this type of game" might be premade libraries in traditional programming, they are loosely related to plugins and behaviors in Construct. Best to go through them in the manual to see what might be useful for you. The tilemap object and 8 direction behavior would likely be of interest.

    There's nothing special about making pixel art in Construct, there are a billion video guides to creating pixel art in general. Depends on the style you're looking for. You probably want dedicated image editing software to do so, as the animation editor in Construct is very bare bones. The only specific thing you might want to do is when creating a new project, make sure the "Optimize for pixel art" box is checked.

  • A loop gets completed on a single tick. Your i value isn't getting updated until .2 seconds later.

    Wait only delays actions from happening, not your events from running.

  • Well for starters... There is no loop.

    You need a repeat or for condition to make a loop.