WackyToaster's Recent Forum Activity

  • Oh I know, that's what I mentioned as the alternate solution ;)

    There's still some issues I see even if I had such an exporter, but it would absolutely be a step in the right direction. At least I think I see issues, I have barely tried the bulk importer.

    I'm also not currently in the mood at all for tool dev, and as mentioned I don't know LUA (which aseprite uses) so that would involve a ton of reading, trial and error. I dunno about relatively easy...

  • 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

    I think the product has a bit of an identity problem, being that it is heavily marketed toward absolute beginners - who are probably also the audience least likely to commit to a subscription model.

    I do somewhat agree on this. When I was a wee lad I was toying around with all kinds of engines and such. My first "game" was made with powerpoint lmao. I then also tinkered around with various pirated versions of rpg maker (XP my beloved, 2000 was also neat tho) and game maker. Why pirated? Well, free was always too limiting for me (and my brother gave them to me). Why not buy? Because I had no credit card, and even tho I'm pretty sure my parents would have bought me these tools if I just asked... my child brain didn't conceive of it as a possibility for some reason. But back then we were talking about one-off payments, a subscription seems like a big hurdle for lil Toasty waddling to his parents asking for money to buy something online (I also got scammed once when I was like 8-9yo so that didn't help my case haha).

    Maybe that was just a me problem, maybe kids/parents nowadays don't think twice about that. Or maybe there's just an untapped market of children that want to tinker around with gamedev but are scared off of Construct due to the subscription, while at the same time it might be the perfect entry-level engine for them. Afterall it is marketed towards beginners, and beginners are quite often children. Maybe even younger than I was back then, since internet wasn't even remotely as accessible as it is today. God I'm old.

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

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
WackyToaster's avatar

WackyToaster

Online Now

Member since 18 Feb, 2014
Last online 26 Nov, 2024

Twitter
WackyToaster has 25 followers

Connect with WackyToaster

Blogs