bjayfont's Forum Posts

  • In the multiplayer engine if an object does not receive data for ~3 seconds, it destroys it as presumably having timed out. So I think disappearing objects is caused by the timeout, and the real problem is being unable to read data.

    So couldn't you disable the part that destroys objects when timed out? Or maybe add some sort of option for it? It seems that the timeout-destroy creates more issues than it solves, at least in this instance. The problem of reading data only ever seems to be momentary, anyway.

  • There is a distinct lack of truly complex and interesting pet sims. I'm talking about something with really in-depth AI and breeding mechanics. Something above the simple browser games like all those different social dragon feeders, mini-game aggregators like Neopets, Tamagotchi, etc. Something more like Chao Garden from the Sonic Adventure series, for anyone that's played those, but even better.

    I think such a project would be a whole lot of fun and very interesting to work on, but it's also a bit too much for a solo programmer I think, so I'm looking for anyone who would also be interested in such an idea. Programmers, artists/animators, anything really; I could probably use all the help I could get. I've already started, and I have plenty outlined in notes, and much more still cooking in my head. I want breeding so players can come up with all kinds of different and unique dragons, based on a simple model of real genetics. But I also want it to be a great pet game, with seemingly individual personalities to every dragon, as well as a realistic simulation of affection, to make them really life-like and truly lovable.

    Hopefully I'm not the only one browsing these forums with such an interest. If you're interested, or have any doubts/questions, feel free to post them here or in pm to me.

  • bump

  • Well I've done something of my own collision system with the custom movement plugin, since non of the regular "push out of solid" action options really worked all that well for me, so I think I should be able to do that. A lot of the expressions and stuff for your plugin are kind of a mystery though. Like, I'm not sure how I would go about getting the positions of the vertices of the different quads, for one. Also I might have to change the way I use it, not sure, though. Basically I move everything around the player, rather than moving the player around the layout. So I have the one Custom Draw object and then I use the Matrix Translate to move everything, according to player input. So collision might be even weirder that way, but I can't be sure yet o:

  • bjayfont

    I don't really have any plans to add collision stuff to this, it's a visual only plugin. All collision stuff would have to be done by other means.

    So then I don't suppose there's any way to do collision with events then..?

    you could use Polygon plugin to make all collision stuff

    I don't know of any Polygon plugin that allows you to set textures like this plugin does. Unless you're suggesting using a separate polygon plugin for collision, and then using a whole other set of events in order to sync the polygon size/shape with that of the quads in this plugin.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This is a really cool plugin, and I'm working on a simulation of relativistic effects like length contraction and time dilation, for which this plugin works really well. However for other things I'd like to do, I'll need the drawn quads to be interactable, like collision and stuff. Is that possible right now, or in the future maybe?

  • Was hoping maybe someone could help me with this. I've tried preview browser on NW.js, chrome, and firefox, and exported on chrome and firefox.

    Preview:

    Export:

    Other people see on export:

    It seems the washed out colors is only really a problem for me, which is strange. The floor is a tiled background and the bushes, grass tufts, and orange square are all sprites. I'm also using a laptop with wide color gamut, manufacturer-calibrated, so maybe that has something to do with it. Any help/suggestions/advice?

  • https://drive.google.com/open?id=0B8SU_ ... HQwVWJiNkU

    Another capx, this time showing object sync failing even when all objects sync'd all have position sync on. Either the test objects don't load in at all on start on the peer side, or they do load in, then disappear some seconds later. Setting latency to 0 in Simulate Latency fixes this, while setting PDV or packet loss to 0 seem to have little or no effect on it.

  • So I haven't narrowed it down totally yet, and I won't get the chance to until a bit later, but I think if you have positions synced on everything, the bug still persists if the peer object is constantly moving on the host side through the custom movement behaviour

  • Not sure its due to the latency, with position syncing more information is passed along, potentially causing more lag/latency.

    But seeing as the this scenario appears reversed here (more syncing works better) I am guessing there is a glitch somewhere in peer creation/count when no position syncing is used.

    When I set latency to zero in Simulate latency, or turn simulate latency off entirely, there seems to be no problem; the bug stops happening.

  • It looks like that might not be the only problem. I tried setting every sync'd object to position sync and that did work with the capx I provided, but not with my project. Going to try to strip down my project to find another contributing factor to the bug, when position sync is enabled on all sync'd objects.

  • Without position syncing for the test objects and peer objects (as in the given example above) one of the peer objects vanishes here on my system for the peer. (object count for peer)

    When I enable position syncing for both objects, the object counts are as they are supposed to be.

    This issue arises also arises when I just have the peer object with position synced and the test object without position synced.

    So then Multiplayer Sync Object (none) pretty much totally breaks multiplayer whenever there's any significant amount of latency. That sounds like a bit of an issue.

  • Problem Description

    Sync'd objects, on the peer side, pop in and out randomly, and may not all be created or destroyed when they are on the host side, but some will. This only happens with latency, simulated or not, and doesn't seem to be cause by either simulated PDV or packet loss, only latency, simulated or otherwise.

    Attach a Capx

    https://drive.google.com/file/d/0B8SU_2 ... sp=sharing

    Description of Capx

    The capx is as stripped down as I think it can be while still making the bug easily reproducible. I believe it might have something to do with bandwidth or just client inputs in general, so I set three client input values to constantly update, and that seems to be the main source of the bug.

    Steps to Reproduce Bug

    • Start up two copies, one host and one peer, in debug mode
    • Look at the object counts for Peer and Test and watch how they deviate
    • If nothing happens at first, wait a little longer, or refresh/restart the peer copy.

    Observed Result

    Object counts go down or even zero, then back up but sometimes not all the way. i.e. The test count which should be 5 will drop down to 0, then come back up to 3, then maybe go up to 5 or go back down to 0 again.

    Expected Result

    I expect objects not to randomly be destroyed on the peer side.

    Affected Browsers

    • Chrome: YES
    • FireFox: n/a
    • Internet Explorer: n/a

    Operating System and Service Pack

    Windows 10 Home 64-bit

    Construct 2 Version ID

    Release 244 (64-bit)

  • In case anyone else is wondering, I figured out how to do it. I'm not sure it's the most elegant solution, but it works. I figured all I need to do is isolate the last row of text and find the width of that. So if I can have a text object that contains just the last row of that text, I can use textwidth to find the width of the bottom row of text.

    So essentially I have a clone object of the text object I want to find the end position of. So same size, font, etc. We'll call this LastRow. Because textwidth doesn't update until the Text object is redrawn, we can't just run a loop, we have to run it frame by frame. Since text wrapping is on a word-by-word basis, it makes sense to run it word-by-word. So we transfer the text from the displayed text object to LastRow, one word per tick, using tokenat() with " " as the separator. Then another event checks when textwidth deviates from the normal value, the height of one line of text (in my case it's 20). When it does, we need to cut off that entire first row of text; so we do this by using tokenat() again, this time setting the text to the last word of text (and a space). Once it's gone through the entire length of text, you'll have the bottom row isolated, and you can use textwidth to find the width of that, and textheight of the display text, and use that for the x and y of the caret sprite or whatever you intend to put there (with an offset according to where that display box is on the screen of course).

  • You do not have permission to view this post