WackyToaster's Forum Posts

  • Here's an updated version that also handles the side of the slopes correctly (with a little hacking) and the 4 cardinal directions. Not certain how one could handle slopes of any rotation exactly. Too much math for my brain, but probably possible somehow.

    wackytoaster.at/parachute/3DPlatformerSlopesV2.c3p

    I think the only real issue left is the fact that you can't put a slope on a 3D platform, but that's just because it's handled a bit janky right now as it can process either the platform or the slope, and simply prioritizes the platform and ignores the slope (because of the else)

    dazedangelsSure, feel free to put it up. I guess you can link to my website.

  • It's the scene graph/hierarchy feature, for which I conveniently fail to find anything about in the documentation. You can just type "scene graph" in the example browser tho. Short story: Pick two objects, right-click the parent, Hierarchy > add selection to this instance.

  • Reject heightmap, embrace pythagoras. :)

  • Meh, depends on the exact usecase. Tweens work perfectly fine and in the end also run on the same math essentially. It can be useful to understand the math behind, but not required.

  • Check out the Tweening addon & value tweens.

    construct.net/en/make-games/manuals/construct-3/behavior-reference/tween

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You're in luck, I just recently tinkered around with this.

    wackytoaster.at/parachute/3dPlatformerSlopes.c3p

    The code currently only works for one direction, but should be able to be adapted to work for all directions.

    It boils down to setting the players Z value to

    clamp(abs(slopes.BBoxLeft - player.BBoxRight), 0, slopes.Width) * slopes.ZHeight/slopes.Width

    while overlapping, and you'll need to block off access from the sides of the wedge.

    It's just that this only works for a wedge going up towards the right. For the left you need to switch the bboxleft/right and for up and down bboxtop/bottom. Not sure about wedges with other rotations but you probably have to use some distance expression for that.

  • I'm pretty sure I've seen several bugs that happen when scaling something to exactly 0. My only guess is it's possibly a floating point error and the sprite actually ends up scaling to -0.00000000017 or something, flipping/mirroring it.

  • I just noticed that there are no options/expressions for getting effect parameters. Is there a reason for that? In general I feel like effects are handled so... detached from everything else. The way you access the parameters and everything. One can work around this limitation with javascript, though it's kinda inconvenient. (The process is similar for layers/layout effects)

    let sprite = runtime.objects.Sprite.getFirstInstance();
    
    let effect = getEffect(sprite.effects, "AdjustHSL");
    
    console.warn(effect[0].getParameter(2));
    
    function getEffect(object, name) {
     return object.filter(
     function(object){ return object.name == name }
     );
    }

    And yes, I could shuffle around with variables but it just seems even more inconvenient than with javascript. I think this should just simply be possible with events.

  • 1. According to this developers.google.com/identity/sign-in/web it seems to just need a few lines of code. Considering in C3 we have access to HTML/Iframes/Javascript I think it should be possible, but I haven't tried this way. I have made a login with firebase though. (See point 3)

    2. I'm not aware that anything major changed in that regard with C3. You still have stuff like the Anchor behavior that are supposed to be used for that. The new HTML plugin might be of great use I think, for displaying certain stuff like lists responsive.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/html-element

    3. I see two options: Offer a backup button that downloads the safe file to the device outside of local storage. Or have a database online that (also) stores the saves in case the device explodes (or something like that) You could look into google firebase for that which I think would mesh well with the google login. Or you can run your own server (either way will cost money)

    4. Short answer, yes: construct.net/en/make-games/manuals/construct-3/plugin-reference/mobile-iap But read through carefully since there's some caveats to this.

    5. If it supports javascript, I'd say most likely yes. I haven't tried though.

  • C3 works offline for about a week. I recommend trying it out by disabling your internet connection beforehand just to make sure everything is in order and working as expected.

    construct.net/en/make-games/faq

  • I've filed 96 issues so far. It really isn't a big deal to do usually, takes like 2 minutes. And it improves Construct for everyone.

  • Lmao yeah, understandable. But "Fart" is an acronym of "Find And Replace Text" so... I've gotten quite some use out of this little tool. :D

  • jobel

    wackytoaster.at/parachute/steamworksPrepare.zip

    All you have to do is drag&drop your exported zip on this .bat and it will automatically:

    1. unzip everything

    2. run icon updater (you'll have to press "ok", couldn't find a workaround)

    3. copy steam_api.dll and sdkencryptedappticket.dll into the package.nw

    4. add steam_appid.txt

    5. add --in-process-gpu

    6. package everything neatly up for upload to steam

    You may not need fart.exe if you add the args when you export it in construct.

    Feel free to adapt/bugfix it but pls also share it back! No warranties ¯\_(ツ)_/¯

  • The way I did it is to fade to a loading screen (global layer) on layout A, go to layout B, then fade the loading screen out again. It's not technically needed but the instant transition felt kinda jarring.

  • Put the bezel on its own layer and set the layer scale rate to 0. (In the layer properties)