WackyToaster's Forum Posts

  • You have to define the variable on the family. Individual instance still can have different values. I'd recommend this approach

    - Make family, add variable health

    - Put your instances in a "picker layout" and set them up as templates (this helps to avoid accidentally changing an enemies health value but forgetting to change it for all instances of that enemy) construct.net/en/make-games/manuals/construct-3/project-primitives/objects/templates

    - You can now place or spawn replicas everywhere you need them and they'll have the health value you specified in the template

    - Finally, I recommend using custom actions to handle the logic of damaging enemies. construct.net/en/make-games/manuals/construct-3/project-primitives/events/custom-actions

  • I think aseprite files have quite some data that simply gets lost on export, but would be quite useful if retained (frame speed and timings, animation names, loop/pingpong settings) not to mention how awesome it would be if I could just import the aseprite files directly instead of exporting/importing.

    The specs would be here

    github.com/aseprite/aseprite/blob/main/docs/ase-file-specs.md

    The thing is... I kinda doubt that it will be implemented officially, simply because then everyone wants their program of choice to be directly importable (.psd files, .csp files,...) so I wonder if it's possible to somehow make it happen from a user side? I don't think the addon SDK can help here, so I'm at a loss. I'd also have no idea where to start with the documentation, that's beyond my skills.

    One alternate solution would be instead to create an aseprite export script that then exports based on these specifications construct.net/en/forum/construct-3/general-discussion-7/animations-editor-new-161331 along with a json file for the data. Issue is I have no idea about LUA or aseprite scripting so... yeah. Also it would not be as convenient as a direct import.

    In general I feel like the whole exporting/importing procedere throws quite some grit into the workflow... am I alone with this? Maybe I'll write up a suggestion for some stuff at some point, but since I'm mostly doing pixelart nowadays, this importer would be really helpful already.

    Tagged:

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Yes I should emphasize it is extremely unlikely that it hangs, like 1000 lottery wins in a row unlikely. But if the object gets created in the wrong spot a trillion times in a row, the game will hang. Limiting the number of attempts can in turn lead to an object not spawning if after 1000 attempts it never got the right spot (which you could add a failsafe for if it runs out, just spawn on a predefined spot)

    It's just that my brain complains that this seems like such an "incorrect" way to do it.

  • There is another method if your object is different from a square.

    You can spawn an object like this and check if it overlaps the spawn field, if so, leave it, if not, delete it and try to spawn it again. It is convenient to do it through a function. For example, you can create pimples on the face where the form of of collision is complicated.

    I've also done that before. Funny enough though, it's theoretically speaking a terrible solution, because it can happen that the object just never spawns in a good spot and your program hangs. Practically though it's just never going to happen... but it can happen. I always assumed there must be a solution for this "spawn on object" that doesn't involve this kind of trial and error approach, but I also never bothered to really look into it.

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Events don't run if a picking condition returns 0 instances.

    Oh yeah, true. pickedCount won't work then. I think I also used that method before, it seems relatively logical but looks just a bit odd. Attempt to pick an object based on a condition and if it fails -> else

  • Object.pickedCount <= 0?

  • No. Dictionaries only save text/numbers. You will have to do a string substituion here. An extra expression was added just recently to easily do this! It's in the recent beta release.

    Value stored in Dictionary: "Press {0} to jump"

    StringSub(Dictionary.Get("tutorialJump"), "J")

    Result: "Press J to jump"

    You can replace J with whatever expression you like. You can also add as many substitutions as you need like

    "Press {0}, {1}, {2}, {3} to move"

    StringSub(Dictionary.Get("tutorialMove"), "W", "S", "A", "D")

    Result: "Press W, S, A, D to move"

  • lerp(current, target, 1-factor^dt)

  • are Construct3 exported games HTML5 packaged as apps?

    Yes

    isn´t there issues with speed performance?

    No, but you do have to be careful with certain things like overusing effects or too many loops over too many objects. But that's not an issue unique to construct.

  • I get this popup on mac whenever the game is opened, doesn't matter if I accept or deny. The game does not use any network features and works fine with or without accepting, but it's a bit annoying. Does anyone know a way to get rid of this?

    I mostly found topics made by endusers asking how to get rid of this like discussions.apple.com/thread/7418556 but mostly the solutions boil down to changing firewall settings and/or running some sudo commands in terminal which isn't exactly actionable for me.

    I also found this which appears to went unresolved

    github.com/nwjs/nw.js/issues/6596

    Generally a lot of the stuff appears to be from 5+ years ago and seems outdated. I build with NW.js v0.82.0.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You do not have permission to view this post