Jase00's Forum Posts

  • 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.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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.

  • 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

  • Imagine this scenario:

    > IF PlayerObject is carrying a torch

    > OR if FireflyObject is lit

    > THEN change PlayerObject's animation to EyesSquinting

    In the above condition, PlayerObject would be un-selected if the FireflyObject fires true, and as a result you wouldn't be able to change PlayerObject's animation.

    Ohh interesting, it picks 0 players due to failing the first condition, therefore doesn't change the animation?

    I would have guessed: after failing the first condition and 2nd condition succeeds, the SOL would have been reset when evaluating the 2nd condition, therefore changing all existing player's animation.

  • I am not sure if this'll work, but perhaps having an invisible square sensor above the player, and if in air and if this sensor overlaps a solid, do a loop to push the player downwards by 1 pixel (and the loop will keep checking "is overlapping solid? Push down 1 pixel" until the sensor is no longer overlapping a solid).

    The only thing I'm not sure about is if the platformer behaviour will react first, THEN the sensor. If this is the case, then this may not work or may not work 100% of the time.

    Personally, I'd recommend attempting to make your platformer entirely in events, as this gives you more control (at the cost of efficiency, but if designed right, it isn't much of a loss).

  • OK I am being cheeky, but I'm caught up in the fact that many new plugins are being added lately! I will add a suggestion, but I guess the excitement got to me and wanted to spark the idea/discussion.

    Would a ZIP plugin be on the cards for Scirra to produce?

    I suppose the concerns I can think of is if people tried loading a huge 100GB zip file, or extracting 100's of GBs. Perhaps filesize could be limited or checkable, and well, we can already write via NWJS without any limitation.

    There's 2 uses for ZIP that come to mind: creating a mod pack, and installing mods.

    E.G. I have a image generator in my project to allow custom images to be produced, which creates about 30 images, and are separated into a couple of folders. I currently use NWJS plugin to create folders and write the images to the local computer. I also have a custom level maker that creates a JSON file with all level data, along with extra files that the player might have added along with their custom level.

    Having ZIP functionality would allow a handful of files to be zipped up without requiring NWJS (as you could create files and folders in the ZIP and then invoke download of the ZIP), and would also allow people to use "file chooser" to load in a ZIP file, and then we could get a specific file from the zip to read, or unzip all contents to a directory (if on NWJS), allowing you to have mod support fully built in to your game, no expectation of users needing to find the correct path to extract the zip manually.

    Beyond this, a Construct user that has the technical knowledge could possibly change ".zip" into something else like ".mymod" and then possibly create support (at least in windows) to have file associations with this filetype, which could then allow us to create a system where the user downloads a file, double clicks it, and then your game will launch or detect this with parameters and such, and begin unzipping. That'd be so awesome!

    A third party plugin exists and I did start adding this into my project, but abaonded it due to 2 issues, which was the fact it froze your game if worker mode was enabled, and, it locked up the whole game whilst performing zip actions (I wonder if ZIP actions could run asynchronously, or even limit the speed of unzipping to not cause CPU to peak to 99%).

    Thank you for your time!!

  • Ooo I dig this idea, sounds hopefully not too complex of an idea too, a new entry in the right-click menu for an action to "Create another action with this object", which would save searching around folders or needing to type in the find box, particularly on large projects. Would be nice to have.

  • Yep, so if you use the NWJS plugin in your project, you should have an action called "open file" and you can write a direct path to your file on your computer, be it EXE or ZIP or whatever you'd like to open.

  • My AI sense is tingling

  • I think I saw an addon in the store for this.

    I definitely think there's new potential to explore with this within game dev, but the addon mentioned about "paying for tokens per request" or something, so I guess if a game was successful and everyone was hammering ChatGPT, then it would cost you big bucks.

  • You do not have permission to view this post