oosyrag's Forum Posts

  • The Video plugin has a Set Volume action.

    Set volume

    Set the volume of the audio playback from the video, in decibels attenuation. 0 is full volume, -10 dB is approximately half as loud, etc. The audio cannot be amplified: positive volume values will be treated as 0.

  • Add the following in in the exported html file.

    <script>
    window.addEventListener("keydown", function(e) {
     if([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
     e.preventDefault();
     }
    }, false);
    </script>
    
  • Ways to nerf time slow:

    Limit the duration of time slow.

    Limit the number of times you can use time slow.

    Add a penalty after using the time slow.

    Add a beneficial mechanic that can't be used during time slow.

    Ways to make time slow useful:

    Areas that are otherwise impossible/difficult without time slow by

    a. Volume of information eg. bullet hell.

    b. Size of hazard such as an explosion or beam such that you can't dodge in time normally.

    c. Number of enemies to dispatch without getting overwhelmed.

    State change of normally moving objeccts/hazards such as bullets turning into platforms.

    Any reflex/skill based puzzle.

  • A microwave would be more fun though.

  • You likely have a network issue. NAT traversal is not failproof, especially through double NATs depending on how they are set up. Firewalls may possibly get in the way as well.

    Are you in control of network configuration at either location? University/school networks can be pretty restrictive.

    Try having the host in an alternate location.

  • You should learn how to use expressions or you won't get very far in anything. The ones I used are

    Enemy.Pathfinding.NodeXAt(0)

    Enemy.Pathfinding.NodeYAt(0)

    These mean the X and Y coordinates of the first/next pathfinding node. The number is which node because there can be multiple.

    Angle (x1, y1, x2, y2) will get you the angle between two sets of coordinates.

    And loopindex is simply the number of times the loop has repeated. The first time it will be 0, then 1, then 2, ect. This is how I spawn every node with one loop.

    Pathfinding is useful so you have a way to avoid obstacles and go the right direction.

  • Here's a pretty straightforward solution, for one step at a time at least.

    dropbox.com/s/pzqv9zb9q2mxh8w/Enemy_AI_Test_2%20%281%29.c3p

  • I don't have any examples, as I'm not an Apple developer. You'll need to set up your app per developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/iTunesConnectGameCenter_Guide/Introduction/Introduction.html

    Then in your game after authenticating with the game center plugin, you'll have access to the relevant conditions actions and expressions.

    Edit: Alternatively, the facebook plugin also supports leaderboards cross platform.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The Game Center plugin should have everything you need. You won't need your own server.

    Google Play Services are depreciated and no longer supported on IOS.

  • Make sure your shadow light light radius is 0.

    Make sure your shadow light height is greater than your shadow caster height.

  • The name does have a lot to do with it. Construct is a very generic term. One annoyance for me after the rebrand is that it got harder to search construct related information via google, using construct instead of Scirra. That might not have anything to do with adoption though... Maybe "Construct Games" would be more obvious? Probably silly to rebrand again right now though.

  • loopindex only works for system loops like repeats and for loops.

    The loopindex parameter lets you specify the name of a for loop.

    loopindex does not work for Array "For each xy" and Dictionary "For each key". Each object has its own way of getting the current index by expression.

    It worked this way in Construct 2 as well.

    For your use case, an array seems more suitable.

  • Some quick general tips, I don't know how you have your existing system set up exactly...

    You can use the pathfinder behavior to find the path, together with the tile movement to do the actual movement.

    Grid systems are in essence rounding to the nearest x/y on the grid, a translated coordinate system.

    Set the pathfinding behavior with a cell size similar to your grid. You can then access the pathfinding node coordinates, and round/translate them to fit in your own grid system.

    With the nodes in hand, you'll need to handle the movement steps manually - don't use pathfinding's move along path action. I don't believe the pathfinding can give you a node per cell, you'll have to interpolate those yourselves. Basically you need to figure out a way to describe each step between two nodes. For example, you start at 1,5 and need to go to 3,9. There's a few ways to go on a grid system. You can go right first then down, down first then right, or a mix of both by figuring out the slope.

    It might be simpler for you though since it sounds like you're only taking one step at a time, so you only have to get the next step. If you have your destination node, you know if its above or below, left or right of your current position. Pick one up/down or left/right, test if there is an obstacle with tile movement's can move to position, then move. Repeat with a new pathfinding step for the next move.

  • A series on how to develop plugins and behaviors with JavaScript may be more relevant. There are many excellent resources already out there that allow a person to learn JavaScript in general, easily found for those who are interested. Logic skills learned from Construct are pretty much innately transferable in most cases without a need to specifically reference them.

  • It should be possible to create your own authentication/database server with the multiplayer plugin, but decidedly not recommended as it wasn't intended for that sort of use.