Jase00's Forum Posts

  • Wow these look extremely powerful! With the JSON as a behaviour, can you add as many JSON behaviours to 1 object and they all act as separate JSON "files" so to speak?

    I've been burnt from past addons being abandoned where I've had to redo huge amounts of events, so I'll give it a think before buying. But yes, you've certainly tempted me with both addons, I can see myself modifying all my through all my events to use JSON+ instead of original JSON just to lessen the picking I do.

  • So potentially there will be no steam or Epic for Construct 3 in the future?

    Yeah web tech is truly awesome :D

    I don't think that's what's been said.

    Ashley's reply says "It would be more feasible to develop our own Steam/Epic integration for the WebView2 export option" and such, and the consideration of them creating their own Greenworks fork. Seems their goal is to support Steam PLUS more store options.

  • WebView2 with Linux/MacOS support in future sounds very promising!

    But until then, to lose Linux support would be a big deal, as mentioned with Steam Deck and such.

    EDIT: I just reread what Ashley wrote and realised its likely pointless to spend time implementing other export just to eventually move yet again.

    Would Electron be a worthy temporary solution until WebView2 is supported on all desktop OS's? Though I guess this would just move us to a bunch of different potential issues, or maybe even the same exact issues as NWJS. Or maybe another alternative altogether, just to tide us by if NWJS is not seeming to resolve major issues?

  • I've had this before, disabling worker mode also helped for me but the main issue was "composting mode" which I had as Low latency, but needs to be set to normal, then I could use worker mode fine and no more black screen. This only happened recently suddenly.

  • You do not have permission to view this post

  • Very peculiar. What browser do you use, and what extensions? What's your computers RAM and GPU?

    I use Chrome, with no extensions, and I can use C3 for hours and hours and I've never encountered similar issues, but I do have 16GB RAM and a rtx 2060 so definitely fine in terms of RAM or VRAM.

  • EDIT: wait sorry, I may have misunderstood your original issue. I tend to use "wait 0" often and tends to behave correctly. I never risk a newly created object without using "wait 0", but perhaps there are specific times where this is OK. When is the 2nd function without a UID parameter called? If there's multiple of that one object, and no UID is specified, perhaps C3 is picking whatever first instance of that object that exists, then picking it's children and such.

    EDIT 2: oh wait, I just understood the colour-coded purple shows the 2nd function being called. From what I understand, if the 2nd function doesn't have "copy picked" or a UID to pass, then the 2nd function effectively "doesn't know" which instance to pick, so I guess unexpected behaviour happens. I'd always pass a UID just to be crystal clear for C3 to know which instance to pick (or copy picked if that works after a "wait 0").

    I always use "wait 0" on a "on created" event. Like every object that gets created, I have an "initialise" function or custom action for that object, but it seems that "wait 0" is always needed before calling the function.

    I think it's related to the whole "objects don't necessarily exist until the bottom of the event sheet/next tick" or something similar to this, so a "wait 0" solves this.

    Doesn't seem to cause issues as far as I am aware, even if multiple objects are created on the same tick and such. But yeah, hmm.

  • Not that I can add any input on issues that could come from this, but I have used emojis on object names before. I was doing some specific manual "convertion" process where I had to change every event/action by hand, like converting a sprite to 9patch. Having a big red dot emoji was helpful to visually see where the sprite was used in expressions and such. Very handy indeed!

  • Perhaps there exists a driver for the Bluetooth part? I managed to install 3rd party drivers to get Bluetooth Wii remote working on Windows and worked perfect in Construct 3.

    Hopefully there is a solution, but might be the case there's nothing that can be done :(

  • Yeahh, it's such a major thing to allow moderately more complex collision situations. I used to use Chipmunk Physics back in C2, which worked almost perfectly, definitely allowed me to achieve the collision results I needed. But no such plugin exists for C3 as of now. I'd take a wobbly unstable 3rd party plugin if it meant I had control over collisions.

  • This seems like good practice, trying to lower the amount of stuff to process per tick.

    I do something similar, but haven't utilised group enabling/disabling - I usually use a top level event with an individual boolean like "IsActive", so then all objects do 1 check, and if some are active and some are not, this works well. Beyond this, there might be a sub event for a "IsLightweight", so that very minor things to check are checked, but if that is also false, then this means it's probably an important object that there aren't many of, so it'll check for some more heavier events for these objects.

    This is comparable to what you do with "is bullet behvahour enabled", but you could put some more stuff below here, such as "bullet is overlapping enemy", as you know you'll only care about detecting collisions if that bullet is active. HOWEVER, some events or conditions, such as collisions, really benefit from being a "top level" condition, because it let's it use collision cells, whereas having "is bullet enabled" first, would prevent collision cells from working, thus making performance worse. Best to just test this, make lots of bullets exist and compare CPU performance with different ordered events/conditions, you might be surprised by the results.

    Then ofcourse having groups helps when you use the debugger and can easily identify which groups need more attention to optimise.

    So overall, yeah, good job!

  • Perhaps when you switch the connection, Windows thinks it's a new controller and assigns it to player 2?

    You could make a test project with a text object, and append some text whenever a gamepad button from any controller is pressed. Then you can see if switching the controllers connection also changes the gamepad ID.

  • I also would use this! I think I recently suggested having the project sampling being changeable during runtime, but iirc it was complicated.

    Someone suggested using the pixellate effect, and this has been quite useful, albeit not perfect - Use the pixellate effect on objects, set the effect value to 1, and the result will turn out pretty much like point sampling. The downside is that the object needs to be perfectly square in width and height for the effect to apply.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ayy,

    I was curious about 2 suggestions, and if they were more of an "expose some settings" type of request. I do respect that there's hundreds of suggestions and many areas in C3 for Scirra devs to focus on. I guess I get hopeful if I can determine if something is legitimately small to implement with a worthwhile outcome - not that I'm undermining the complexity that the devs have to deal with!

    Physics Collision Filtering

    Having finer control with Physics collision filtering - is this a situation where Construct could expose the collision filter parts in the behaviour and ACEs, then Box2d will make the magic happen? I get this impression due to how physics exists in a different realm, unaffected by the Solid behaviour and such. I could be very wrong and not understanding how C3 and physics co-exist, maybe collision cells or something else becomes the problem.

    Lack of collision filtering has hit me multiple times, whether it's doing an elaborate layer system where physics could overlap another layer's physics objects and unexpectedly collide through layers, or unique rules for many instances of an object (e.g in a platformer, disabling collision to a jumpthru when an physics object travels up, but also have another instance of the physics object resting on that jump thru.) I explored many many workarounds, such as multiple physics objects on top of each other and switching which is active, trying multiple physics behaviours within 1 object to separate collisions (but this doesn't work, setting collision filtering on one behaviour affects the other if you have multiple physics behaviours on 1 object) but other than maybe creating a parallel world elsewhere where physics can be calculated (which sounds like a nightmare, and would probably will have it's own issues) then it's impossible to implement certain things with physics. Even doing a loop-de-loop for a car with a body and two physics wheels is tricky, with the wheels sometimes needing separate collision rules, or completely breaking if there's a 2nd car that's also going through a loop-de-loop. Also no third party plugin exists as a workaround.

    Load image from URL

    I noticed that 9-Patch and SpriteFont do not have "Load image from URL", whereas Sprite and TiledBG do have this. Would adding Load from URL be sort of the same kind of implementation as Sprite/TiledBG, but also needing to expose editing the margins and such in events (which may be the part that turns it into an unexpectedly problematic task).

    Whilst niche, I like the idea of HUDs and ingame text to be moddable, and have been exposing all parts of my game to be moddable thanks to the new FileSystem plugin, but got stuck when it came to spritefonts and 9patch.

    When you think about it, beyond 9-Patch and SpriteFont, audio is already moddable, so then pretty much anything data/media-related is moddable for C3 projects, which is awesome!

    Thank you for your time.

  • Someone is selling a third party addon to do this:

    construct.net/en/game-assets/addons/web-midi-3318