oosyrag's Forum Posts

  • I found this: https://www.npmjs.com/package/ntp-client and was wondering if there was a way to use it to process an NTP request directly from C2, either as a plugin or through the browser execJS. I have no idea what this involves though so I'm asking here.

  • Make the layer invisible while you work? Change the radius property to 0 and set it to 50 on start of layout? Just throwing some ideas out there, don't haveC2 in front of me right now.

  • Best is subjective... but Adobe Aftereffects is a fairly well known one. There are probably others more suitable for what you are trying to do. Depending on what you're trying to do.

  • Projectiles are difficult to code with the MP plugin because of the delay in creating and destroying objects.

    The workaround I've used is to sync an INVISIBLE authoritative projectile via the host, and have create a visible sprite on the peer side for local input prediction. When the invisible host projectile gets synced, the local visible projectile will smoothly correct its position. On the host side, the "true" projectile will spawn a little farther forward with lag compensation, and peers can do similarly with reverse lag compensation

    This works best for slow moving projectiles. The difference in speed/angles upon spawning and catching up to the authoritative marker should be difficult to notice if done well.

    Basically, this is a recreation of the lag compensation and local input prediction systems for movement already baked into the MP plugin, except for the purpose of creating and destroying objects.

    For faster moving projectiles, this may not be ideal and it may just be best to show peers delayed, synced objects. This issue is not unique to the multiplayer plugin and is more an issue with netcode in general - you'll have to deal with the lag somehow in the end.

    If you don't care about an authoritative host, then you can just ignore the sync functionality all together, and have each peers update each other with messages. It will work as you described - the host will receive a message from the peer, and can relay a message to all peers with the contents and maybe a tag to identify which peer it comes from. This doesn't solve the lag issues though, which you'll still need to account for.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Made a capx for myself to help understand/visualize above approach, leaving it here.

    https://www.dropbox.com/s/stuquplu2gph1 ... .capx?dl=0

  • Yes, you can do it in C2.

    But that is a fairly advanced topic on the art side of things. If you have no idea how to go about creating the art yourself, a third party generator may be better.

    After all, there are hundreds of different ways stylistically to render a fireball or explosion.

  • I don't understand. Can you clarify your question?

  • https://www.google.com/webhp?sourceid=c ... 20as%20png

    If you need additional help learning how to use image editing software, I recommend searching on the relative product's forums, or google.

  • Check around the edges of your screen, maybe you moved it on accident and or is mostly hidden off the edge of your screen. Or possibly dual monitors?

  • As commented in the example:

    [quote:3cdpqirq]Note Construct 2 pairs up instances by default, so this action will get the corresponding sprite's instance variable, as long as there is an equal number of text and sprite objects.

    I guess this is a shortcut where expressions assume the IID of the currently picked object. I've been using C2 for 5 years now and I didn't even realize this existed... I can't find anything in the manual that documents this. Still, I wouldn't rely on it, as placement order matters and things can get messed up as you create/destroy objects or if you don't have equal instances of each object.

    Containers would be a more suitable method. Alternatively you can assign label/debug text an instance variable with the UID of the object it is supposed to be associated with, and use that to pick the correct objects to update the text with.

  • Tricky.......... here is my attempt. https://www.dropbox.com/s/vbn9xluozgmf8 ... .capx?dl=0

    I don't know if this is a good way to go about it though, in terms of efficiency or logic.

    I've saved each imagepoints' angle difference from the center point to an array, then sorted the array to get the two points with the largest difference.

    EDIT: Updated original capx to clean it up, and now also works for any number of imagepoints/vertices.

  • Well nothing you are saying is really impossible.

    As I mentioned earlier, the most important step is to define for yourself what information each player will need from the server, what they need to provide to the server and when. If you can make a clear plan, then get working! As Jomo said, Firebase is more suitable for Client-Server, but if that is too hard to work with then it is definitely possible with the multiplayer plugin. When you get started and work through putting it together, you will run into more specific problems that people will be able to help you with rather than just trying to imagine the whole thing in your head at the moment.

    Basically - try it and learn!

  • From what I understand, Firebase would be more suitable for a persistent mmo/mud type game, but again I don't have experience with it myself. There are bandwidth and other cost considerations when using a third party service.

    The multiplayer plugin should also have all the functionality you need, but you may have to put in more legwork implementing basic data structures like a login system and database. You'll also need to have a system available to act as a dedicated host, with the network configuration that comes with that.

  • Probably use a global variable to store your current LayoutName upon exiting, and on the next layout place the player's start position based on that variable.

  • That makes a lot of sense. Here is the better one, for a two dimensional array.

    https://www.dropbox.com/s/1cj0u7ipiioao ... .capx?dl=0