Colludium's Forum Posts

  • Liquidfun JavaScript (LFJS) is a physics behavior based on Box2D v2.3.0 with added particle effects by Google (original source code from here).

    Demo: here

    Available on itch.io.

    Known bugs:

    Variable framerate and particles

    Particle y position and many create/destroy particles

    Tagged:

  • deleted

  • Hi there,

    I've been tinkering with the sdk and noticed that

    this._inst.HasTilemap()
    

    unexpectedly returns false in the PostCreate() function. Is there another way of determining if an object is a tilemap during PostCreate()? I'm thinking of using

    this._inst.GetPlugin()._isRotatable
    

    but it feels a bit hacky. Thanks.

  • Hi - yes - with a control input of left or right, the dash action permits acceleration to a higher maximum speed (ie if you don't keep control left/right then nothing will happen).

    - try using Visual Studio Debug - Attach to Process [ctrl-alt-p] and select the running Construct2.exe. If there is a crash, the report should be more comprehensive.

  • Updated to v3.5. Bugfix: dash accel wasn't working correctly.

  • Hi Tombas,

    This was an update to v2.12:

    Bugfix: destroy all joints didn't always work.

    Change: position and velocity iterations. No clamp of entered values, so you can change them to what you want (but beware, large values will cause a performance problem).

    To everyone: Box2D+ is only available at itch.io store

  • Updated to v2.12

    Bugfix: Destroy all my joints sometimes missed one...

    Change: Velocity Iterations and Position Iterations. When you set these values the plugin no longer protects you from your choice (ie it used to clamp the values to preserve performance). Edit as you want but beware the potential impact on performance (an iteration = a cycle through the whole simulation).

    To potential buyers: this plugin is no longer for sale in the scirra store but you can still find it at itch.io

  • Hi Tombas, sorry for the late reply - I don't frequent these forums very often now because I'm using Unity. Unfortunately I won't be converting this to the c3 runtime.

  • Hi jakefriend - I'm really pleased that you like the plugin! Sorry for the delay in responding - I'm using Unity now and don't come to these forums very much any more...

    To answer your questions:

    Platform2 and Solid2 on the same object. Unfortunately the collision filtering is not sophisticated enough to be able to do this. It would take a complete rewrite of the plugin and I don't know how successful it would be. Sorry this is not possible.

    Invisible floor - I can't think of a better way to solve that problem.

    Reference object being stood on. The events you use are the best way to check what is being stood on. I tried to edit the plugin to indicate if an object is being stood on and it would require a complete rewrite of the collision overlap routine. So, unfortunately, the conditions you're using are the most efficient way to indicate this.

  • Thanks Spax, I hope you find it useful!

  • You do not have permission to view this post

  • Setting the fps to a certain value will only provide a smooth solution if you know the display vsync fps and then set the update rate to a whole-value fraction of the vsync value. I have an old laptop that reduces the vsync to 50 fps when the battery is being used and an android tablet that uses 50 Hz as a default (ugh..)... 30 does not divide into 50, so using 30 in that case would cause some jank or apparent uneven movement. And there are plenty of monitors that run at other vsync values that 30 cannot divide into (ie 75 hz, 100 Hz, etc).

    Thus, what you should really ask for (IMO) is a graceful degrade of logic fps - a runtime method of detecting when the average logic time is greater than that required to meet the monitor vsync (most games will jank a little if the player has a 240 hz monitor, for example, because the available logic time is only 4 ms per tick, ignoring garbage collection etc). But the jank may be hidden by the overall framerate (human eye limit) if the jank is only occasional.

    In a cross-platform agnostic solution the runtime would have to allow the game logic and display timing to disconnect from each other. So, in a logic-heavy game all sprites would be moved at a fraction of the vsync fps (ie 0.5 x vsync or 0.33 x vsync -> whatever gives a round number). For a 75 hz monitor, the logic would have to degrade to 25 fps. And so on. That would take a bit of a re-write of the runtime logic, I think.

    How can a browser detect the user's display vsync...? I don't know of a way that a browser can obtain that directly using JS, other than timing the requestAnimationFrame() timing... Oh, and if requestAnimationFrame() is called at exactly 60.00 Hz then it's probably a failure of the browser to detect the vsync and, instead, the browser has defaulted to the most likely callback value in absence of any data (so, even then, you can't guarantee to get the vsync value).

    Unless I'm missing something...?

  • You do not have permission to view this post

  • Colludium

    I want to buy this, but I'm not sure if it will do what I need. How can I contact you now that pms have been disabled.

    Hi - you can message me on Discord :).