haypers's Forum Posts

  • Chadori

    Today I purchased your $30 monetization collection https://chadori.itch.io/monetization-collection. I purchased the entire bundle just for the MobileAdvertFamiliesPrograms plugin to obtain compliance on my google play game.

    I am unable to get construct 3 to compile any APK. I am using the latest stable release. I get the following error:

    I sent you a few emails earlier this week and last to see if you would sell the plugin separately, but I was unable to contact you. Now that I have purchased the package and need your help, I thought I would see if I can reach you here.

    Thanks for your time.

  • Sorry to beat a dead horse, but for those of you who are interested in how this project turned out, you can see the UI switch element I created in this project here:

    construct.net/en/free-online-games/pinwall-25658/play

    The drag-up menu tab contains the switches.

    The google play version will be live soon, but I've already found like 6 bugs I need to fix. Mostly in story mode.

  • oosyrag

    YOU'RE EPIC.

  • I'm on android 13. I was just in the Wi-Fi settings. But it's not a behavior exclusive to android, I've seen that behavior in most UI. In my experience the tap exclusive setup is the exception outside of the web. Maybe I'm weird and like to slide more haha.

    Ok, thanks for looking into it. It's obviously not an integral part of my game, but I'll have to play with all that and see what I decide. It could be a good chance to get better at html UI.

    I feel like the switch is more intuitive for communicating ’turn this on or off' , whereas the checkbox is more like 'these are the elements you are interacting with'. Ya know?

    Construct 3 is pretty dang robust. I'm thoroughly impressed with it. I see construct 3 potentially becoming more than just game and anomation software. It's really close to being an interactive web design tool. Obviously a different route, but I've considered just building my webpages with it at times haha.

    I'm not practiced enough in web languages to comment more lol.

    I might just use a regular checkbox or spend some time making one by hand out of a sprite. Thanks for all your research!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks! I'll check it out. Looks passing grade to me!

    Oh, that's interesting. On my android I can slide and tap them. It's super satisfying.

    Tapping works great though. I'll think about how I want to do it and read the article.

  • I guess that's that then. Thanks!

  • Construct 3 has the button object that can be used to make html buttons and checkboxes.

    These are great, but I want some robust switches for my game. Like the ones you see in most phone settings UIs.

    It's basically a checkbox, but better. I've found that coding them by hand is surprisingly difficult when you want to support both tapping, and sliding. I'm pretty sure most browsers have a default object for this, and it would be cool if it was another option in the button object.

    Is there a way to style a button into one of these?

    I've programed my own, but they aren't as slick as native ones.

  • From my perspective, it has never been a problem.

    I've programed some pretty complex logic into construct 3 and I never had to think too hard about the OR block setting.

    I am a novice programmer, and I do remember thinking it was weird how it was set up, but after a while dismissed the thought, as all software has a quirk or two.

    I do use the Or feature sometimes as well.

    This being said, I'd like to propose a 3rd train of thought.

    Logical gates are required between EVERY condition in real programing languages.

    This would likely never be implemented in construct 3, but if you really wanted to make it the same as traditional languages, the 'OR' and 'AND' blocks would look more like extra condition blocks themselves, with the ability to place one between every condition.

    [ + If sprite.y > 40 Or + If sprite.x > 80 ]

    And

    [ + If sprite.y < 1200 Or If sprite.x < 400 ]

    Note that for this to work, you would need to include a way to add parentheses to explain order of operations.

    This is how real logical gates work. It's just not how construct is designed.

    For me, it quickly became intuitive to know how to turn this logic or any other set of complex logic into a series of events with sub events.

    For true 'Or' it's easiest to just make a separate block all together and add any other picking you need to it.

    At the end of the day, construct treats the entire event sheet like one huge true or block, resetting picking between each parent event block.

    There is not a huge need to bake this behavior into a new feature.

    But renaming to ANY sounds like a simple and productive change to me.

  • oosyrag! I just was reading this again today, and your comment,

    Teleporting the physics simulation ball to a separate location is a nifty idea! That seems like it would work well, as long as the physics simulation doesn't get thrown off with a sudden change in position from manually moving the object.

    Struck me, because that is a problem I have already solved, in another situation. I figured others may want the information too.

    Basically, like the manual warns you about, if you set the position manually, you could find the physics behavior doing some strange magic.

    In my case, I found that moving the ball made the physics engines want to give it extra momentum, almost as if the movement was an impulse.

    In my pinball game, I actually manually set the position of the ball a lot. And it took a zillion different tests to find a solution to that problem. But it's painfuly simple.

    If you just disable the physics behavior, move the object, and re-enable the behavior in sequence, the physics continue just fine as if nothing happened. Just strait up turn it off and back on lol. In the same event block, or at least by the end of the tick.

    I'm sure it probably adds a bit to the cpu, but I never saw measurable performance problems. And I do it several times every tick at some points.

    If anyone else needs to know, there you go. And if there are better solutions, feel free to share.

    But boy, that one stumped me for a long time. But it allowed me to add a few tweaks to how physics works in my game, as you can add events to customize physics behavior while it's disabled, and as long as you enable it before the behavior needs to run again, you're good.

  • Ya, totally.

    I have been chatting with some peeps here:

    https://www.construct.net/en/forum/construct-3/how-do-i-8/simplest-collision-filtering-177599#forumPost1093197

    And plan to return there when I get to experiment with this more. But if you find a good solution or pluggin, please come let us know. Thanks!

  • I hit the collision filtering issue earlier this week.

    I too would appreciate that feature.

    I think I might be able to do a bit more by combining families and the 'diable physics with another object' event. I haven't been able to experiment yet.

    C3 has the regular hitbox collision filtering, and Box2D definitely can handle physics filtering as well. I assume that internally, the 'disable physics with another object' event uses box2D's collision filtering under the hood. I don't think it's impossible to add an event that sets collision filtering while still being able to have backwards compatibility with the existing event type, where each time it's called, it just pushes the new rule onto the existing ruleset.

  • I've been thinking, and I'm wondering if I can make this process easier with families.

    In theory (I don't have an account to try this out right now. I'll renew one when I get back from this trip in August and have time to work on my project.) I should be able to make a family of sprites used for the top level of the game (ramps and stuff) and a family for the main bottom level, and then use the physics disable collision function to separate the two groups into different collision sets.

    On start of layout }

    Family-top disabled physics with family-bottom.

    Then I would simply need to switch which set the individual balls can interact with using the same function.

    I think that event applys the physics enabled disabled feature across all objects of that type, so I would need to make 3 different ball sprite types so they could be swapped independently when all 3 are on screen.

    If I wanted any objects used on the main floor to also be used on the top floor, I would need to make a duplicate item for them as well, if thats the case. But I can manage that.

    From my understanding, there is not a way to add or remove objects from families during game via events sheets, right?

  • Great ideas, oosyrag and R0J0hound. I think I have some ideas to try now. There is a feature request for collision filtering already out there, I can't find the link right now but I saw it during my search.

    It had about 10 backers if I remember.

    Thanks for everything! If anyone else has any other ideas throw them in here. But those are satisfying enough answers for me. It's nice to know for sure that exposing the filter through JS isn't super feasible. That was my big question.

  • I know R0J0hound worked a lot with alternate physics engines. Do you know a way to expose collision filtering into the physics behavior, or what would you recommend?

  • GeoffB Thanks! Good idea. I considered that too. It's nice to know that it works.

    If your project is one that you are comfortable sharing or sharing parts of, I'd love to see how you did it.

    Either way, I think I'd like to add more 'second floor' features over time, so it would still be nice to have collision filtering. Does anyone else have any other ideas?