Aphrodite's Forum Posts

  • I saw that problem in the past actually, and I think GC is the culprit, as I remember some updates lowering it a lot in some of my projects, I would say it is possible to fight it (I think it is:

    Duration of a tick min(1/Vsync, (time took by the GC when it cleans up+max(time for rendering, time for logic))), so if we can have guidelines on how to reduce the amount of garbage, and if some updates helps with that, that could be done.)

    Also, that would mean that an higher end computer will not see the problem as much due to the speed of rendering and logic, so if you do not sees it, that could be why, but this problem exists.

  • I heard it would be used on phones too, but may be just rumors.

  • Are you talking about the webGL effect? If so, I would recommand to check if webGL is supported via the system expression renderer after exporting.

  • Another thing I experienced, that is not related directly, but is still graphic and performances related, is that a fullscreen game will be far more unstable fps wise than without being fullscreen, buuuuuuut I tested that on a computer with a 4 years old graphic driver, so I would think this is not useful in any way retrospectively. (Just to say, that without webGL, scaling the game seems to be more intensive, it was hardware accelerated as far as my browser said)

  • Hum... I wwill say that, since it seems to run on android, that could have a nice potential for everyone, but they seem to advertise it more as a TV Box more than a casual console (most people will use it as a way to have a connected tv with a known environnement I would assume), but I will keep an eye on that I think.

    Thanks for sharing.

  • Well, if you have time, the what you may have missed is a lot of help

    what-you-may-have-missed-in-september-2014_t116682

    But I would say, as I think that was 1 year ago (?), that those caught my attention:

    Debugger in preview

    Tilemap object, as it name implies, it lets you use tilemaps, it is also compatible with Tiled

    Crosswalk for android export, and recently ads and I think IAP for it and phonegap

    Drop of cocoonJS support for obvious and already detailed reasons

    Filechooser object for html5 (and so for other exports too)

    Video plugin

    global layers

    performances improvements

    some improvement on the ide

    Also phonegap is worthwhile in iOS 8, and will be also worthwhile in android 5.0 L (android lollipop I think is the announced name of it)

    Sorry for throwing everything like that, I would suggest going through the different releases changelogs of the stable versions for more details

    https://www.scirra.com/construct2/releases

    Welcome back, and hope the come back will not be too hard.

  • Actaully, skelooth has a point. Back when computers had VGA graphics, car racing games had a fps of 16 or 20, and there was zero problem playing them. Of course, none of those games would work on modern computers, and look like trash if they did, but it does show that there's more to it than just fps.

    The system in that case had the time to do everything, there was no slowdown involved, thus it was working as expected, varying framerate is the problem in our case I think.

  • I can think of the pin behavior, in "Rope" mode, if you do not need physic interactions, that would work

  • ludei : so, the link to report issues with the plugin is https://github.com/ludei/Construct-2-plugin I would assume, but should we also use it for general issues with CocoonJS and C2? (If so, could you add the link to your signature so potentially new users that sees your posts knows where to search?)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hmm, I'm interested with shinkan method of hiding the url, it came to me that why not use MP plugin to deliver the url string? This can be single flow process like below:

    1)Peer: connect to host

    2)Peer: on joined room, send message <browser.URL>

    3)Host: on peer message, compare message with whitelist array, if true, send some screwed message.

    4)Peer: on message, load the message into array, then compare with browser.URL

    5) If equal, disconnect from signal, then start game.

    Step 3&4 is redundant check. I think it would be hard for the thief to fabricate "send message", there's probably loophole here, but for me it's an interesting idea. The drawback would be having an always online host to enable the checking. What do you guys think?

    I like the "flood with ads" idea!

    Three reasons:

    1/if the user is offline (yep, C2 games work offline too in the browser), the check is impossible, and prevent them from playing it feels plain like a cheap shot.

    2/host is mandatory, as well as finding a room, which would involves using the scirra signaling server, sure, it is never a big problem, but feels really bad to involve another middleground, also that means having an host connected at all time, which is also another risk.

    3/No webRTC support on some browsers, no MP plugin, no nothing

    If you want to go as far as that, just use an ajax request to a file at the root of your domain, that would stop I think most of them, but again, still the point 1 applies here.

  • http://www.google.com/googlebooks/chrome/small_00.html

    Pages 3 and 4 I think can help a little in understanding that.

    Tl;dr : each rendering engine, each tab, each "insert name here" have its own process, so if one crashes, the others stays up, and also they are sandboxed for a better security (at least in chrome)

  • DUTOIT I actually like the idea of an illegal version full of ads and all that, as not only you make profit from the stealer, but you also make themir version slightly worse than yours (I would recommand having also a link like "play without ads on the official website Here" thingy, as most of those websites will I think just steal a lot with only a little testing).

  • sqiddster - I know a way of throttling Frame-rate

    Go to graphics cards properties and change refresh rate to 40 hz. This may not be available for all machines but it is a great hack to force 40fps in construct 2 games. I had a lot of headache over a problem related to fps and this is how I managed my testing.

    While doing this works (changing the frequency at which the refresh rate is basically change the time between each sync us done, and C2 games work basing themselves on Vsync), not only does it involve the user doing it (assuming he can), but also may not be great for the screen itself (I remember my former monitor having weird lines defiling from top to bottom when that changed), and will not be availiable on all devices out there (eg. Phones, tablets, or even some monitor being incompatible maybe).

    It could be done to preview the game, but you should not rely on that trick when making the game public, also, this will not throttle the game, in fact it will make it smoother (maybe that was what you were implying?)

  • Thanks ASHLEY. That technique worked! Now I am trying to add a textbox to each sprite and move it along with the sprite in multiplayer mode...The way I went about it was by adding a container textbox object and tested it..However the textbox doesnt move along with the sprite...Looks like sync doesn't sync container objects? Do I need to repeat the same code that I did for sprite to move the textbox as well?

    Edit - I think I got the answer in the forums from Ashley's response to one of the bug - "Closing as not a bug. You only sync one of the objects, so the other object in the container will be created, but not synced".

    But I couldnt understand why sync - position cannot happen on container objects...wont that be a good/required feature?

    I would imagine you just have to sync every object in the container (and since not every object in a container share the same X and Y coordinates, as some may be just static, syncying them by default would be unessecary)

  • I think the way to do this is to pass the uid of the object as a parameter, then pick the object back, so you can use the instance variables.