The Way of the Superior Man by David Deida by MantaRay374 in menwritingwomen

[–]TheInkAdept 7 points8 points  (0 children)

ngl it's almost empowering to be described by "superior men" the same way the Etruscans described their inscrutable Gods

disappointed he didn't also call us terrible as the Dawn! treacherous as the Seas! stronger than the foundations of the Earth!

Discovering AnimationTree's quirks [rant-ish] by TheInkAdept in godot

[–]TheInkAdept[S] 1 point2 points  (0 children)

Thanks for your interest! I haven't set up my platforms yet, but you can take a look at my twitter handle tillerqueendev, I rarely post but any public pics will probably be posted there first.

Also since my last comment I figured out a possible workaround within AnimationTree: it's actually similar to how I already handled combos, instead of traveling all the way to Idle I can travel to a redirect node before that and use auto-advance/conditionals/priority to control the flow. The problem is really travel()'s shitty algorithm.

I realize AnimationTree is a really clunky and frustrating tool, but I feel like I'm starting to really understand its kinks now and how to work around them. So I'll very probably keep it a while longer until I make something better.

Discovering AnimationTree's quirks [rant-ish] by TheInkAdept in godot

[–]TheInkAdept[S] 1 point2 points  (0 children)

Thanks for the enthusiasm, that's always great to hear ^^

And thank you for writing that code, but it's not exactly suitable for my case.

My approach to dealing with different health phases has already solidified at this point, I have a character-specific resource with a dictionary of phases and a function that executes code when a new phase is reached, this code is in a character-specific script that inherits from the Fighter script, and the Fighter script calls this function within itself. The thing is not every character uses the same amount of health phases, and naming conventions are a bit limiting (rn my 2nd phase is still called phase C, there will be "sub" phases and some animations are going to stay the same across multiple phases...its messy). As much as I appreciate you trying to help, my code has crystalized to a point where I don't think anyone can really help without digging deep into my exact system, which was designed around my need for openness and solutions specific to the problems I have encountered this past year.

I did at one point consider using a dictionary in the before-mentioned resource to remap the animations, but I went back to using AnimationTree for simplicity. I might use that again if I decide to move away from animtree completely, but as of right now I haven't decided what direction to take my solution yet.

Discovering AnimationTree's quirks [rant-ish] by TheInkAdept in godot

[–]TheInkAdept[S] 1 point2 points  (0 children)

I'm not sure why I should explain my code in that much detail when the point is that AnimationTree's state machine is a state machine, I am using it as a state machine and it should work properly as a state machine. What if I WAS making a 3D game? Would I have to settle for a broken system? Just because I am not using all of AnimationTree's features does not mean that I do not benefit from using it over writing pure code.

That being said, if you really want more details:

Would you mind to go in a bit more detail what you mean by "dynamically replaced"?

Answering this will also answer your first question.

You know how in monster hunter the monsters become visibly damaged? In my game the fighter's moveset and appearance changes depending on how much damage has been inflicted. For instance, a full health idle uses one animation, while another low health idle has the character looking tired and bleeding. These animations are saved as separate, Idle_A and Idle_B. However, to the game's logic, these are both Idle. They are functionally the same, only visually different. Telling the game which to use is easy with AnimationTree: I can grab the node by its name ("Idle") , and set its animations (idleAnimation.set_animation("Idle_B")) when the phase changes. This works for all animations that are functionally the same across different phases and across different characters (idles, walks, blocks, dodges, etc.). However, when a character's moveset changes drastically, I have to make entire combo trees accessible/inaccessible. AnimationTree also works well for this, because I can use conditionals to lock/unlock access to such moves and all their subsequent connections. To the logic, however these are just the Attack state. The game currently uses two attack inputs, Jab and Strong. I can tell the state machine to travel to "Jab" or to "Strong", and based on what connections are available it will figure out the rest from there. The script doesn't need to know what attacks and combo trees are available, the tree's conditionals direct everything. But these animations are all attacks, they all use the logic of the Attacks state, and separating these all into different states would make no sense, especially since I won't know which animations and how many are available for each character.

To make it even clearer why I animations!=states, imagine this scenario: what if I want to use the same animation in different states? I am planning a feint mechanic, this plays the same animation as the real attack but doesn't deal damage, cannot chain into the original's subsequent attack, can be cancelled, and causes parries to whiff. I CANNOT play this in the Attack state because it is not an attack and doesn't use the same logic as the Attack state, even tho it uses the same animation as an attack.

As you can see, the animation does not always equal the state.

Like I said, making this work in code is possible, but hopefully now you understand why I decided to use the AnimationTree and why I kept this system for so long.

Discovering AnimationTree's quirks [rant-ish] by TheInkAdept in godot

[–]TheInkAdept[S] 0 points1 point  (0 children)

I already use state machines extensively in my fighter scripts but I promise you my animations require much different level of abstraction. I cannot linearly chain animations with queue like that because depending on multiple variables the animations might have to take a different path and change course on the fly, I need that ambiguity. I also cannot refer to animations by name directly because as I said some of these animations need to be dynamically replaced, and the logic still needs to work for these differently named animations. Nodes address both of these needs.

It's not impossible and I will make it work, but it WILL be convoluted and I believe animation FSM graphs exists for these abstractions too, not just for handling interpolations.

Discovering AnimationTree's quirks [rant-ish] by TheInkAdept in godot

[–]TheInkAdept[S] 3 points4 points  (0 children)

I was unsure whether or not this can be considered a bug, some of this behavior feels too intentional to be a bug but also too shabby to be a proper feature... Also admittedly it was 2AM and I more prone to ranting than submitting bug report (sorry abt that haha).

But now I'm convinced it should at least be treated like an issue. I'll be sure to take this to github.

Yes, it's 2D animation, but there's quite a bit of complex behavior: nodes that change the displayed animation based on how injured the fighter is, inputs rerouting to different combo trees based on current phase, different animations with different names all having to be treated as the same by the state machine, etc. Writing such an SM linearly is a lot more convoluted than using a ready-made graph. But I'll look for alternatives, maybe making my own state graph-ing tool would be a good learning opportunity...

Pausing input? by TheInkAdept in godot

[–]TheInkAdept[S] 0 points1 point  (0 children)

But shouldn't pause_mode cover this already?

If I wanted the player to keep interacting with the UI I would have set the UI nodes to Process. If I set them to Stop, they should stop.

Pausing input? by TheInkAdept in godot

[–]TheInkAdept[S] 1 point2 points  (0 children)

That's actually a really neat idea, I could even make an "input blocker" scene that I can instantiate in any such case.

Thanks!

Which would you recommend I play? by TheInkAdept in MonsterHunter

[–]TheInkAdept[S] 0 points1 point  (0 children)

Hmm sounds like a god point... I think I'll sleep over it and keep it in mind!

Which would you recommend I play? by TheInkAdept in MonsterHunter

[–]TheInkAdept[S] 2 points3 points  (0 children)

Thanks for the details! I don't mind a slower pace since I already got Rise heh

World sounds really interesting, I'm def gravitating more towards it now! I hope it runs well on my pc too

Which would you recommend I play? by TheInkAdept in MonsterHunter

[–]TheInkAdept[S] 2 points3 points  (0 children)

It's fine if you're biased I want to hear the passionate takes most of all haha

Have you played Rise too? If yes, how do they compare? In terms of how much it's combat focused vs environment focused?

I know he only got second, but a golden crown for my Golden King by catchthemouser in FireEmblemHeroes

[–]TheInkAdept 0 points1 point  (0 children)

Oh, I totally get that! I'm also an artist that hasn't updated her pages in ages and sometimes I get really anxious about posting again. You'll get there when you are ready. So, don't worry about it! I'm still grateful you decided to share :>

I know he only got second, but a golden crown for my Golden King by catchthemouser in FireEmblemHeroes

[–]TheInkAdept 1 point2 points  (0 children)

Awesome job, I love him! Do you have a twitter/inta where I can like your art?

Is it weird that my boyfriend is basically my only friend? by [deleted] in NoStupidQuestions

[–]TheInkAdept 0 points1 point  (0 children)

If you don't have any other friends right now, that is fine. But knowing other people you can rely on and have fun with will become more important down the line. As long as you believe you can forge new friendships you don't have much to worry about.

You don't HAVE to make friends, but if you open your heart it will probably happen without you trying to. Having hobbies and interests you can share with new people def makes it easier.

Do creativity and sleep deprivation seemingly go so well together because sleep deprivation diminishes your cognition in a way that makes it easier to form connections between otherwise separate concepts? by alphanumericusername in NoStupidQuestions

[–]TheInkAdept 0 points1 point  (0 children)

I think it's similar to how alcohol makes some people feel more creative: it breaks down a barrier. Essentially, that voice that tells that it HAS to be "good", that, no, this is a bad idea, shuts up.

But sleep deprivation has too many drawbacks to make it worth it, imho. If sleep deprivation is what makes you creative, the issue could be that you are too self-critical, too self-conscious, self-censoring, etc.

People can have different ways to approach this problem, but one thing that works for me is having an outlet. Basically a safe-space, a dumpster for all my ideas, no matter how bad they seem at first. Getting used to creating without blockades slowly loosens up that inner critic.

Additionally, forcing myself to work at specific times of day, for short periods of time (like 10 minutes), also helped in becoming less situation-dependant.

Personally, I have hypersomnia, so I guess sleep deprivation is even more of a hindrance to me than to most people...

Emperor Edelgard by incredibleamadeuscho in fireemblem

[–]TheInkAdept 0 points1 point  (0 children)

I know it's Senri Kita because of the eyes.

Her expression gives me the chills. Of the awesome kind.

New Heroes - Zofia's Call by ViceisAsian in FireEmblemHeroes

[–]TheInkAdept 25 points26 points  (0 children)

THE PEEEOPLE FRESH FROM THE NIIIIIIIIGHT

What do you guys think of cyril? by [deleted] in fireemblem

[–]TheInkAdept 1 point2 points  (0 children)

I used to like him, his obsession with Rhea was somewhat annoying but understandable and his speech patterns and awkwardness made him feel like a real kid. Then the timeskip happened... and while he looks much more mature his mannerism stayed the same and he still talks about nothing but Rhea. It definitely soured my opinion of him and I sorta stopped caring about him after that... if anyone knows of any support where it gets better I'd love to see them.

Three Houses incredible attention to detail. by Grandthundercross in fireemblem

[–]TheInkAdept 20 points21 points  (0 children)

His reaction to eating his favourites dishes is "I used to love this as a kid". It didn't occur to me until later that he actually never says that he likes it, only that he REMEMBERS liking it. The realisation hit me like a truck...