Fair Fight
Fair Fight
  • 23
  • 55 631
Fundamentals to create a dueling enemy for a fighting game. ft. Godot
This is a subepisode for Enemies & AI series, a needed theory part before I'll be able to talk about practical implementations for our duel mirror fighter.
I'll discuss some intelligent machines fundamentals, then I'll suggest a structure to organize such a project with Godot.
There is no code for the episode, sadly, but it of course will be included in the second, practical, part.
Переглядів: 652

Відео

Roll dodge, shield block and finite spells in Godot
Переглядів 1,1 тис.Місяць тому
This is another video in-between Enemies & AI episodes. This is another evolution step for our controller base, moving us closer to the soulslike family. I created four new behaviours: roll dodge, shield block and blocking reaction (impact movement) and a spell with charges that can be restored with a separate animation. The second part of the video is about Godot 's tool scripts such as a simp...
Godorrors beyond my comprehension
Переглядів 503Місяць тому
Animations in animation libraries have make local (unique) to scene functional broken. Code changes don't help as well. No .duplicate() methods help. To workaround, you need to manually have different resources with same content, achievable with a tool script. RIP 5 hours of bug searching(. github.com/godotengine/godot/issues/82421
Godot animation layering pipelines for big games
Переглядів 1,3 тис.Місяць тому
Hi and welcome to a sudden video in controller series!) This video is an inbetween video in Enemies & AI series, as we will create a competent dueling opponent in the next episode. And to do that, we need some functional to be competent about, so our controller needs those roll, shoot, reload and block. And to have those animations, we'll need to create a pipelines for layering an animation on ...
Learn Godot workflows by recreating AAA bosses
Переглядів 1,9 тис.Місяць тому
Today we continue our enemies and AI series discussing an important topic for any action game. Bosses. As bosses usually have closed arenas and only several ai-input fields which are probably player's positioning data, they are fully covered by discrete AI algorithms for decision making. However, bosses in general, especially AAA ones, have much more moves and behaviour patterns that regular en...
Channel update, present and future
Переглядів 2902 місяці тому
Hello This is a small transitional video I'm including in the schedule due to delays in the next video production. In short, I created a Patreon page and Discord server. In the video I talk about tiers, rules and my general stance on patreon issue. Hop in, check it out and welcome!) Discord server link: discord.gg/AArGudRbPU Patreon page: www.patreon.com/FairFight
How to Godot about 95% enemies from action games
Переглядів 3,1 тис.2 місяці тому
In the second episode in Enemies&AI series we will discuss enemies of the lowest structural complexity and will learn to create them in Godot with best practices. Low structural complexity is by no mean a negative characteristic, as that enemies are the core of the whole genre of action games. If an enemy is updated in real time, and is existing primarily to hurt the player or to be hurt by the...
Godot, Enemies, Bosses, NPCs and AI buzzwords
Переглядів 1,2 тис.2 місяці тому
Welcome to the first video in Enemies and AI series! This episode on 80% consists of theory and design talk I want to do before exploring practical implementations. First part is devoted to defining what an enemy, or a game opponent in general even is. Then we'll quickly talk about technical terms and algorithms we'll need on our way, such as state machine (of course lmao), behaviour tree, GOAP...
Complex AAA combos in Godot, tutorial & pipeline
Переглядів 1,1 тис.3 місяці тому
In this short tutorial video our small project demonstrates ability to go instant-DMC, if only you have animation assets. Studio-made AAA fighting games often have long strikes series, sometimes for tens of moves in one combo line. However, there is no such a thing as "AAA list length" or "AAA praph complexity", anything data can be schemed on an A4 piece of paper. Its the assets quality and qu...
Post-start melee attack redirection in Godot | MM3
Переглядів 4963 місяці тому
In this short video we'll talk about ability to manipulate player with directional inputs while being locked in an animation. The topic itself isn't rocketscience, just process WASD in update while playing. But as always, I am aiming at maximizing scalability of my systems, so we ought to talk about directional input processing as a whole for a soulslike game, be it developed with or withot God...
Jump & Fall control for 3D character in Godot | MM2
Переглядів 4333 місяці тому
Today we are focused on becoming able to control the fate of the character during it's midair state. Finally we'll be able to jump on a step even when we started our jump vertically!) However, trying to peer down into the depths of rotating character and/or its velocity uncovers deep laying problems of underestimating WASD inputs importance for a 3D game. Relying on this being a series I want t...
Smoother turn movement for a Godot game | MM1
Переглядів 9693 місяці тому
First video of Mechanics Museum series, in this episode we'll talk about bringing a polished look to characters casual movement. Most Godot demos show the simplest WASD to vector approach, "if it moves, then it's a controller". Although this works for some time, sooner or later everyone will be bothered by their character sharp behaviour. Instant turns, limbs teleportation and impossible moment...
Advanced controller core for a 3D game in Godot
Переглядів 2,2 тис.3 місяці тому
This video is on a bit lazier side, it doesn't teach some mind-warping stuff, but instead overviews and summarizes several other videos while providing small channel update and a peak in the future. For the past month I worked to create the series about a 3D character controller that is capable of building advanced mechanics while being scalable, easily readable and supportable. It took 70 minu...
How to become 3d assets animator in 3 hours
Переглядів 3,7 тис.4 місяці тому
At first it seems that this video deviates from the channel previous theme - code centered indie game dev. But my channel theme is actually indie gamedev as a whole, and despite being code centric, sooner or later we'll need to face the dire need of custom assets. No bank can satisfy 100% of your animation needs, you will need to create or to buy them. In the past I thought education and creati...
Dealing with Godot's root motion bullshit once and for all
Переглядів 3,2 тис.4 місяці тому
In the last episode of my character controller series I did a mistake when implementing a small root motion feature. The whole situation threw me off guard, stained the reputation and ruined the end of a beautiful series. I wont reapload anything and will leave the stained video forever in that state, but I returned with the revenge. In this 4.5 episode I will extensively discuss Godot's root m...
AAA combat interactions for your Godot game
Переглядів 2,4 тис.4 місяці тому
AAA combat interactions for your Godot game
How to build AAA combat under 15 minutes in Godot
Переглядів 15 тис.4 місяці тому
How to build AAA combat under 15 minutes in Godot
Build your Godot characters like AAA titles do | Part 2
Переглядів 3,6 тис.5 місяців тому
Build your Godot characters like AAA titles do | Part 2
Use professional AAA practices in your Godot game NOW | Part I
Переглядів 5 тис.5 місяців тому
Use professional AAA practices in your Godot game NOW | Part I
Watch this before using AnimationTree
Переглядів 3,8 тис.5 місяців тому
Watch this before using AnimationTree
How to show something always on top | Godot 4
Переглядів 2785 місяців тому
How to show something always on top | Godot 4
Soulslike 3D Controller and Camera in Godot 4 | Part II: Target Locking
Переглядів 1,7 тис.5 місяців тому
Soulslike 3D Controller and Camera in Godot 4 | Part II: Target Locking
Soulslike 3D Controller and Camera in Godot 4 | Part I
Переглядів 1,1 тис.5 місяців тому
Soulslike 3D Controller and Camera in Godot 4 | Part I

КОМЕНТАРІ

  • @godofwrathyt7687
    @godofwrathyt7687 День тому

    Yo buddy please change the thumbnail 😢 You really shouldn't use the image of our goddes maa kali like that 😢 It's disgustingly disrespectful

  • @biki_02
    @biki_02 2 дні тому

    hey dude. Can you make the volume high when exporting the video because I had a hard time to understand too and watched it multiple times. And make it slower when visualizing the code part. That would help a lot. And later custom subtitles (not very important right now). This video series is gold and I'm hoping to see mobile touch input and custom controller series from you. I'm expecting a lot I guess. and can you extend this series to add shooting mechanics in it too! Also is there any better way you suggest to add multiple other animations like crouch in bottom body while aiming gun. There isn't many tutorials on youtube about godot still but such content like yours are off-key precious gem for godot community 🙃💖

  • @wsmeans
    @wsmeans 4 дні тому

    I'm coming to game dev from an OS and enterprise software background. I completely agree that most tutorials are way to focused on showing the shiny side of the features by any means necessary. There's kind of a "I'll clean that up tomorrow" mindset that a lot of soon-to-be-unhappy devs have. I used to have a sign over our bullpen that said "There Is No Tomorrow". Just do it right now, it's always faster than doing it quickly and wrong and refactoring later.

    • @PointDown
      @PointDown 4 дні тому

      @@wsmeans Yeah, I have a maybe-cringe philosophy of me-from-the-future being a different collegue with independent understanding of code and project status from today's me. Sounds strange, but hey, anyone who understands what they wrote a year ago without extensive comments may throw a rock at me).

  • @Talktodiv
    @Talktodiv 4 дні тому

    Why you used Indian god in thumbnail

    • @PointDown
      @PointDown 4 дні тому

      @@Talktodiv Well, I thought the vibe is suited, because with the technology disscussed in the video, out torso becomes independent from our legs and vice versa. Leading to a situation when potentially many behaviours from top part of the body can be combined with many behaviours from lower part of the body, and our controller getting an unparalleled freedom. What is sort of presented by the picture of indian gods, or at least that's my assotiation.

  • @davitdon2963
    @davitdon2963 5 днів тому

    Is it alright if you teach us how you made the res animations? I'm trying to get rokoko mocap animations, and import them to godot, and I'm confused on how to get passed "Some Animation Libraries were invalid" (I've imported an FBX skinless armature as a animation library, but now it isn't apart of [Global])

    • @PointDown
      @PointDown 5 днів тому

      @@davitdon2963 I never had such a problem, so I can't help you). Anyways, there is a discord channel of mine, with a better chat and ability to send picrures, I believe we can help you troubleshoot that. Another resource is my video about combos I believe, it's in the failed mechanics museum series, there I describe and show my pipeline for working with animations. Another thing that can help you is the recent video about splitting torso animations from legs animations, there I discuss methods to procedurally modify .res animations and doing it with import scripts. But still, that's all on the godot side, if you did something in 3d software that made your file "indigestible" by godot, I wouldn't be able to help. Only one extra advice with "power down and power up" vibes - try to use glb instead of fbx and see what will happen, maybe it's the godot's screwed up fbx importer.

  • @ElGabroVero
    @ElGabroVero 6 днів тому

    Hi! Thanks for all the amazing tutorials, Im learning so much from you. I would like a tutorial for weapon switching, im struggling with it

    • @PointDown
      @PointDown 6 днів тому

      @@ElGabroVero One day but not too soon. It's definitely on the list, but in a "when I run out of ideas" cathegory.

    • @ElGabroVero
      @ElGabroVero 5 днів тому

      @@PointDown You are so kind man! Thx for the answer!

  • @bimbom9712
    @bimbom9712 9 днів тому

    you are so valuable to this community, keep it up bro

  • @Safekidwtz
    @Safekidwtz 10 днів тому

    Very cool video. I discovered your channel a few weeks ago when searching for ideal character controller implementation in godot. I'm currently in the process of implementing it while adjusting to my custom pipelines. I wish your character controller series was narrated as well as this video, though 😅

    • @PointDown
      @PointDown 10 днів тому

      Well, I'm learning to youtube in the process :D. Maybe one day I'll get a chance to remaster them when Godot 5 hits several years later).

  • @SILICONELAKE
    @SILICONELAKE 15 днів тому

    Really great videos, keep up the great work!

  • @edzu2771
    @edzu2771 19 днів тому

    Do you think you'll tackle freeflow combat system eventually?

    • @PointDown
      @PointDown 19 днів тому

      I have trouble understanding the term. Quick google session showed some batman games, but I haven't played any. Do you have some concrete attributes to list? This way I'll be able to tell.

    • @edzu2771
      @edzu2771 19 днів тому

      @@PointDown the main attribute of it is that player's melee attacks have light aim assist, as if they were pulled by a magnetic invisible force towards the enemy. Like you know how locking mechanism works on many melee combat systems? In that systems all attacks are directed towards a target enemy and you circle around that target. But in freeflow combat system you can move around, rotate, run, jump in any direction, but when attacking an enemy, the system will use a raycast to check if there's a target in the direction you are pointing and direct the attack towards that target. If you are surrounded by 4 targets, if you direct your attack towards one of them, the raycast will detect it and play the attack animation towards that specific target. Other games that use it are Assassins creed series. Here's a link to a video that explains it with more technicality ua-cam.com/video/Y63C3wxnFwo/v-deo.html

    • @PointDown
      @PointDown 19 днів тому

      @@edzu2771 Aah, I see. Witchers have a similar system also. Neat idea, one video, eazy mechanic to implement, nice title to release, I am definitely writing it down. I'm now busy with enemies series for at least a month and several videos more, but after it ends I plan to release some singles, inverse kinematics, maybe camera, maybe your idea. I believe the transition to be smooth, as in latter videos of enemies series there will be an episode dedicated to crowd combat and the whole mechanic of "standing around dangerously but not killing the player".

    • @edzu2771
      @edzu2771 18 днів тому

      @@PointDown Yeah, Witcher as well as Shadow of Mordor have the same combat system. Honestly, I do like it, it feels more modern than the locking system. If you decide to eventually tackle it, I found a free resource that implements it in Unity; might be useful. ua-cam.com/video/p7uqAH6PrW0/v-deo.html

  • @SvenHeidemann-uo2yl
    @SvenHeidemann-uo2yl 20 днів тому

    Such an underrated channel. I am going to dig deep into your content, lots to learn. Thank you for your time and effort, really appreciated ❤️

  • @SvenHeidemann-uo2yl
    @SvenHeidemann-uo2yl 20 днів тому

    Your heavy accent makes it a bit hard to understand what ure saying, but you got the point across. Subbed, interesting topic. Do you consider sharing a demo, once you got something decent?

    • @PointDown
      @PointDown 20 днів тому

      @@SvenHeidemann-uo2yl Yup, of course, the next video will be about practical implementation of described concepts a I'll share the code.

  • @bimbom9712
    @bimbom9712 20 днів тому

    i don't usually comment on shit but i really wanted to let you know how valuable this channel has been for me beginning to learn good code architecture and practices, i hope you get the appreciation you deserve my brother

    • @PointDown
      @PointDown 20 днів тому

      Warms my heart, stranger, one day, one day).

  • @villainsgame9778
    @villainsgame9778 21 день тому

    ❤❤❤❤❤🎉🎉🎉🎉🎉🎉🎉🎉❤❤❤❤❤

  • @AgnisNeZvers
    @AgnisNeZvers 21 день тому

    I keep wondering how you came up with these solutions? I mean, what experience you had? State machines are my favorite love/hate topic :D I have experimented with many ways to go about it but Souls-like scale state machine would be riddled with problems but doable. Your solution seems the best one I've seen so far. But it's so multi-dimensional that even for me it's hard to fully grasp it just by watching.

    • @PointDown
      @PointDown 21 день тому

      @@AgnisNeZvers Hoi, Nezvers! Haven't seen you in a while, hi). Idk, I just brew abstractions untill I don't have "this is meh" feeling when I look at how my control flow cycles are looking. Also now I have a small community and a brewery channel in there, helps immensely, it saved me countless nerv cells during the torso dividing epos). Considering grasping the concepts, idk, I predict this video will gain little traction, and deservedly, because it's a fucking static tedtalk again showing nothing... But it's kinda here to not have the next vid a monstrocity, and there, with many examples, I think the concept will be illustrated quite nicely, mark my words).

    • @NeZversSounds
      @NeZversSounds 20 днів тому

      @@PointDown I watch every your video, not always from the same account ;)

  • @littlesmokie-p2z
    @littlesmokie-p2z 23 дні тому

    I like your approach for handling the animation and state together. however just a bit stuck on how you would handle 8 directional movement for diagonal and strafing? I don't think normally a souls like controller supports this behavior, however i did find myself in a little bit of a pickle if one wanted to achieve something like this without using an AnimationTree/Blendspace. I'm still playing around with it to see if i can pull it off. however what are your thoughts? how would you approach this problem? currently i'm trying to put all this logic in one 'move' state for right now to see if i can achieve it. but i have mixed results. nothing concrete.

    • @PointDown
      @PointDown 23 дні тому

      Souls have that strafing behaviour when camera is locked, so, supports, just isn't implemented by me :D. Your problem is in fact two problems in a trenchcoat: how to get to having 8 animations for movement and how to have a state with dynamic animation parameter. Aaaand... Let me be clear, the first problem I personally would solve with having 8 animations done for you. No matter what I tried, every time I experimented with blendspace2D to mix W and A movement animation into a WA strafing, I got a gibberish poopwalk of some sort. It seems theoretically it can work, but only if your animations aren't anim-stock-stolen, as mine, but carefully crafted together, synchronized and thought out for blending in advance. Which, if you can afford, I don't see why can't you afford another 4 animations for authentic diagonals to eliminate a need for blending altogether. If you, however, insist on using blendspace to synthesize your diagonal movements, the latter evolutionary stages of this controller have access to animation_tree technologies. We quickly dip a fingertip in there in a video about animation pipelines. I grew to hate this technology, but hey, it's blendspace compatible, so you might find it useful. Vid : ua-cam.com/video/Fsa2wxyQvzM/v-deo.html. Now with that out of the way, I assume we have an access to 8 animations. The second problem is actually easy AF, just refactor your animator calls a bit. Instead of direct call of animation_player.play("smth"), create a dedicated call in the animator - something like react_on_changes(). This method will be called when some piece of logic understands that the animation needs to be changed, but doesn't want to take the responsibility to change it (and that's right because it's the animator system's responsibility). Then just just call this method from your run state whenever input vector "changes type". One thing I'd also advise you to do in that case is to divide the input vector into two per-axis inputs, one for A-D and one for W-S. This will make your strafe type defining routine cleaner and you'll get an access to ellipse-type strafing family some rare games use, where your diagonal strafes don't have exact 45` angles between them, can be usefull for some mecha games etc. Then if you'll choose blenspace - think of something yourself, if you'll choose having 8 animations, I'd have a Dictionary of string:string pairs and entries like "W : run_forward", "WA : run_wa_strafe" - ie translated diagonal codes into animations names. Hope that helps ^_^.

  • @SAMURAI_l58
    @SAMURAI_l58 24 дні тому

    как обычно славянский акцент ,но ролики как всегда очень информативные и оч полезные🥰🥰🥰

  • @0ffcolour
    @0ffcolour Місяць тому

    Hi, do you plan to work on IK legs system?

    • @PointDown
      @PointDown 28 днів тому

      I do, but not in the nearest future, more like an idea to create a vid when there is nothing else to create. We got a huge update on IK part with 4.3 btw, skeleton position overwriting become eazier.

  • @choraboidotcom1022
    @choraboidotcom1022 Місяць тому

    This is absolute genius my friend, I am so grateful ❤

  • @villainsgame9778
    @villainsgame9778 Місяць тому

    Can you make States for camera

  • @RyuNoAniki
    @RyuNoAniki Місяць тому

    when calculating the camera rotation/offset (8:18) I keep getting the error "The axis Vector3 (0, 0, 0) must be normalized."

    • @PointDown
      @PointDown Місяць тому

      Vector (0,0,0) has no length and can't be used as an axis to drscribe rotation.

  • @KorathiHeatwave
    @KorathiHeatwave Місяць тому

    genius

  • @KorathiHeatwave
    @KorathiHeatwave Місяць тому

    man, you are a genius

  • @KommissarAlexander
    @KommissarAlexander Місяць тому

    Please correct what Miyazaki should have done in Elden Ring, and make the roll dodge a roll quickstep like in Bloodborne (or the Ash of War of same name)! 🙏 Fighting gods and monsters by rolling around on the floor is so goofy.

    • @PointDown
      @PointDown Місяць тому

      In my own game - sure!) I first started to question roll playing Witcher III, Geralt's sidestep was so smooth... But nice sidesteps need at least 3, but better 4 animations, and Mixamo doesn't have even one... Plus, you know, "sidestep" isn't so searched on youtube as a "soulslike" as a keyword. But I too love sidesteps more than rolls.

    • @lucapagano3685
      @lucapagano3685 Місяць тому

      Rolling is the ways of the gods

  • @mike_wake
    @mike_wake Місяць тому

    Love the Cheese Throw!

    • @PointDown
      @PointDown Місяць тому

      Damn... I didn't know I had a Cheese Throw here, but now I do, thank you, stranger. *unironically commits cheese_throw renaming*

  • @P1oN4ik
    @P1oN4ik Місяць тому

    Вжух! Новое видео! Супер, вечер перестает быть томным )

    • @PointDown
      @PointDown Місяць тому

      Свеженько с рендера, ток описание дописал, без запланированного релиза). Ну, отчасти, потому что релиз был запланирован, на 12.08 (-_ - ;)

  • @bessinblue1343
    @bessinblue1343 Місяць тому

    the goat is back at it Ive noticed with godot, if you choose to use %unique name on the skeleton, it still asks for armature + "bone name here" a lot of the time in script.

  • @thinkinggrin165
    @thinkinggrin165 Місяць тому

    I think there are 2 things: "AnimationLibrary" "Animation" (Animationtracks) Both can be unique. By making the AnimationLibrary unique, u are not making the allrdy existing content of the AnimationLibrary unique. What u want to do is save 2 copys of each animationtracks and assign copy_1 to AnimationLibrary_1, and copy_2 to AnimationLibrary_2

    • @thinkinggrin165
      @thinkinggrin165 Місяць тому

      For u're goal i would suggest another EXPERIMENTAL approach derived from: "Active Ragdoll / Physics Animations in Godot 4.0": ua-cam.com/video/0MHY2TDeMLM/v-deo.html In short for your case: 1 AnimationLibrary You have 3 rigs. - 1 rig doing the lower body-animation - 1 rig doing the upper body-animation - last rig with the character-mesh copying both rigs

    • @PointDown
      @PointDown Місяць тому

      The animations are unique two, they were manually clicked all before the library, and then the library itself was "for some reason". Idk actually if making library unique achieves something, isn't that just a dictionary? Anyways, I already achieved the split&save workflow you suggest via a tool script and already am editing the video on new controller evolution ^_^. I love the ragdoll video too, actually and often advise to watch it :D, but for now I think that's an overkill. For now I have a single skeleton, animations are split by bones, and we can finely adjust some bones positions with Skeleton3D methods for overriding the pose.

  • @netyimeni169
    @netyimeni169 Місяць тому

    damn this shit is up since September 2023....

  • @theyazzledazzle
    @theyazzledazzle Місяць тому

    This is exactly the problem I am having. I just want to be able to make the guy run and jump at the same time!

  • @theyazzledazzle
    @theyazzledazzle Місяць тому

    Just joined the patreon! I may not be able to be at the tier I am at forever, but I am glad to support while I can afford it!

  • @theyazzledazzle
    @theyazzledazzle Місяць тому

    I'm looking forward to this tutorial,. I'm new to Godot and getting my brain back into programming in general. <3

  • @scotmcpherson
    @scotmcpherson Місяць тому

    This needs a bug report, please submit one

    • @PointDown
      @PointDown Місяць тому

      It's a known issue, description contains the link. Sadly, as always, I found out after the time was lost).

    • @scotmcpherson
      @scotmcpherson Місяць тому

      @@PointDown I just submitted two PRs for an issue several people spent several days to solve without success. I feel your pain.

  • @Even-Steven
    @Even-Steven Місяць тому

    I commend your ability to see this through without losing your sanity. I would have thrown in the towel early on :)

  • @Thirdteenguy
    @Thirdteenguy Місяць тому

    You have to make the libraries unique, so the animation "make unique" works. Imo it should only require making the library unique

    • @PointDown
      @PointDown Місяць тому

      The libraries are unique in the project. It isn't named, but it was imported as a library, and named library is broken also.

    • @xgelos
      @xgelos Місяць тому

      ​​@@PointDownSorry, I somehow missed the part where you showed the library was unique. My animations were part of the dummy I had imported, so I just saved it as a file from the animation player that was automatically made. I should probably have mentioned that I loaded the resources and made both libraries unique, after that I made the running animation unique and then the changes I made didn't affect the other, you probably have to make both running animations unique if you don't want either to affect the base animations from the library. This probably shouldn't work like this, this is just what I found in the 10 min of testing I did.

  • @leotorres2121
    @leotorres2121 Місяць тому

    If you would have time to spare, there is one thing I’m curious about: if you were to implement a “toggled” Move ie. Crouching, etc. how would you integrate it into this Model architecture? Or would you expand the Model architecture to include a state-like enumeration, enabling “toggle” Moves? Your tutorials have more depth and utility than ANY other I’ve come across. Thank you so much for your knowledge and unique contribution to the community!

    • @PointDown
      @PointDown Місяць тому

      The system evolves in the 3d episode of the series, in which I talk more broadly about actions and interpretation layers, but short answer - if your crouch is toggleable, that means enter_crouch and exit_crouch are two different actions. Similar to the weapon action mapping (one button - attack, roll attack, plunge attack and several weapons), there can be a locomotion mapping, that maps crouch_toggle action into two different commands depending on the model state. This code is in model. Input just gets the toggle_crouch command and forwards it, model thinks. Thanks for the kind words ^_^.

  • @artsmit9545
    @artsmit9545 Місяць тому

    Oh man I didn't understand or implement code like you ,how can you think or implement logics

    • @PointDown
      @PointDown Місяць тому

      I mean, I just imagine the ideal way to do something in my opinion and look for ways to replicate.

  • @SAMURAI_l58
    @SAMURAI_l58 Місяць тому

    русский акцент? information was so useful

    • @PointDown
      @PointDown Місяць тому

      Русский акцент. Thanks!) :D

  • @batomow
    @batomow Місяць тому

    You could create an animation "mask" for the legs and torso in code: void track_set_enabled ( int track_idx, bool enabled ), Enables/disables the given track. Tracks are enabled by default. That way, you can avoid the task of having to manually disable the tracks in the editor. You can also save your animation from your player as an animation library and share it. Want to add an animation? Just add it in your arms player, save the changes, will automatically update in the second one. Apply the mask through code whenever you need to play the animation.

    • @PointDown
      @PointDown Місяць тому

      Yup, I'm currently working on it. There's a pit also, as animation and library is a resources, we cant enable and disable them in-resource, our changes are changing it. To make what you and I talk about, we need some sort of tool script, that will put an animation library into a player, but also will make it local before it applies track disabling changes. There is also a bug-based problem on this path: github.com/godotengine/godot/issues/82421

    • @batomow
      @batomow Місяць тому

      @@PointDown Oh wow I was unaware of the limitations. I've not yet reached this point in my own project, but now I feel motivated, Ill start looking into this problem too. Im rooting for you success.

    • @matheuslima4093
      @matheuslima4093 Місяць тому

      @@PointDown Just a thought I had reading your reply, but one way that could potentially solve it both ways would be to have an animation library be stored in a variable on the leg anim player (which would be the resource taken from the torso anim player) and the script would create a copy of the animation data into the leg anim player before applying the mask. That way you can still benefit from only having to change animations on one animation player (and not having to recopy it to the second one every time), but still have that mask be applied automatically. I'm not sure if this would be affected by that issue you mentioned, but since the second anim player would just be copying the data it got from another resource, maybe that could work (?). Still not an ideal pipeline, obviously, but might save some hassle even if it's pretty dirty, idk.

    • @PointDown
      @PointDown Місяць тому

      @@matheuslima4093 Yeah, basically it. I already solved that, first half of the solution is a custom PostImport script for saving torso and legs into different animations. And the second part is a one-time-run tool script for dividing an existing library into two libraries of split animations. My discord channel already has some code and I can't share pictures here, so you can check it out there. Or wait till the next video and I'll share it anyway with conventional methods of explain+github ^_^.

  • @C.S.Argudo
    @C.S.Argudo Місяць тому

    My algo cooking ngl

  • @TheThejokekid
    @TheThejokekid Місяць тому

    I think the cringe pipeline has potential honestly, maybe you could automatize the bone filtering when adding new animations by adding a script to the parent of the animation players, maybe it could have an export animation library which you would send down into every animation player while applying the filters which would also be an export on the manager node.

    • @PointDown
      @PointDown Місяць тому

      I actually secretly in love with it and it was my original idea when I saw the lengths I need to go to make blend tree work. I might go with it later, especially for face animations, if any, I just don't see how the standard blend tree can even withstand advanced facial animation. The way it needs to be done is yes, a custom import script, maybe something like a custom bone map that automatically skips, or better even, routes the bones to different animators depending on the bone name. And the pipeline then becomes the first pipeline with existing investments and best returns, making it a "plausible" in my book :D.

  • @gonderage
    @gonderage Місяць тому

    11:00 That is *exactly* what I feared doing for my DMC clone. I absolutely refuse to manually set up a bajillion node connections by hand!! >:[ 15:29 yoo im on the top right!!! :D

  • @bimbom9712
    @bimbom9712 Місяць тому

    THANK YOU !!!!!!

  • @coltr1
    @coltr1 Місяць тому

    I really wish the pipeline for 3d assets and animations was more streamlined in Godot

  • @Andserk
    @Andserk Місяць тому

    sorry if this has been asked before, I'm still figuring things out. the dilemma of root motion animations va in place scripted animations, are there limitations for any of them to implement them in a multiplayer environment? loving your videos, keep up the good work 💪

    • @PointDown
      @PointDown Місяць тому

      @@Andserk Idk about Godot's built-in multiplayer exactly and I kinda hate it. But in a vacuum, I don't see why the method you use for animations even plays any role in multiplayer. I am still biased towards the technologies I use, so I'll throw an argument for inplace animation: separated movement data. On a server things are often skipped, and your player very well can be just a sphere. That sphere "doesn't have a pose", it only has its movement data, which if stored separately, is already easily incorporated into algorithms.

  • @KucykoManiak
    @KucykoManiak Місяць тому

    Hey, so for some reason when trying to recreate your code for player's hitbox the resources keep returning null. Any idea why? I cross=referenced your code and tried to find an anwser on my own but to no avail.

    • @KucykoManiak
      @KucykoManiak Місяць тому

      It works perfectly fine with the enemy and the code is almost the same with just the class_name changed from EnemyResources to PlayerResources

    • @PointDown
      @PointDown Місяць тому

      Probably some strict typing. I tend to name my classes and type the field, and I also debated between several namings during the series. There are also some funny moments with Move class where I refactored it from player to humanoid and then changed my mind and refactored back :D.

  • @kardrasa
    @kardrasa Місяць тому

    this better help me or I'll cry

  • @Dark_N3bby
    @Dark_N3bby Місяць тому

    Here before you blow up 😂 thank you for the amazing video

  • @IkeyIlex
    @IkeyIlex Місяць тому

    I'm definitely gonna use this guide, this kind of thing would make my game feel so much better!

  • @marcomoscoso7402
    @marcomoscoso7402 Місяць тому

    Totally amazed by this video but the way it's structured and explained makes me think I can do it myself too!

    • @PointDown
      @PointDown Місяць тому

      You totally can and that was the goal of the video!)