Hi Bballer1337, (replies inline)
Thanks for the earlier response, I've been playing around and got a lot of things to work, and it's great so far. Unfortunately I have run into some concerns.
"f?i?r?s?t?,? ?n?o?t?e? ?t?h?a?t? ?I? ?s?e?n?t? ?a?n? ?e?-?m?a?i?l? ?a?b?o?u?t? ?t?h?i?s? ?t?o? ?s?u?p?p?o?r?t? ?a?l?r?e?a?d?y?,? ?j?u?s?t? ?p?o?s?t?i?n?g? ?a? ?b?i?t? ?i?n? ?a? ?p?u?b?l?i?c? ?m?a?n?n?e?r?.? ?T?h?e? ?p?l?u?s?-?s?i?d?e? ?i?s? ?t?h?i?s? ?c?o?u?l?d? ?h?e?l?p? ?o?t?h?e?r?s? ?o?r? ?I? ?c?o?u?l?d? ?g?e?t? ?o?t?h?e?r? ?p?e?o?p?l?e?'?s? ?f?e?e?d?b?a?c?k?,? ?t?h?e? ?d?o?w?n?-?s?i?d?e? ?i?s? ?t?h?a?t? ?i?t?'?s? ?a? ?p?r?i?v?a?t?e? ?p?r?o?j?e?c?t? ?w?i?t?h? ?c?o?n?f?i?d?e?n?t?i?a?l? ?i?n?f?o? ?a?n?d? ?a?r?t? ?s?o? ?I? ?c?a?n?'?t? ?s?h?a?r?e? ?t?h?e? ?C?A?P?X?.? OK, apparently I can't get help through private channels, so I have to go off messy explanations since I cannot publicly share screenshots or the CAPX or anything."
You certainly can get help through private channels, but some times it takes time for us to be able to help. It would make things go as quickly as possible if you share your project files with Edgar (Spriter's programmer) so we can directly look into all aspects of the data and code related to the problems.
"Anyway, I'm trying to figure out how to set up enemies in my 2D action game. In it, you can attack with one character and hit an enemy. I figured having a family for all enemies with common instance variables and behaviors would be a good idea, so I did that. For the object, I set it to the SCML one. Probably I'll do it so that each enemy has its own scml file, for about 20 different enemy types (including bosses)."
Please take the time to be extra-redundant with your explanations.... this is complicated stuff, and very easy to misunderstand...especially once you start using words like "it" after having mentioned multiple things just previously. In this case, you say, "for the object".. which object? When you say you set "it" to the SCML one.. what do you set, and to which scml one?
"The issue is that the SCML objects have their own collision box and this is used by Construct 2 for:
- general collision detection, of course
- shadows (shadow light object + shadow caster behavior)
- interactions between solid objects"
Are you referring to collision boxes that you can manually add to Spriter animations, or some kind of C2 generated "bounding box?"
"When checking interactions between two objects with the "solid" behavior, C2 uses the collision mask of the object with the behavior. I can adjust this slightly by linking the scml to another object and changing said object, but in the end its collision mask is not going to match every frame of every animation--it's just going to be something static. So... what am I supposed to do if an enemy is say, lying down on the ground or in some other pose where their shape changes dramatically and a single rough & static collision mask won't fit the object?"
It depends enormously on what type of game you're making. I think you'd be amazed at how basic such collision shapes and coding was for all classic action/platformer games. You'd really have to explain in more detail what you're after... can players jump on top of enemies who are lying on the ground? What is your desired effect?
"Shadow issue is basically the same thing from what I can see, just a different application. It's using the SCML object (or in the player character's case, the sprite object that is pinned to the SCML object) and using that to draw shadows."
Again, we'd really need to be visual examples of your desired effect. Is this game overhead, isometric, or side scroller, for example? What's happening with these shadows and how accurate/detailed does their shapes have to be?
"I tried maaaaany different things and did hours of researching or I wouldn't bother rambling about my problem here. There were issues with putting the shadow caster behaviors on many different places (such as the sprites) and I think it's just going to be difficult to handle this when it's not integrated into the Spriter object behavior and I don't fully understand how exactly the Spriter object does what it does."
We really need to know exactly what desired effect you're after before we can explore possible solutions.
"I could do without shadows, but objects not having solid behaviors would just look and function oddly. As for the collisions, it's extremely confusing and I'm not sure what to do but at least I have control over the interactions, unlike the Solid behavior."
I'm not sure what you're after, behaviorally and visually in game, so can't offer useful advice.
"UPDATE: After a ton of thinking, research, and coding, I managed to work around the collision boxes issue by using families, containers, and some crazy code and as of right now I think I've got everything working, though it needs more testing. I still haven't fixed the issue with the solid or shadow caster behaviors though."
Glad you're making some progress, but we can't help without much more detailed info regarding your desired results.
"I also have some issues with Spriter I'd like report... hopefully it's just me being bad, which it usually is.
Sometimes renaming files at the top-left doesn't work, if I try to like, rename something and then rename another thing. I haven't been able to figure out what exactly causes or fixes the issue but it can be somewhat inconvenient when I keep double-clicking and it won't rename. Maybe there is some trick to it I'm missing or maybe it's a bug, I don't know."
WOW! I never knew you could rename sprites in the z-order palette, BUT don't understand any reason to do it,as it does not rename the file itself. I think the very ability to rename it there is a bug and not a feature. I suggest you avoid renaming images in the z-order palette. However in the Hierarchy palette I can see how renaming bones is useful.
" Meta data: when I adjust basically anything in the timeline, the existing meta data I have (just tags for now, but I want to try out variables in C2 as well, since I haven't found anything on how they work) just disappears. The key frames for them or whatever disappear and I have to re-add them, which is... well, obviously not cool."
Could you possible make a screen recording of this happening. it might be user error and might be a bug, and either way, footage of it happening will help us resolve it.
"I feel like I'm doing something wrong in adjusting the tags, but I can't figure out what. :
As always, thanks for any help."
We'll certainly do our best to help you resolve all these issues. Again, privately sending us your project is the fastest way to get concrete help.
"Update 2: Meta tags just... aren't working for me. Aside from being glitchy in Spriter, after several hours and various code tests I cannot get the different tags to function correctly in C2 either. I checked the JSON file and it seems like it's right (though I couldn't tell you confidently without a little more info about the format) but I'm just having no luck."
I've had both features work for me perfectly in Spriter and in C2, so we really need to see exactly what you're doing and whats happening to figure out the problem. It certainly could be a bug or bugs we just managed to accidentally avoid through different work flow etc. Hopefully we can find out together and quickly resolve it.
-Mike at BrashMonkey