Prominent's Recent Forum Activity

  • Lately when I preview my game in browser, it will open the window in its "restore down" state (when the browser is a smaller sized window on the screen that you can resize).. It's extremely annoying because I keep having to hit the maximize button after previewing.

    I'm on windows 10 and can't figure out why this has started to occur. Was it always like this? I don't know.

    Anyone know how to fix this?

    To be more precise, it seems to always happen after I minimize it and then hit run in construct2.

  • I had to OVERWRITE the file in the Files folder of my project. Reimporting from construct2 did nothing- even if I delete the file from the files folder first.

  • When I play my game the music won't update when reimported. where are the files stored in cache for nw.js?

  • Yeah, I'm having this issue as well. Basically the window size is always incorrect, and I assume it is related to the mentioned bug. Games using letterbox integer scale with point sampling will start up in windowed mode with the graphics being squished and the pixels flickering due to it not being perfectly rounded.

  • I'm having this problem. I'm using the latest nwjs v0.35.1

    When I run the game, the window size is smaller than it should be, which causes everything to be squished and pixels not to be perfect.

    Is this a nwjs bug?

  • I'm guessing it's because I used every 0.01 second, and 1/60 is 0.0166666 , so the the quickest the timer can go is 0.016666

    I tried using the 0.016666 value, and it seems to look the same at both refresh rates.

  • I noticed that my Every X second events will run quicker on 144hz screen compared to 60 hz.

    I was under the impression these events should run the same speed since it uses a standard measurement of time (seconds).

    Why is this?

  • I've recorded another part for the platform behavior where I implement wall jumping and grabbing onto corners of ledges.

    youtube.com/watch

  • This is a post to reserve space for later.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This post will list the links to my Construct videos. They serve to help illustrate how to work with Construct. They may vary from beginner to advanced depending on the subjects they cover. If you'd like a specific thing covered, let me know.

    The videos are unedited to show the complete process, which should provide more insight.

    Capx files will be downloadable for free on my patreon (just need to follow me), unless noted otherwise.

    ____

    Construct Events: Animation States

    pt1: youtube.com/watch

    pt2: youtube.com/watch

    pt3: youtube.com/watch

    capx:

    pt1(free): patreon.com/posts/21493116

    pt2(free): patreon.com/posts/21493116

    pt3(free): patreon.com/posts/21662912

    ____

    Construct Basics: Platform Behavior

    pt1: youtube.com/watch

    pt2: youtube.com/watch

    capx:

    pt1(free): patreon.com/posts/21768660

    pt2(free): patreon.com/posts/21799098

  • I haven't. My project is basically a deathmatch style game where players join and run around and fight each other. So maybe 16 players- and various objects.

    The multiplayer plugin is designed to automatically not resend data if it doesn't change (synced variables), this is to help lower the amount of data being sent.

    I basically just try to limit whatever I need to sync. If there is a way to let the peer handle stuff, I will do that. Like if an object is picked up by a peer, then host sends signal to peer that it picked it up.

    A small rts game with a few players doesn't sound too bad. I would think you can design it in such a way so that only objects nearby players are synced, or exist at all on the host, etc.

  • You'll have to manage 1,2,3 with your own events.

    The plugin doesn't have that built in.

    For #1, have the peers save the name of the room, and if they are disconnected, reconnect to the saved room name.

    For #2, They should automatically be recreated when something about them is updated that should be synced. The reason they time out is because they don't have any synced data changing over about 3 seconds. I found that if you have the host constantly change a synced variable, such as a bit from 0 to 1 every second or fraction of a second, then the object will be less likely to timeout. There will always be rare occasions that they do, and you will need to implement a means to resync the data of any unsynced variables when those objects are auto-recreated(when something synced in the object changes).

    To do this, you can have an unsynced variable such as "sID".. and the host can give it a unique number, then send that number to the peer. It will act like a tagname for the object. Then when an object is auto-recreated, if that variable is set to 0 (default value)- then that means it was recreated and there are potentially unsynced data. Have the peer send a request to the host to send them the unsynced data of that object (the variables that aren't being autosynced).

    This way, you will be able to resync the object's unsynced variables of the objects that timed out and were destroyed,recreated. It is a bit long-winded, but I have successfully implemented this procedure and know it works. It just takes a bit of time and testing. To test it, you can simulate the latency via the event that adds simulated latency and then minimize the browser to force the host to stop sending data- this will make objects more likely to time out- in which case you can then test if things get recreated when you maximize the browser and allow the host to continue sending data.

    For #3, if the objects are synced, they should be recreated when joining. The peer should destroy all objects prior to joining. The synced objects will be created. If the variables of those objects are synced, the variables will be updated. If not, the host will need to send a message to the peer with the current data for any unsynced variables in the object.

    For #4, I don't know. You can try simulating latency and see if it still works. That will give you an idea of real-world situations when lag/etc is incorporated.

Prominent's avatar

Prominent

Member since 28 Apr, 2012

Twitter
Prominent has 9 followers

Trophy Case

  • 12-Year Club
  • Popular Game One of your games has over 1,000 players
  • Famous Game One of your games has over 10,000 players
  • Email Verified

Progress

15/44
How to earn trophies