oosyrag's Recent Forum Activity

  • What dop said, but you can also try disabling the bullet behavior when the sprite is less than x distance from mouse, and enabling it when more.

    If your player object is moving very quickly, you can use the stepping property and events to prevent overshooting your mouse position.

  • Correct. This is the nature of peer to peer networking. Although it's not exactly instant, there is some leeway in reestablishing a connection.

    Depending on the scope of your game and the amount of data required to sync, it is actually possible to recover or migrate hosts. That is a significantly more advanced topic though, and generally speaking it is not worth investing time into.

    You can also look into cloud services like firebase or photon cloud depending on your gameplay requirements.

  • I have tried the official signaling server. The problem is that the official rules for creating rooms do not apply to my current situation (the first one to enter is the host, and the second one to enter is the player). I need to make sure that some accounts must be the host, regardless of the order of entry.

    Don't use the auto join room feature.

    This can simply be done by requesting the room list after logging on (or otherwise authenticating your user by your preferred method. After you get the room list, you can see what rooms have people in them already, or are full. If you have a designated host client, have them enter/create a room that doesn't already exist, while a peer client will join one that does that has space.

    In addition, I also want to ask if I use the turn server for data relay. The principle of connection is that the host sends it to the turn server, and the turn server distributes the massage to everyone, or the turn server is still P2P.

    That's not how WebRTC works. The signalling/turn server only facilitates connections between peers, it does not otherwise handle any data.

    This won't change even if you host your own signalling server. Actually neither of your issues really has to do with the signalling server.

  • Two ways: Record inputs and time, or record absolute position and time.

    Either way, storage would probably be done via an array. For example...

    Every x seconds, push sprite.x to array, set sprite.y to array at (0,1)

    Would populate an array with the sprite position x and y every x seconds. Then save the array, and have your ai move to each position in the array in sequence.

    Alternatively, you would save what the player was inputting at every time instead of the sprite's position

    Depending on your game and how it is set up, either of these approaches could be optimized for further detail.

  • I believe sells a firebase plugin.

    rexrainbow used to have a free plugin for C2, but I don't know if that ever got ported to c3 by someone else, probably not.

    Otherwise, you can also access the firebase API directly through JavaScript, which you have access to in C3. construct.net/en/tutorials/construct-firebase-2163

    You can also use an app wrapper service like Enhance.

  • Eventually with percentages you will get a non even number, with a lot of decimals that won't fit into your text box.

    You can make your text box bigger, or try using floor(number) or round(number) instead to get rid of the decimal value.

  • 5% = 5/100, or 1/20.

    So on button pressed, set health to health+(health/20).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • To run your own signalling server, you will need to purchase the signalling server code, then run or rent a server to host it.

    You can purchase it at - scirra.com/store/game-making-tools/multiplayer-signalling-server-161

    If you don't understand how signalling works or how to put one together already without needing to ask on these forums, I HIGHLY recommended using the official signalling service.

  • Haven't looked at your project yet (the filesize is rather large), but some possible issues:

    The sync action only syncs object creation, destruction, and optionally angle and position. Any resizing of the object will need to be manually done on both the host and peer and synced. You can either use consistent events between the host and peer (non host-authoritative) to do so, or put the information in a synced instance variable (host authoritative) and update the values on the host which peers read and adjust the object accordingly.

    Make sure the peer isn't running the spawn function, only the host should create or destroy any synced objects.

  • Have you tried using the WarpRipple effect in effects?

    Frequency 3, Amplitude 1%, Speed 15 seems to get a similar result for me. Settings probably depend on the size of the sprite though for whatever specific look you are going for.

  • From memory, start with a size 0 array:

    Repeat tokencount(sourceData," ") times

    Array Push back on x axis tokenat(sourceData,loopindex," ")

  • That looks great! Didn't realize that effect existed. For how well construct is documented otherwise, the effects documentations are conspicuously missing.

oosyrag's avatar

oosyrag

Member since 20 Feb, 2013

Twitter
oosyrag has 38 followers

Trophy Case

  • 11-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

21/44
How to earn trophies