Colludium's Forum Posts

  • It's like a ray cast, but the ray is as wide as the player is tall...

  • It's not possible, but you could pin a hidden object and reference its position.

  • Blast it! the plugin is (was) almost complete, but I made a mistake. Obtaining joint pointers is not compatible with game save because all recreated joints have different pointer numbers compared to before the save event (so all event references to them won't work). I should have realized this before. Time for some editing to add a joint tag system, and hopefully nothing will break...

    Then there are only a couple of actions to add and we're ready to roll out the beta!

  • This is normal for Box2D and nothing to be concerned about. There is no work-around: it's part of Box2D...

  • It's how Box2D code is written.

    In Box2D, when a body is created it's m_flags variable is set so that the e_awakeFlag bit is 1 (ie IsAwake returns true). During the Box2D world step (b2Island::Solve), the engine steps over static any objects and never hides the e_awakeFlag bit, even though the static objects never move.

  • That´s what I´m looking for. Awesome!

    Great!

  • Thanks Mikal,

    Thanks WackyToaster - and to answer your question: if I understand that other thread correctly, you're asking about collision filtering for non-physics objects? For LFJS, I'm trying to make an-almost-complete port of Box2D with Liquidfun - at least as complete as it can be when accessed through C3 (and later for C2). So the collision filtering in LFJS will have no effect on anything that is not inside LFJS. So maybe 'no'.

    However, if you're interested in a Physics alternative with bespoke collision filtering then: yes, LFJS will have full Box2D collision filtering via Collision Mask, Collision Filter and Collision Index. It will also include a Pre-Solve trigger where you will be able to enable/disable a particular collision that the filters don't cover (If you're that way inclined!). Does that answer your question?

  • ...and here are the Expressions:

    Now to start the conditions... ugh... ;)

  • Quick update - here are screen grabs of the Actions:

  • WackyToaster - thanks - it'll be a little while yet as I trawl through the normal physics actions etc. I'm currently creating all of the joint methods and some of the LFJS library is lacking, so my cpp skills are now above zero...!

    mekonbekon - Thanks! That video is a good demo of how to get a water effect with a normal physics library. With LFJS, 1,000s of particles easily support 60 fps, so smaller circle sizes are easily possible. And, of course, the same Alpha Clamp effect can be used if you want. With LFJS you can also change the particle type: for example: water, spring, viscous, elastic, powder, etc. Each of those have unique characteristics within the engine.

    Here's an example of the LFJS icon demo but using Tensile particles (mimics surface tension):

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So, I've managed to make the particle creation events play nicely with particle group creation. Initially I thought that each shape would be a separate particle group (ie quite limiting). But now, thanks to some good information hidden away on the interweb, the plugin can create different particle shapes with different display sprites all in the same group.... and you can make the group rigid!

  • Thanks !

    Minor update: Build has been updated to allow webassembly memory growth.

    Mind. Blown. Performance is now similar to that of the standard C3 Physics plugin (which is far better than the old asm.js performance from my old box2d+ behavior). Today's been a day for code tidying and general housekeeping - so my sleeves are rolled up and it's time to do some more Liquidfun project editing/building.

  • Thanks WackyToaster!

    Update: added 'Assimilate' joints. Weld joints are flexible and if you attach more than a couple of objects together then visible flexing takes place; this is a feature of box2d. So, LFJS now lets other objects become assimilated as fixtures within a parent object.

    All of the small boxes in this example are fixtures to one box in the group that is the parent object.

  • Emscripten + swearing = the plugin can now create a particle group by taking the shape of a sprite's collision polygon. In truth, making the polygon for this demo was almost harder than doing the coding...

  • Thanks Mikal & newt,

    The liquifun.js file (which includes a webassembly element) is 475kb. So far the whole plugin weights at just under 700 kb.