oosyrag's Forum Posts

  • I saw this a few years ago. I don't know if it is still relevant.

    twitter.com/2xTacker/status/917781791066423296

    Alternatively, have you tried Wait 0 for updating the helper sprite's position? That should make it run at the end of everything else in the sheet, although again I don't know if that would make a difference with behaviors.

    The true solution would be to use sin and cos to determine where the object should be, in effect recreating the orbit with events rather than using behavior. Then you have control of when the position gets updated.

  • CONDITION

    System: On start of layout

    ACTION

    -> AdvancedRandom: Create permutation with Sprite.Count values starting at 0

    CONDITION

    + System: Repeat 5 times

    + System: Pick Sprite instance AdvancedRandom.Permutation(LoopIndex)

    ACTION

    -> (no actions)

    (Do what actions you want with the 5 random sprite instances

  • As above, use a turn server. This is done in construct via

    Add ICE server

    Add a custom Interactive Connectivity Establishment (ICE) server used by WebRTC to establish connections between peers. There are a couple of built-in public STUN servers used, but you can also provide your own TURN servers to enable connectivity through certain kinds of NAT. A username and credential can also be optionally provided if the server requires them.

  • Untested, but this should work.

    + System: On start of layout
     -> AdvancedRandom: Create permutation with Sprite.Count values starting at 0
    
    + System: Repeat 5 times
    + System: Pick Sprite instance AdvancedRandom.Permutation(LoopIndex)
     -> (no actions)
    

    Alternatively, rather than pick directly in the condition, you can save the randomized permutation numbers to an array or variable(s) for use later.

  • Browser object action

    Go to URL

    Navigate to a given URL. Note this uses the same window/tab as is showing the HTML5 game, so this action will end the game. The Target can be used to select which frame to redirect, which is only useful if the game is displayed within a frame (e.g. an iframe embed), and the frame has permission to redirect the parent frame (i.e. it is not sandboxed). Possible targets are:

    Self: redirect only the frame that is currently showing the game.

    Parent: redirect the parent frame.

    Top: redirect the top level frame (only different to the parent if more than one frame is used)

    Alt

    Open URL in new window

    Navigate to a given URL in a new window (or tab if the browser settings override). This continues to run the HTML5 game in the old window or tab.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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.

  • 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.