Jase00's Forum Posts

  • 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

  • Try Construct 3

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

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

  • In an alternate universe, I'd take the option of being able to port a game to console, but have a "incompatible plugin" list that prevents you from exporting (iFrames, text input, etc.). People can design their games with this in mind (e.g. Instead of textinput, you will need to create an event-based onscreen keyboard and append to a string to type or something) or just flat out don't support it like iFrames.

    This isn't clean and would not be good for people that didn't realise this from the beginning, but to even humour the idea of getting a project running on a Nintendo Switch without having to complete the game and have bunch of money to get a porting service to do this, is very alluring.

  • You do not have permission to view this post

  • I find I use dictionaries a lot. Bad because yeah, not very convenient when you can't see lists of keys when typing expressions, and bad because you can't change the icon of a dictionary so they all look the same, but good because you can reference dynamic names of keys when typing in the dictionary.get() expression.

  • Yeah to be fair it caught me off guard too. The other unusual thing I noticed is, my PayPal receipt says it sent £15 more than what C3 costs on Construct's website (Inc VAT). If I had unsubscribed, then made a fresh sub, would I have saved £15? Maybe I'm missing something or there's a charge at the final step of payment or something, but yeah I'll email support, but check this yourself just in case!

  • I think all USB gamepads work, so long as they're detected as a game pad. XBox controllers are the "default" controller and tend to work correctly right away. If you connect a controller and find the buttons are all mixed up, then you could program a "Choose your input" menu system, where the player can click on, for example, jump, and then press a button on their controller to assign jumping to a button.

    I've tested PS4, third-party switch controller, third-party dance mat, and all work fine in Construct.

    The only example of something NOT working, would be a non-gamepad item, like a MIDI piano keyboard, as these are detected as MIDI devices rather than USB game pads.