oosyrag's Forum Posts

  • Does your host have cors enabled? If not, the ajax request will be blocked and will never trigger on complete.

  • For any AI:

    First play as the AI yourself.

    Take note of any decision point where you have to make an input.

    Record the reason you made any input as conditions to trigger an action. Also identify any conditions that would influence to take another action.

    Translate these into events triggered by whatever triggered you into making an input in the first place.

    It is normally extremely difficult to account for all possible conditions to make actions, so you'll often want the AI take advantage of random or pseudorandom decisions to choose from available actions. You can also utilize conditions to narrow down available actions for the AI to take.

    Depending on your game, it can also be difficult to take into account all available actions in any given scenario as well, so you're just going to have to keep adding to and refining your AI as you go.

    There will never be a template for AI as the conditions and actions available for each game will usually be different.

  • Tilemaps and sprites both come from image files. You can edit the tilemap image and crop out the tile you want as a sprite, either in construct 3 or an external image editing program.

    Or, you could create an instance of the tilemap that is sized one tile worth of width and height, and set the tile to the tile you want. This isn't the intended use of the tilemap object and not recommended though.

  • Scale the layer.

    Although you should probably downsize the tilemap source image instead, to not waste memory.

  • Compare with the included multiplayer pong example file and see what you're missing.

    If the pong example doesn't work you might have a connection issue and need a TURN server.

  • You'll want to save the x, y, and angle of each sprite object presumably.

    Make an array for each object.

    For each instance of the object, push x, y and angle into the array.

    Save the entire array asJSON to localstorage

    When loading, loop through the array and create an instance of the object for each entry in the array, positioning them according to the saved data.

  • Localstorage example

    AFAIK shutting down a chromebook shouldn't clear it's cache, unless you were using incognito.

    But a user could manually clear the cache and lose the save anyway, so it's always best to use localstorage.

    Edit: Manual says system save doesn't use the cache at all in the first place, so I dunno.

  • Are you running any proxy on edge or chrome? Disable all add-ons and plugins? Update to latest version?

    To troubleshoot I would do a fresh install of both of them on the same computer, then test again.

    Edge is based on chromium, so it should work the same as chrome. The chat example works fine on my device with both browsers as well.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • letmegooglethat.com

    For hosting text without your own website that doesn't require authentication try GitHub or pastebin.

  • If it works from chrome and not edge from the same connection, it's clearly not a connection problem, which means it has nothing to do with stun/turn to begin with.

    Again, if it works in Chrome, it also doesn't have anything to do with where in the world you are located.

  • I'd recommend an invisible helper object(s) as a reference to keep track of locations. Either a single object with 3 image points or 3 separate instances. They are position 0,1, and 2. On trigger move the visible objects from position 0 to 1, 1 to 2, and 2 to 0.

    Or pin the objects to the helper object, and rotate the entire helper object 120 degrees.

    There are many options to approach this.

  • You can set up 2 or as many los cones as you want, facing the directions you want, with the distances you want.

    Or associate the player and the enemy objects by storing the uid of the platform they are touching in an instance variable. If they match, do the thing.

  • If you have to ask here, you're probably not going to want to or have the ability to set up your own TURN server. This also isn't really the place to ask either, since it's outside the scope of these forums and you probably won't get much help. STUN is also not particularly relevant here, as it is already included for free and setting up your own isn't going to make much of a difference.

    Just using a TURN server is another matter though. There are websites/companies that provide TURN server services for a fee. You simply sign up for their services, point your app at the URL provided by them and provide the proper credentials with the multiplayer "Add ICE server" action.

    That's pretty much it and will solve most of your connectivity issues.

  • There are two approaches to loading screens based on the way images in memory are handled between layouts.

    construct.net/en/make-games/manuals/construct-3/tips-and-guides/memory-usage

    Specifically:

    When the layout ends, all images that are loaded but not used on the next layout are released from memory.

    If an object is not placed in the layout view, but events create it at runtime, its images are not pre-loaded.

    You can have your "loading screen" be either an intermediate loading layout that will create the objects required on the following layout, or a loading layer that covers the contents of the layout while they are being created.

    In both cases, you don't want to place the objects in the layout editor, so that the layout is not required to load everything into memory before starting. If you are using the layout editor to arrange your objects/level, then the first method would be more suitable (Place the objects in the following layout, not the loader layout. They will remain in memory when changing layouts). If not, the second might be more straightforward.

    Note that this normally should complete very quickly (thus defeating the purpose of having an animated/interactive loading screen in the first place) unless you're really pushing the limits of memory on the user's device, which is a situation you generally want to actively avoid.

  • Boids/flocking/steering style mechanics are probably the "best" way to do it. I don't know if the plugin implements it well or not though. It may have utilize calculations you may or may not need.

    Game performance drops in vampire survivors too, towards the end of a round. Also note that there aren't actually that many enemies on screen at any given time in vampire survivors. How many are you reaching before you have performance issues?